ScummVM Documentation

Mar 05, 2021

GSOD Proposal

1 Objectives 1

2 The current situation 3

3 Fixing the problem 5 3.1 Suggested documentation structure...... 5 3.2 Plan of attack...... 6

4 Proposed timeline 9 4.1 Community bonding...... 9 4.2 Week 1...... 9 4.3 Week 2...... 9 4.4 Week 3...... 9 4.5 Week 4...... 10 4.6 Week 5...... 10 4.7 Week 6...... 10 4.8 Week 7...... 10 4.9 Week 8...... 11 4.10 Week 9...... 11 4.11 Week 10...... 11 4.12 Week 11...... 11

5 Quick start guide 13

6 PSP 15

7 Raspberry Pi 17 7.1 System requirements...... 17 7.2 Downloading and installing ScummVM...... 17 7.3 Loading games onto the Raspberry Pi...... 17 7.4 Adding games to ScummVM...... 18 7.5 Launching games...... 22

8 Game settings 23 8.1 Game tab...... 23 8.2 Graphics tab...... 23 8.3 Audio tab...... 24

i 8.4 Volume tab...... 25 8.5 MIDI tab...... 25 8.6 Paths tab...... 26

9 Global settings 27 9.1 Graphics tab...... 27 9.2 Audio tab...... 28 9.3 Volume tab...... 28 9.4 MIDI tab...... 28 9.5 Paths tab...... 29 9.6 Misc tab...... 30

10 Keyboard Shortcuts 31

11 The Launcher 35 11.1 The games list...... 36 11.2 Quick search...... 36 11.3 The buttons...... 36 11.4 The Global Main Menu...... 41

12 Command line interface 43 12.1 Launching ScummVM...... 43 12.2 Launching saved games...... 45 12.3 Examples...... 47

13 The configuration file 49 13.1 Location...... 49 13.2 Keywords...... 49 13.3 Example file...... 51

14 Graphic filters 53

15 Render modes 55

16 Welcome to ScummVM! 57 16.1 First steps...... 57 16.2 How do I. . . ?...... 57 16.3 Advanced features...... 58 16.4 Getting help...... 58 16.5 The ScummVM Project...... 58

ii CHAPTER 1

Objectives

1. To produce high-quality, versioned end user documentation by consolidating large amounts of information from disparate sources and re-writing information for clarity, consistency, and completeness. Documentation should be easy to understand for beginners, without being patronizing to tech-savvy users. 2. To create a documentation portal using a static-site generator. 3. To future-proof end user documentation by creating templates and detailed how-to instructions for future open contributors.

1 ScummVM Documentation

2 Chapter 1. Objectives CHAPTER 2

The current situation

• The available ScummVM documentation is spread across multiple sources. • Information is hard to find and often duplicated; it’s easy to get lost in obscure pages. • It’s hard to know what information is current, and what is out of date. • Some information is missing or incomplete.

3 ScummVM Documentation

4 Chapter 2. The current situation CHAPTER 3

Fixing the problem

3.1 Suggested documentation structure

Landing Page |-- Getting Started | `-- Quick start guide |-- Installing ScummVM | |-- 3DS | |-- AmigaOS | |-- Android | |-- (every) | |-- (common) | |-- (supported) | `-- (platform) |-- Using ScummVM | |-- The Launcher | |-- Global settings | |-- Game settings | `-- Keyboard shortcuts |-- Advanced options | |-- Cloud and LAN | |-- Control Mapping | |-- Configuration | |-- Command line options | |-- Graphics | `-- Music and sound |-- Help | |-- FAQ | |-- Contacts | |-- Known problems | `-- Reporting a bug `-- Release Notes

Getting started

5 ScummVM Documentation

New users often look for a quick start guide to get going as quickly as possible. While the install of ScummVM can be complex on some platforms, installing it onto a computer is not. The quickstart guide should cover the following: • How to install ScummVM onto Windows, Mac and . • How to load, add and launch a game. Installing ScummVM In cases where the install is not intuitive, or where the user may not have a strong technical base, the user needs a comprehensive guide for installing ScummVM on any of the supported platforms. Each comprehensive installation page should cover the following: • Any system requirements/prerequisites. • How to download the appropriate version of ScummVM. • How to install ScummVM. • How to load games onto the chose platform, especially where it is not the platform the game was designed for. • How to launch ScummVM, add a game, and launch a game. Using ScummVM Users need reference documents that explain how to use ScummVM. The reference documents should cover the following: • The Launcher interface; what each window and tab looks like as well as how they function. • An explanation of the available settings, both global and game-specific. • Keyboard shortcuts/hotkeys. Advanced options Advanced users need additional, more technical information about the options available to them for tweaking how their games run. Release notes While our documentation will be versioned, having a Release Notes section may be helpful to provide a summary of changes in the latest release. This may include some areas which are currently outside the scope of this documentation, such as newly supported games or information about new engines.

3.2 Plan of attack

I propose to start by creating a template for the Installing ScummVM pages, as that will be the easiest way for me to get the information I require from port maintainers/developers (especially where this information is scant or does not exist). I will pre-fill any information I already have from existing documentation, which can then be checked for completeness, accuracy, and currency, or added to as necessary. Next I will comb the existing documentation; README, wiki and website. As I go, I will re-write and add to each section as required and pull all the information into the new portal. I will also make note of what information is pulled from where, to ensure that once the portal is live there are no double-ups, contradictions, or other anomalies. Throughout, I will liaise with the mentor(s), developers, port maintainers, and any other subject matter experts to source any missing information, as well as ensuring each page is as up-to-date and comprehensive as possible.

6 Chapter 3. Fixing the problem ScummVM Documentation

In the spirit of collaboration and subject to approval from the mentor(s), I would like to have the work-in-progress portal accessible to the ScummVM community throughout the writing process, to receive real-time feedback and ensure nothing is missed along the way. I suggest using a style guide, such as the Google developer documentation style guide, to ensure consistency for this body of work and for all documentation moving forward. Wherever possible, I will use screenshots, gifs, and other visual aids to enhance understanding.

3.2. Plan of attack 7 ScummVM Documentation

8 Chapter 3. Fixing the problem CHAPTER 4

Proposed timeline

4.1 Community bonding

August 17 - September 13, 2020 • Continue to spend time talking to the mentor(s) and the wider ScummVM community to fine-tune the for the project and finalise details such as document structure and content.

4.2 Week 1

September 14 - September 20 • Create a template for the platform-specific installation pages. • Pre-fill the templates with any existing information and distribute to the appropriate port maintainers/developers for further information.

4.3 Week 2

September 21 - September 27 • Set up the new documentation portal.

4.4 Week 3

September 28 - October 4 • Using ScummVM: – The interface

9 ScummVM Documentation

– Global settings • Installing ScummVM: – Platform-specific installation guides as completed templates are returned to me.

4.5 Week 4

October 5 - October 11 • Using ScummVM: – Game settings – Keyboard shortcuts • Installing ScummVM: – Platform-specific installation guides as completed templates are returned to me

4.6 Week 5

October 12 - October 18 • Advanced options: – Cloud and LAN – Control Mapping • Installing ScummVM: – Platform-specific installation guides as completed templates are returned to me

4.7 Week 6

October 19 - October 25 • Advanced options: – Configuration – Command line options • Installing ScummVM: – Platform-specific installation guides as completed templates are returned to me

4.8 Week 7

October 26 - November 1 • Advanced options: – Graphics – Audio

10 Chapter 4. Proposed timeline ScummVM Documentation

• Installing ScummVM: – Platform-specific installation guides as completed templates are returned to me

4.9 Week 8

November 2 - November 8 • Help: – FAQ – Contacts • Installing ScummVM: – Platform-specific installation guides as completed templates are returned to me

4.10 Week 9

November 9 - November 15 • Help: – Reporting a bug • Installing ScummVM: – Finalize any platform guides not yet completed.

4.11 Week 10

November 16 - November 22 • Final editing, proofreading, and finalizing any portal related decisions such as sidebar navigation, theme/CSS tweaks etc. • Ensure all links work as expected. • Check images/gifs display correctly.

4.12 Week 11

November 23 - November 30 • Finalize any outstanding items and officially launch the portal! • Once the portal is launched, remove redundant information from other sources in consultation with the men- tor(s).

4.9. Week 8 11 ScummVM Documentation

12 Chapter 4. Proposed timeline CHAPTER 5

Quick start guide

13 ScummVM Documentation

14 Chapter 5. Quick start guide CHAPTER 6

PSP

This is a dummy page

15 ScummVM Documentation

16 Chapter 6. PSP CHAPTER 7

Raspberry Pi

7.1 System requirements

• Raspberry Pi running Raspberry Pi OS • Bluetooth or wired speaker (optional)

7.2 Downloading and installing ScummVM

Go to the Terminal and run the following on the command line. This downloads and installs the latest Raspberry OS compatible version of ScummVM: sudo apt update sudo apt install-y

To check that ScummVM has been installed correctly, run the following on the command line. This shows the installed version: scummvm-v

7.3 Loading games onto the Raspberry Pi

ScummVM needs access to the data files for each game. A comprehensive list of required data files for each game can be found on the ScummVM Wiki Datafiles page. ScummVM can run the game data files from any directory it has access to, including external media.

Note: For ease of use, you can create a dedicated games directory into which subdirectories containing game files can be copied. The resulting directory structure will look somewhat like this:

17 ScummVM Documentation

mygames |-- myfirstgame | |-- readme.txt | |-- firstgame.cpt | |-- firstgame.dnr | `-- firstgame.dsk `-- mysecondgame |-- secondgame.1c `-- readme.txt

For games on floppies or CDs: • If the data files are accessible, transfer these to the Raspberry Pi. • If the data files are not accessible, run the installer on the platform the game was designed for, and then transfer the files to the Raspberry Pi. For games downloaded from digital distributors such as GOG.com, , or from various sources sources: • Run the installer and transfer the files to the Raspberry Pi, or • If the data files are supplied as a .zip file, extract the archive. Archives can be downloaded directly onto the Raspberry Pi, as there is no need to run the installer.

Note: If data files need to be transferred from another device onto the Raspberry Pi, there are a number of options: • Using external media such as a hard-drive or USB stick • Using a Samba server or FTP

7.4 Adding games to ScummVM

1. From the Applications menu, select Games > ScummVM to open the Launcher window.

18 Chapter 7. Raspberry Pi ScummVM Documentation

2. In the Launcher window, click Add Game. This opens a file browser. To add multiple games at once, hold Shift while clicking Add Game.

7.4. Adding games to ScummVM 19 ScummVM Documentation

3. Use the file browser to locate the folder containing the game you wish to add. Double click on a folder to open it, and use Go up to go back up one level. 4. Once you have selected the folder that contains the data files, click Choose.

20 Chapter 7. Raspberry Pi ScummVM Documentation

5. A dialog opens to allow configuration of various settings for the game. These can be reconfigured at any time, but for now everything should work at the default settings. Click Ok.

7.4. Adding games to ScummVM 21 ScummVM Documentation

6. Added games are now ready to launch!

7.5 Launching games

There are two ways to launch a game; from the Launcher and from the command line. Launcher: • From the Applications menu, select Games > ScummVM to start the Launcher. • Select a game and click Start to play.

Command line: • To launch a game with no additional options, run scummvm followed by the game id. • To launch a game with options, run scummvm , followed by any desired options, and then the game ID. For more information, see the [Command line options](advanced/command_line) page. In the following example, Flight of the Amazon Queen will be launched in full screen:

scummvm-f queen

22 Chapter 7. Raspberry Pi CHAPTER 8

Game settings

Each game can be configured to run using settings other than the Global settings To open the game settings window, highlight a game in the main Launcher window, and click on Edit Game. This window also opens any time a game is added to the Launcher. There are many settings, and they are separated into tabs:

8.1 Game tab

Use the game tab to display and change information about how the game is identified by ScummVM.

Con- Description trol ID Shows the short name of the game. This ID can be used for launching the game from the command line. Name This field shows the full title of the game, as well as some basic information such as original platform and language. Lan- This option is only applicable to , Zak McKracken, The Dig, The Curse of , guage , 1, and 1 and 2. With the exception of Beneath a Steel Sky, Broken Sword 1, and multilanguage versions of Goblins games and Nippon Safes Inc., using this option does not change the language of the game, which is usually hardcoded, but rather is only used to select the appropriate font. For example, for a German version of a game, a font with umlauts. The Dig and The Curse of Monkey Island are another exception: the non-English versions of these games can be set to English, which only affect the language of subtitles. The game speech will remain the same. Plat- Specify the original platform of the game. form

8.2 Graphics tab

Use the graphics tab to change how the game looks when it is played.

23 ScummVM Documentation

Con- Description trol Over- Check this box to make the game use custom settings instead of global settings. ride global graphic set- tings Graph- Changes the graphic filter the game uses. This option has to be used to enable a graphic filter for a game ics with an original resolution higher than 320x200 or 320x240, because the corresponding global settings mode does not apply. See the graphic filters page Ren- Changes the render mode the game uses. See the Render Modes page. der mode As- Most games supported by ScummVM were designed to be played at a screen resolution of 320x200 using pect rectangular pixels (higher than they were wide). Most modern systems use square pixels, which means that ratio the image appears to be squeezed vertically and the characters look wider and shorter than they should. cor- If this option is checked, ScummVM corrects for this by stretching the game window to a resolution of rec- 320x240, which looks the same as 320x200 on old monitors. As with Graphic filters, this takes a little tion processing power to achieve. Aspect ratio correction can be combined with a Graphic filter. FullscreenSwitches between playing games in a window, or playing them in fullscreen mode. Switch between the mode two by using Alt+F5 while in a game.

8.3 Audio tab

Use the audio tab to change the sound output in the game. For more information about any of the audio settings, see the Music and sound page.

Control Description Override Check this box to make the game use custom settings instead of the global settings. global audio settings Music The method ScummVM uses to output MIDI music. For more details, see the section on music driver drivers. AdLib The emulator used by ScummVM to generate the music when the AdLib music driver is selected. Emulator Two emulators are currently available: MAME OPL emulator was the emulator that was used up to version 0.13.1, and the DOSBox OPL emulator has been added but is still experimental. Output The sample rate at which ScummVM plays sounds, including music if using an emulation music rate driver such as the AdLib music driver. Text and For games with digitized speech, setting allows the user to decide whether to play the game with Speech speech and without any subtitles, or with subtitles displaying the words spoken in the digitized speech but not the speech, or with both. Subtitle Adjusts the length of time that the subtitles are displayed on screen: the lower the speed is set, the speed longer the subtitles are displayed.

24 Chapter 8. Game settings ScummVM Documentation

8.4 Volume tab

Use the volume tab to set the relative volumes for various sounds in the game.

Control Description Override global Check this box to make the game use custom settings instead of the global ones. volume settings Music volume Adjusts the volume of the music played back in the game. This is usually MIDI music played back with one of the music drivers, but some games use digitized music. SFX volume Adjusts the volume of the sound effects within the game. Speech volume Adjusts the volume of the digitized speech in the game, if it has any. Mute All Mutes all sounds.

8.5 MIDI tab

Use the MIDI tab to change settings about the MIDI music in the game.

Con- Description trol Over- Check this box to make the game use custom settings instead of the global settings. ride global MIDI set- tings Sound- Some music drivers require you to provide them with a Soundfont, which contains samples of instruments font for the device to play back. This setting allows you to choose one. Mixed Some games contain sound effects that are exclusive to the AdLib soundtrack. For these games, you may AdLib/MIDIwish to use this mode in order to combine MIDI music with AdLib sound effects. mode True ScummVM will treat your device as a real MT-32. Because the instrument mappings and system exclusive Roland commands of the MT-32 vary from those of General MIDI devices, you should only enable this option if MT- you are using an actual Roland MT-32, LAPC-I, CM-64, CM-32L, CM-500, or GS device with an MT-32 32 map. (dis- able GM em- ula- tion) En- ScummVM will initialize your GS-compatible device with settings that mimic the MT-32’s reverb, (lack able of) chorus, pitch bend sensitivity, etc. If it is specified in conjunction with True Roland MT-32 (above), Roland ScummVM will select the MT-32-compatible map and drumset on your GS device. This setting works GS better than default GM or GS emulation with games that do not have custom instrument mappings (Loom Mode and The Secret of Monkey Island). You should only specify both settings if you are using a GS device that has an MT-32 map, e.g. SC-55, SC-88, SC-8820, etc. Please note that Roland GS Mode is automatically disabled in both and Sam & Max Hit the Road, since they use General MIDI natively. If neither of the above settings is enabled, ScummVM will initialize your device in General MIDI mode and use GM emulation in games with MT-32 soundtracks. MIDI Adjusts the relative volume of the general MIDI music. This is only supported by some of the music gain drivers.

8.4. Volume tab 25 ScummVM Documentation

8.6 Paths tab

Use the paths tab to tell ScummVM where to look for particular files of the game.

Con- Description trol Save The folder in which ScummVM will store the game’s saved games. If this is not set, the saved games Path will be stored in the default directory.

|Extra Path |This is the folder that ScummVM will look in for various extra files. These could include one or more of: Additional datafiles required for certain games (e.g. kyra.dat) Soundfonts (see MIDI tab) MT-32 ROMs (see MT-32 emulation)

|Game Path| The folder in which the game’s data files are stored.|

26 Chapter 8. Game settings CHAPTER 9

Global settings

Games will follow the global game settings unless game-specific settings are applied. To open the global settings window, click Options in the main Launcher window. There are many settings, and they are separated into tabs:

9.1 Graphics tab

Use the graphics tab to change how games look when they are played.

Con- Description trol Graph-Changes the graphics filter that ScummVM uses, for example, to scale the game to a higher resolution. The ics option has no effect on games with an original resolution higher than 320x200 or 320x240. Such games mode should be configured separately. See the Graphics filterspage. Ren- Changes the render mode that ScummVM uses. See the Render modespage. der mode As- Most games supported by ScummVM were designed to be played at a screen resolution of 320x200 using pect rectangular pixels (higher than they were wide). Most modern systems use square pixels, which means that ra- the image appears to be squeezed vertically and the characters look wider and shorter than they should. tio If this option is checked, ScummVM corrects for this by stretching the game window to a resolution of cor- 320x240, which looks the same as 320x200 on old monitors. As with Graphic filters, this takes a little rec- processing power to achieve. Aspect ratio correction can be combined with a Graphic filter. tion FullscreenSwitches between playing games in a window, or playing them in fullscreen mode. Switch between the two mode by using Alt+Enter while in a game.

27 ScummVM Documentation

9.2 Audio tab

Use the audio tab to change the sound output for games. For more information about any of the audio settings, see the Music and sound page.

Con- Description trol Mu- The method that ScummVM uses to output MIDI music. sic driver AdLib The emulator used by ScummVM to generate the music when the AdLib music driver is selected. Two Emu- emulators are currently available: MAME OPL emulator was the emulator that was used up to version lator 0.13.1, and the DOSBox OPL emulator has been added, but is still experimental. Out- The sample rate at which ScummVM plays sounds, including music if using an emulation music driver put such as the AdLib music driver). rate Text For games with digitized speech, this setting allows the user to decide whether to play the game with and speech and without any subtitles, or with subtitles displaying the words spoken in the digitized speech but Speech not the speech, or with both. Sub- Adjusts the length of time that the subtitles are displayed on screen. The lower the speed is set, the longer title the subtitles are displayed. speed

9.3 Volume tab

Use the volume tab to set the relative volumes for various sounds.

Control Description Music Adjusts the volume of the music played back in games. This is usually MIDI music played back with volume one of the music drivers, but some games use digitized music. SFX vol- Adjusts the volume of the sound effects within the games. ume Speech Adjusts the volume of the digitized speech in the game, if it has any. volume Mute All Mutes all sounds.

9.4 MIDI tab

Use the MIDI tab to change settings about the MIDI music.

28 Chapter 9. Global settings ScummVM Documentation

Con- Description trol Sound- Some music drivers require you to provide them with a Soundfont, which contains samples of instruments font for the device to play back. This setting allows you to choose one. Mixed Some games contain sound effects that are exclusive to the AdLib soundtrack. For these games, you may AdLib/MIDIwish to use this mode in order to combine MIDI music with AdLib sound effects. mode True ScummVM will treat your device as a real MT-32. Because the instrument mappings and system exclusive Roland commands of the MT-32 vary from those of general MIDI devices, you should only enable this option if MT- you are using an actual Roland MT-32, LAPC-I, CM-64, CM-32L, CM-500, or GS device with an MT-32 32 map. (dis- able GM em- ula- tion) En- ScummVM will initialize your GS-compatible device with settings that mimic the MT-32’s reverb, (lack able of) chorus, pitch bend sensitivity, etc. If it is specified in conjunction with True Roland MT-32 (above), Roland ScummVM will select the MT-32-compatible map and drumset on your GS device. This setting works GS better than default GM or GS emulation with games that do not have custom instrument mappings (Loom Mode and The Secret of Monkey Island). You should only specify both settings if you are using a GS device that has an MT-32 map, e.g. SC-55, SC-88, SC-8820, etc. Please note that Roland GS Mode is automatically disabled in both Day of the Tentacle and Sam & Max Hit the Road, since they use General MIDI natively.If neither of the above settings is enabled, ScummVM will initialize your device in General MIDI mode and use GM emulation in games with MT-32 soundtracks. MIDI Adjusts the relative volume of the general MIDI music. This is only supported by some of the music gain drivers.

9.5 Paths tab

Use the paths tab to tell ScummVM where to look for particular files.

Control Description

|Save Path| The default folder in which ScummVM will store saved games. If this is not set, saved games will generally be stored in the current directory. Exceptions to this include: Windows Vista and up \Users\username\AppData\Roaming\ScummVM\Saved games\ Windows 2000 and XP \Documents and Settings\username\Application Data\ScummVM\Saved games\ Mac OS X $HOME/Documents/ScummVM Savegames/ other UNIX variants $HOME/.scummvm/ iPhone /private/var/mobile/Library/ScummVM/Savegames

9.5. Paths tab 29 ScummVM Documentation

|Extra Path |This is the folder that ScummVM will look in for various extra files. These could include one or more of: Additional datafiles required for certain games (e.g. kyra.dat) Soundfonts (see MIDI tab) MT-32 ROMs (see MT-32 emulation)

|Theme Path |The folder that additional themes for the ScummVM Launcher are stored in|

9.6 Misc tab

The Misc tab contains options that don’t belong on any of the other tabs.

Con- Description trol Theme Changes the visual appearance of the ScummVM Launcher GUI Defines how the ScummVM GUI is rendered; normal or antialiased. Ren- derer Au- In some games (namely Beneath a Steel Sky, Flight of the Amazon Queen, and all SCUMM games), Adjusts tosave the time period that ScummVM waits between autosaves. The default setting is 5 minutes. Note that this is only available in some games (Beneath a Steel Sky, Flight of the Amazon Queen, and all SCUMM games)

30 Chapter 9. Global settings CHAPTER 10

Keyboard Shortcuts

ScummVM supports various in-game keyboard shortcuts.

Note: Using Ctrl+f or Ctrl+g is not recommended. Games can crash when being run faster than their normal speed, as scripts will lose synchronisation.

Common:

Ctrl+F5- Displays the Global Menu Cmd+- Quit (Mac OS X) Ctrl+q- Quit (other unices including Linux) Alt+F4- Quit (Windows) Ctrl+z- Quit (other platforms) Ctrl+u- Mute all sounds Ctrl+m- Toggle mouse capture Ctrl+Alt1-8- Switch between graphics filters Ctrl+Alt+ and -- Increase/Decrease the scale factor Ctrl+Alt a- Toggle aspect-ratio correction on/off Most of the games use a 320x200 pixel resolution, which may look squashed on modern monitors. Aspect-ratio correction stretches the image to use 320x240 pixels instead, or a multiple thereof Ctrl+Alt f- Enable/disable graphics filtering Ctrl+Alt s- Cycle through scaling modes Alt+Enter- Toggles full screen/windowed Alt+s- Make a screenshot (SDL backend only) Ctrl+F7- Open virtual keyboard ( if enabled) This can also be triggered by a long press of the middle mouse button or wheel.

SCUMM games:: Alt+x - Quit Ctrl 0-9 and Alt 0-9 - Load and save game state Ctrl+d - Starts the debugger Ctrl+f - Toggle fast mode Ctrl+g - Runs in really REALLY fast mode Ctrl+t - Switch between ‘Speech only’, ‘Speech and Subtitles’ and ‘Subtitles only’

31 ScummVM Documentation

Tilde (~) - Show/hide the debugging console [ and ] - Music volume, down/up - and + - Text speed, slower/faster F5 - Displays a save/load box Alt+F5 - Displays the original save/load box, if the game has one. You can save and load games using this, however it is not intended for this purpose, and may even crash ScummVM in some games. Space - Pauses Period (.) - Skips current line of text in some games Enter - Simulate left mouse button press Tab - Simulate right mouse button press Beneath a Steel Sky:

Ctrl+d- Starts the debugger Ctrl+f- Toggle fast mode Ctrl+g- Runs in really REALLY fast mode F5- Displays a save/load box Escape- Skips the game intro Period (.)- Skips current line of text

Blade Runner:

Ctrl+d- Starts the debugger Space- Toggle combat mode Enter or Escape- Skips a video or a line of dialogue Escape- Show game menu Tab- Activate last database F1- Online help F2- Save game menu F3- Load game menu F4- Crime scene database F5- Suspect database F6- Clue database F10- Quit game

Broken Sword:

F5 or Escape- Displays save/load box

Broken Sword II:

Ctrl+d- Starts the debugger Ctrl+f- Toggle fast mode p- Pauses

Dragon History:: F5 - Displays the Global Menu left click - Walk, explore right click - Use, talk move mouse up, i - Inventory move mouse down, m - Map Escape - Skip the intro, exit map/inventory any click - Skip the currently dubbed sentence q - Quick walking on/off Flight of the Amazon Queen:

Ctrl+d- Starts the debugger Ctrl+f- Toggle fast mode F1- Use Journal (saving/loading) F11- Quicksave F12- Quickload Escape- Skips Space- Skips current line of text

Future Wars:: F1 - Examine F2 - Take F3 - Inventory F4 - Use F5 - Activate F6 - Speak F9 - “Activate” menu F10 - “Use” menu Escape - Bring on command menu

32 Chapter 10. Keyboard Shortcuts ScummVM Documentation

Indiana Jones and the Fate of Atlantis: i- Displays IQ points

Indiana Jones and the Last Crusade: i- Displays IQ points

Nippon Safes:

Ctrl+d- Starts the debugger l- Load game s- Save game

Simon the Sorcerer 1 and 2:: Ctrl 0-9 and Alt 0-9 - Load and save game state Ctrl+d - Starts the debugger Ctrl+f - Toggle fast mode F1 - F3 - Text speed, faster - slower F10 - Shows all characters and objects you can interact with Escape - Skip cutscenes - and + - Music volume, down/up m - Music on/off s - Sound effects on/off b - Back- ground sounds on/off [Simon the Sorcerer 2 only] Pause - Pauses t - Switch between speech only and combined speech and subtitles [Simon the Sorcerer 1 CD (other than English and German) and Simon the Sorcerer 2 CD (all languages)] v - Switch between subtitles only and combined speech and subtitles [Simon the Sorcerer 2 CD only] Simon the Sorcerer’s Puzzle Pack:

Ctrl+d- Starts the debugger Ctrl+f- Toggle fast mode F12- High speed mode on/off in Swampy Adventures - and +- Music volume, down/up m- Music on/off s- Sound effects on/off Pause- Pauses

Starship Titanic:

Ctrl+- Open up the developer's cheat room Ctrl+d- Open up the ScummVM Debugger Left click- Move action Shift-Left click- Edit room glyph chevrons and quick movement transitions Right click- Edit room glyph chevrons and quick transitions Mouse wheel- Scroll through items (inventory, etc) and conversation log Arrow keys- Movement. Down arrow/back is only available if the given view explicitly has a backwards movement available. F1- Switch to Chat-O-Mat F2- Switch to Personal Baggage F3- Switch to Remote Thingummy F4- Switch to Designer Room Numbers (chevron list) F5- GMM save menu (continues on next page)

33 ScummVM Documentation

(continued from previous page) F6- Switch to Real Life F7- GMM restore menu

Starship Titanic (Starfield Puzzle):

Tab- Toggle between starmap and skyscape Mouse click:- skyscape star selection and starmap star fast travel Mouse movement- starmap orientation SPACE- starmap stop movement z- starmap turn left x- starmap turn right Single quote (') - starmap turn up Forward slash (/)- starmap turn down Semicolon (;)- starmap move forward Period (.)- starmap move backward l- starmap lock coordinate d- starmap unlock coordinate

The Feeble Files:

Ctrl+d- Starts the debugger Ctrl+f- Toggle fast mode F7- Switch characters F9- Hitbox names on/off s- Sound effects on/off Pause- Pauses t- Switch between speech only and combined speech and subtitles v- Switch between subtitles only and combined speech and subtitles

The Legend of Kyrandia:

Ctrl0-9 and Alt0-9- Load and save game state Ctrl-d- Starts the debugger

TeenAgent:: F5 - Displays the Global Menu Touche: The Adventures of the Fifth Musketeer:

Ctrl+f- Toggle fast mode F5- Displays options F9- Turn fast walk mode on F10- Turn fast walk mode off Escape- Quit Space- Skips current line of text t- Switch between'Voice only', 'Voice and Text' and 'Text only'

Zork: Grand Inquisitor:: Ctrl+s - Save Ctrl+r - Restore Ctrl+q - Quit Ctrl+p - Preferences F1 - Help F5 - Inventory F6 - Spellbook F7 - Score F8 - Put away current object/forget spell F9 - Extract coin (must have the coin bag) Space - Skips movies Nemesis: The Forbidden Lands:: Ctrl+s - Save Ctrl+r - Restore Ctrl+q - Quit Ctrl+p - Preferences Space - Skips movies

34 Chapter 10. Keyboard Shortcuts CHAPTER 11

The Launcher

The main ScummVM window is called the Launcher. The Launcher opens whenever you start ScummVM without launching a game directly.

35 ScummVM Documentation

11.1 The games list

The pane on the left lists the games you have added to ScummVM. This list usually offers some additional information about each game, such as original platform and language. To highlight any game on the list, type the first letter(s) of its title, or click on it.

11.2 Quick search

Quick search allows you to filter the list of added games. The quick search input is located at the top of the page next to the magnifying glass icon. The filter is applied as you type, and is not case sensitive. To clear the filter, press the C button next to the input box. There are many ways to filter games. For instance, you can type “Monkey Island” to quickly locate all “Monkey Island” games on the list, or you can type “German” if you wish to play a game in German.

11.3 The buttons

To the right of the games list there are a number of buttons. Their functions are as follows:

36 Chapter 11. The Launcher ScummVM Documentation

11.3.1 Start

Launches the highlighted game.

11.3.2 Load

Opens the Load window, from which you can run a previously saved state without having to start the game first. The pane on the left displays a list of your saved states. Click on a saved state to highlight it. On the right, information about the highlighted state such as timestamps, screenshots and playtime is displayed. When you have located the desired saved game: • Click Load to launch the game using that state. • Click Delete to delete the saved state.

Caution: There are games that do not support this feature at all, or whose saved states lack information such as playtime or screenshots.

11.3. The buttons 37 ScummVM Documentation

11.3.3 Add Game

Opens a file browser. Use this file browser to locate the folder containing the game you wish to add. Double click on a folder to open it, and use Go up to go back up one level. Once you have selected the folder that contains the game data files, click Choose. To add more than one game at a time, hold Shift while clicking Add Game

38 Chapter 11. The Launcher ScummVM Documentation

11.3.4 Edit Game

Opens the game settings window. This window also opens whenever a game is added from the Launcher. Use this window to configure a game individually by overriding the default global game settings you have set via the Options window. You can also change the game’s language and original platform, if applicable. For more information, see the Game settings page.

11.3.5 Remove Game

Removes the highlighted game from the list.

11.3. The buttons 39 ScummVM Documentation

11.3.6 Options

Opens the global settings window. Use this window to define global game settings, as well as change a number of the ScummVM Launcher settings. For more details on how to fine-tune ScummVM, see the Global settings page.

11.3.7 About

Shows credits and miscellaneous information about your version of ScummVM.

11.3.8 Quit

Closes the Launcher and quits the ScummVM application.

40 Chapter 11. The Launcher ScummVM Documentation

11.4 The Global Main Menu

The Global Menu (or GMM for Global Main Menu) is available while playing any game by pressing Crtl + F5, and provides the following features: • Resume: Closes the GMM and resume the game. • Load: Loads a game state. This is not available for all games. • Save: Saves a game state. This is not available for all games. • Options: Changes some options to play the game, such as music volume or subtitle speed. • About: Displays the ScummVM About box. This is also available from the The Launcher. • Help: Displays a list of key commands. This not available in all engines. • Return to Launcher: Quits the game and returns to The Launcher. This is not available in all engines. • Quit: Quits the game and ScummVM, and returns to the .

Caution: In some games you can still access the original game menu by using Alt`+:kbd:`F5. You can save and load games using this, however it is not intended for this purpose, and may even crash ScummVM in some games.

11.4. The Global Main Menu 41 ScummVM Documentation

42 Chapter 11. The Launcher CHAPTER 12

Command line interface

12.1 Launching ScummVM

12.1.1 Usage scummvm[OPTIONS][GAME]

12.1.2 [GAME]

[GAME] is the game id of the game you wish to launch. For example, ‘monkey’ for Monkey Island. The game id may be the default game id, or a user configured id set either directly in the game-specific section of the configuration file or in the Launcher game settings window.

12.1.3 [OPTIONS]

[OPTIONS] refers to any of the following options:

-v, --version Display ScummVM version information and exit -h, --help Display a brief help text and exit -z, --list-games Display list of supported games and exit -t, --list-targets Display list of configured targets and exit --list-saves=TARGET Display a list of saved games for the game(TARGET) specified -a, --add Add all games from current or specified directory. If --game=ID is passed only the game with id ID is added.

˓→See also --detect Use --path=PATH before -a, --add to specify a directory. --detect Display a list of games with their ID from current or specified directory without adding it to the config. Use --path=PATH before --detect to specify a directory. (continues on next page)

43 ScummVM Documentation

(continued from previous page) --game=ID In combination with --add or --detect only adds or attempts

˓→to detect the game with id ID. --auto-detect Display a list of games from current or specified directory and start the first one. Use --path=PATH before --auto-

˓→detect to specify a directory. --recursive In combination with --add or --detect recurse down all

˓→subdirectories

-c, --config=CONFIG Use alternate configuration file -p, --path=PATH Path to where the game is installed -x, --save-slot[=NUM] Save game slot to load(default: autosave) -f, --fullscreen Force full-screen mode -F, --no-fullscreen Force windowed mode -g, --gfx-mode=MODE Select graphics scaler(1x,2x,3x,2xsai,super2xsai, supereagle,advmame2x,advmame3x,hq2x,hq3x,tv2x, dotmatrix) --filtering Force filtered graphics mode --no-filtering Force unfiltered graphics mode --gui-theme=THEME Select GUI theme --themepath=PATH Path to where GUI themes are stored --list-themes Display list of all usable GUI themes -e, --music-driver=MODE Select music driver(see README for details) --list-audio-devices List all available audio devices -q, --language=LANG Select language(en,de,fr,it,pt,es,jp,zh,kr,se,gb, hb,ru,cz) -m, --music-volume=NUM Set the music volume,0-255(default: 192) -s, --sfx-volume=NUM Set the sfx volume,0-255(default: 192) -r, --speech-volume=NUM Set the speech volume,0-255(default: 192) --midi-gain=NUM Set the gain for MIDI playback,0-1000(default: 100)(only supported by some MIDI drivers) -n, --subtitles Enable subtitles(use with games that have voice) -b, --boot-param=NUM Pass number to the boot script(boot param) -d, --debuglevel=NUM Set debug verbosity level --debugflags=FLAGS Enable engine specific debug flags (separated by commas) --debug-channels-only Show only the specified debug channels -u, --dump-scripts Enable script dumping if a directory called 'dumps' exists in the current directory

--cdrom=DRIVE CD drive to play CD audio from; can either be a drive, path, or numeric index(default:0= best choice drive) --joystick[=NUM] Enable joystick input(default:0= first joystick) --platform=WORD Specify platform of game(allowed values: 2gs, 3do, acorn, , , c64, fmtowns, nes, mac, pc, pc98, pce, segacd, , windows) --savepath=PATH Path to where saved games are stored --extrapath=PATH Extra path to additional game data --soundfont=FILE Select the SoundFont for MIDI playback(only supported by some MIDI drivers) --multi-midi Enable combination AdLib and native MIDI --native-mt32 True Roland MT-32(disable GM emulation) --enable-gs Enable Roland GS mode for MIDI playback --output-rate=RATE Select output sample rate in Hz(e.g. 22050) --opl-driver=DRIVER Select AdLib(OPL) emulator(db, mame) (continues on next page)

44 Chapter 12. Command line interface ScummVM Documentation

(continued from previous page) --aspect-ratio Enable aspect ratio correction --render-mode=MODE Enable additional render modes(hercGreen, hercAmber, cga, ega, vga, amiga, fmtowns, pc9821, pc9801, 2gs, atari, )

--alt-intro Use alternative intro for CD versions of Beneath a Steel Sky and Flight of the Amazon Queen --copy-protection Enable in SCUMM games, when ScummVM disables it by default. --talkspeed=NUM Set talk speed for games(default: 60) --demo-mode Start demo mode of Maniac Mansion or --tempo=NUM Set music tempo( in percent, 50-200) for SCUMM games (default: 100) --dimuse-tempo=NUM Set internal Digital iMuse tempo(10- 100) per second (default: 10)

The meaning of most long options, which are those options starting with a double-dash, can be inverted by prefixing them with no-. For example, --no-aspect-ratio will turn aspect ratio correction off. This is useful if you want to override a setting in the configuration file.

12.2 Launching saved games

12.2.1 –list-saves

This option is used to display a list of the current saved games of the specified target game and the corresponding save slots.

Usage scummvm --list-saves=TARGET

Engines which currently support --list-saves are: • AGI • AGOS • BLADERUNNER • CGE • CINE • CRUISE • CRYOMNI3D • DRACI • GROOVIE • HUGO • KYRA • LURE • MOHAWK

12.2. Launching saved games 45 ScummVM Documentation

• PARALLACTION • QUEEN • SAGA • SCI • SCUMM • SKY • SWORD1 • SWORD2 • TEENAGENT • TINSEL • TITANIC • TOON • TOUCHE • TSAGE • TUCKER • ZVISION

12.2.2 –save-slot

This option is used to load a saved game directly from the command line.

Usage

--save-slot[SLOT] or -x[SLOT], where [SLOT] is the save slot number. Engines which currently support --save-slot are: • AGI • BLADERUNNER • CGE • CINE • CRUISE • CRYOMNI3D • DRACI • GROOVIE • HUGO • KYRA • LURE • MOHAWK • QUEEN

46 Chapter 12. Command line interface ScummVM Documentation

• SAGA • SCI • SCUMM • SKY • SWORD1 • SWORD2 • TEENAGENT • TINSEL • TITANIC • TOON • TOUCHE • TSAGE • TUCKER • ZVISION

12.3 Examples

12.3.1 ** Windows **

Running Monkey Island, fullscreen, from a hard disk:

C:\Games\LucasArts\scummvm.exe -f -pC:\Games\LucasArts\monkey\monkey

Running Full Throttle from CD, fullscreen and with subtitles enabled:

C:\Games\LucasArts\scummvm.exe -f -n -pD:\resource\ft

12.3.2 ** Unix **

Running Monkey Island, fullscreen, from a hard disk:

/path/to/scummvm -f -p/games/LucasArts/monkey/monkey

Running Full Throttle from CD, fullscreen and with subtitles enabled:

/path/to/scummvm -f -n -p/cdrom/resource/ft

12.3. Examples 47 ScummVM Documentation

48 Chapter 12. Command line interface CHAPTER 13

The configuration file

13.1 Location

The configuration file saves to different default locations depending on the platform on which you are running Scum- mVM. | Platform| Config File Path| |-|-| | Most settings are also accessible directly from the Launcher. To edit global settings, click Options. To edit game- specific settings, highlight a game and then click Edit Game. For more information, see the global settings and game settings pages.

13.2 Keywords

There are many recognized configuration keywords: path string The path to where a game's data files are autosave_period number The seconds between autosaving (default: 300) save_slot number The saved game number to load on startup. savepath string The path to where a game will store its saved games. screenshotpath string The path to where screenshots are saved. iconpath string The path to where to look for icons to use as overlay for the ScummVM icon in the Windows taskbar or macOS X Dock when running a game. The icon files should be named after the game ids and be in ico format on Windows or png format on macOS X. versioninfo string The version of the ScummVM that created the configuration file.

(continues on next page)

49 ScummVM Documentation

(continued from previous page) gameid string The real id of a game. Useful if you have several versions of the same game, and want different aliases for them. See the example. description string The description of the game as it will appear in the launcher. language string Specify language (en, us, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, cz, ru) speech_mute bool If true, speech is muted subtitles bool Set to true to enable subtitles. talkspeed number Text delay in SCUMM games, or text speed in other games. fullscreen bool Fullscreen mode aspect_ratio bool Enable aspect ratio correction gfx_mode string Graphics mode (normal,2x,3x,2xsai, super2xsai, supereagle, advmame2x, advmame3x, hq2x, hq3x, tv2x, dotmatrix, opengl) filtering bool Enable graphics filtering confirm_exit bool Ask for confirmation by the user before quitting (SDL backend only). console bool Enable the console window (default: enabled) (Windows only). cdrom number Number of CD-ROM unit to use for audio. If negative, don't even try to access the CD-ROM. joystick_num number Number of joystick device to use for input controller_map_db string A custom controller mapping file to load to complete default database (SDL backend only). Otherwise, file gamecontrollerdb.txt will be loaded from extrapath. music_driver string The music engine to use. opl_driver string The AdLib (OPL) emulator to use. output_rate number The output sample rate to use, in Hz. Sensible values are 11025, 22050 and 44100. audio_buffer_size number Overrides the size of the audio buffer. The value must be one of: 256 512 1024 2048 4096 8192 16384 32768. The default value is calculated based on the output_rate to keep audio latency below 45ms. alsa_port string Port to use for output when using the ALSA music driver. music_volume number The music volume setting (0-255) multi_midi bool If true, enable combination AdLib and native MIDI. soundfont string The SoundFont to use for MIDI playback. (Only supported by some MIDI drivers.) native_mt32 bool If true, disable GM emulation and assume that there is a true Roland MT-32 available. enable_gs bool If true, enable Roland GS-specific features to enhance GM emulation. If native_mt32 is also true, the GS device will select an MT-32 map to play the correct instruments. sfx_volume number The sfx volume setting (0-255) tempo number The music tempo (50-200) (default: 100) speech_volume number The speech volume setting (0-255) midi_gain number The MIDI gain (0-1000) (default: 100) (Only (continues on next page)

50 Chapter 13. The configuration file ScummVM Documentation

(continued from previous page) supported by some MIDI drivers.) copy_protection bool Enable copy protection in certain games, in those cases where ScummVM disables it by default. demo_mode bool Start demo in Maniac Mansion alt_intro bool Use alternative intro for CD versions of Beneath a Steel Sky and Flight of the Amazon Queen boot_param number Pass this number to the boot script

13.3 Example file

[scummvm] gfx_mode=supereagle fullscreen=true savepath=C:\saves\

[sky] path=C:\games\SteelSky\

[germansky] gameid=sky language=de path=C:\games\SteelSky\ description=Beneath a Steel Sky w/ German subtitles

[germandott] gameid=tentacle path=C:\german\tentacle\ description=German version of DOTT

[tentacle] path=C:\tentacle\ subtitles=true music_volume=40 sfx_volume=255

[loomcd] cdrom=1 path=C:\loom\ talkspeed=5 savepath=C:\loom\saves\

[monkey2] path=C:\amiga_mi2\ music_driver=windows

13.3. Example file 51 ScummVM Documentation

52 Chapter 13. The configuration file CHAPTER 14

Graphic filters

This is a dummy page

53 ScummVM Documentation

54 Chapter 14. Graphic filters CHAPTER 15

Render modes

This is a dummy page

55 ScummVM Documentation

56 Chapter 15. Render modes CHAPTER 16

Welcome to ScummVM!

ScummVM is a program that allows you to run classic graphical point-and-click adventure games, provided you already have the game data files. ScummVM replaces the executable files shipped with the games, which means they can be played on systems they were never designed for! SCUMM (Script Creation Utility for Maniac Mansion) is a utility that was used to create many of the famous LucasArts adventure games, such as Maniac Mansion and Monkey Island. It is the namesake of ScummVM, with VM meaning Virtual Machine. While ScummVM was originally designed to run LucasArts’ SCUMM games, over time support has been added for many other games.

16.1 First steps

We have guides available to show you how to get your games up and running with ScummVM on many different platforms: • Windows, Mac or Linux: Quick start guide • Other platforms: Raspberry Pi | PSP

16.2 How do I. . . ?

If you have ScummVM installed, but you have questions about how to use it, our Using ScummVM section has lots of useful information to help you out: • Understanding the interface: The Launcher • Changing settings: Global settings | Game settings • Shortcuts: Keyboard Shortcuts

57 ScummVM Documentation

16.3 Advanced features

For our more experienced users, ScummVM has many cool advanced options. But don’t worry, even if you’re a beginner, our documentation will take you through how to optimize your game playing experience. • Advanced settings: The configuration file | Render modes | Graphic filters • The command line interface: Command line interface

16.4 Getting help

ScummVM is still under development. While we do our best to make sure that as many games as possible can be completed with no major bugs, crashes can happen and we offer no warranty. If you are having problems with any aspect of ScummVM, take a look at our help section. • Games: Compatibility • Frequently Asked Questions: FAQ • Bugs: Known problems | Reporting a Bug • How to contact us: Contact page

16.5 The ScummVM Project

ScummVM is an open-source project. If you enjoy ScummVM, feel free to donate using the PayPal button on the ScummVM homepage. This will help us buy the utilities to develop ScummVM faster and more efficiently. If you cannot donate but you have the skills, you can help us by contributing a patch! • Contributing Guidelines: Code | Documentation

58 Chapter 16. Welcome to ScummVM!