User Manual/Configuring ScummVM
|WORK IN PROGRESS, HELP NEEDED|
|If you want to contribute, send us a sample of text you'd write for the new manual, and we will consider adding you an account. You can work on the manual in the Wiki, but if you prefer, supplying us with HTML or TeX sources is fine, too (we will then translate them for the Wiki).
You can have a look at our TODO page for a list of tasks that need to be done.
- 1 Using the Launcher to configure ScummVM
- 2 Using the configuration file to configure ScummVM
- 3 Graphic filters
- 4 Music and Sound
Using the Launcher to configure ScummVM
The ScummVM Launcher gives us a graphical method for changing the settings that it uses to run games. There are two ways to do this: firstly by changing the default settings (which games will follow unless told otherwise), secondly by overriding an individual game to use settings that are different from the defaults. To begin with we will look at changing the default settings. To do this, click on the "Options" button on the right-hand side of the Launcher window. There are many options, and they are separated into tabs: we shall look at each tab in turn.
The graphics tab allows us to change various things about the way the games are displayed on screen when played.
|Graphics mode||This allows us to change the graphic filter that ScummVM uses. See the Graphic filters section of the manual for more detail|
|Render mode||For games that could be played on various different systems / graphics cards, this control allows us to decide which system we want ScummVM to reproduce. The options are <default> (which tries to choose the most sensible option), Hercules Green, Hercules Amber (monochrome), CGA (4 colors), EGA (16 colors), and Amiga (32 colors))|
|Fullscreen mode||Switches between playing games in a window, or playing them in fullscreen mode. Switch between the two using Alt-F5 while in a game.|
|Aspect ratio correction||Most games supported by ScummVM were designed to be played at a screen resolution of 320x200. Most modern systems, when displaying this size image, will display it in a window that is not 1.33:1 (as the designers intended), but 1.6:1 or even 1.7:1. This results in the game appearing stretched and the characters looking wider than they should. If this option is checked, ScummVM corrects for this by stretching the game window down by a similar amount, and the game can be played without distortion. Like Graphic filters, this takes a little processing power to achieve.|
The audio tab in the options allows us to change various things about the way that sound is outputted in ScummVM games.
|Music driver||This is the method that ScummVM uses to output MIDI music. For more details, see the section on music drivers.|
|Output rate||This is the sample rate at which ScummVM plays back sounds (including music if using the Adlib <*** TODO or others? ***> music driver). For more information, see the Output sample rate section|
|Text and Speech||For games with digitized speech, this control allows the user to decide whether to play the game with speech and without any subtitles, with subtitles displaying the words spoken in the digitized speech but not the speech, or with both.|
|Subtitle speed||This allows the user to adjust the length of time that the subtitles are displayed on screen: the lower the speed is set, the longer the subtitles appear for.|
The volume tab allows us to set the relative volumes for the various different types of sound that ScummVM plays.
|Music volume||The volume of the music played back in games. This is usually MIDI music played back with one of the music drivers, but some games use digitized music.|
|SFX volume||The volume of the sound effects within the games. *** TODO: are MIDI sound effects included in this, or are they controlled by the Music volume? ***|
|Speech volume||The volume of the digitized speech in the game, if it has any.|
The MIDI tab lets us change various settings about the MIDI music played back in games.
|Soundfont||*** TODO ***|
|Mixed Adlib/MIDI mode||*** TODO ***|
|True Roland MT-32 (disable GM emulation)||*** TODO ***|
|Enable Roland GS Mode||*** TODO ***|
|MIDI gain||*** TODO ***|
This part of the options lets the user tell ScummVM where to look for particular files
|Save Path||This is 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 Mac OS X ($HOME/Documents/ScummVM Savegames/) and other UNIX variants ($HOME/.scummvm/).|
|Extra Path||This is the folder that ScummVM will look in for various "extra" files. These could include one or more of:|
|Theme Path||The folder that additional themes for the ScummVM Launcher are stored in.|
The Misc tab contains options that don't belong on any of the other tabs.
|Theme||Click on this button to change the visual appearance of the ScummVM Launcher|
|Autosave||In some games (namely Beneath a Steel Sky, Flight of the Amazon Queen and all SCUMM games), ScummVM will automatically save the game every few minutes. For the SCUMM engine, it will save in Slot 0. This saved game can be loaded again using Ctrl-0 or the F5 menu. Use this control to adjust the time period that ScummVM waits between saves; the default setting is 5 minutes.|
Using the configuration file to configure ScummVM
When you change a setting in the ScummVM Launcher (see Using the Launcher to configure ScummVM), all it does is add a line to the configuration file. This is a plain text file which stores all the settings for ScummVM. It is possible to edit this file directly, and some settings can only be changed this way.
The name of the config file and the location in which it is stored depend on the system you are running ScummVM on:
|Operating System||Location of config file|
|Windows 2000/XP||\Documents and Settings\username\Application Data\ScummVM\scummvm.ini|
|Windows NT4||<windir>\Profiles\username\Application Data\ScummVM\scummvm.ini|
|Mac OS X||$HOME/Library/Preferences/ScummVM Preferences|
|Others||scummvm.ini in the current directory|
Note: all Windows versions will use <windir>\scummvm.ini if it already exists.
General config file settings
These parameters can either be set in the "ScummVM" section of the config file, in which case they specify the default setting, or in the section for a particular game, in which case they override the default setting for that game.
|path||string||The path in which a game's data files are stored|
|autosave_period||number||Number of seconds between autosaves (default: 300)|
|save_slot||number||The savegame number to load on startup|
|savepath||string||The path to which a game will store its savegames|
|versioninfo||string||The version of ScummVM that created the configuration file|
|gameid||string||The real id of a game. Useful if you have several versions of the same game, and want different aliases for them|
|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|
|aspect_ratio||bool||Enable aspect ratio correction|
|gfx_mode||string||Graphics mode (see Graphic filters)|
|confirm_exit||bool||Ask for confirmation by the user before quitting (SDL backend 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|
|music_driver||string||The music engine to use|
|output_rate||number||The output sample rate to use, in Hz (see Output sample rate)|
|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 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|
Game specific settings
These parameters will only have any effect in the section of the config file devoted to specific games.
Music & sound effects mute settings
Broken Sword 2, Flight of the Amazon Queen and Simon the Sorcerer 1 & 2 all allow use of the following settings:
|music_mute||bool||If true, music is muted|
|sfx_mute||bool||If true, sound effects are muted|
Broken Sword 2 specific settings
|gfx_details||number||Graphics details setting (0-3)|
|object_labels||bool||If true, object labels are enabled|
|reverse_stereo||bool||If true, stereo channels are reversed|
The Legend of Kyrandia specific settings
|walkspeed||int||The walk speed (0-4)|
ScummVM offers several anti-aliasing filters to attempt to improve visual quality. These filters take the original game graphics, and scale it by a certain fixed factor (usually 2x or 3x) before displaying them to you. So for example, if the game originally ran at a resolution of 320x200 (typical for most of the SCUMM games), then using a filter with a scale factor of 2x will effectively yield 640x400 graphics. Likewise a 3x filter will give 960x600.
ScummVM uses the following graphic filters:
|1x||1x||No filtering, no scaling, fastest|
|2x||2x||No filtering, simple pixel duplication (default for non 640x480 games)|
|3x||3x||No filtering, simple pixel duplication|
|super2xsai||2x||Enhanced 2xSAI filtering|
|supereagle||2x||Less blurry than 2xSAI, but slower|
|advmame2x||2x||Doesn't rely on blurring like 2xSAI, fast|
|advmame3x||3x||Doesn't rely on blurring like 2xSAI, fast|
|hq2x||2x||Very nice high quality filter but slow|
|hq3x||3x||Very nice high quality filter but slow|
|tv2x||2x||Interlace filter, tries to emulate a TV|
|dotmatrix||2x||Dot matrix effect|
To select a graphics filter from the command line, use the '-g' option (see Command line options), e.g.:
scummvm -gadvmame2x monkey2
There is always a speed impact when using any form of anti-aliasing/linear filtering. Filters can be especially slow when ScummVM is compiled in a debug configuration without optimizations. For these reasons, not all backends support all (or even any) of the filters listed above; some may support additional ones. The filters listed above are those supported by the default SDL backend.
NB: The final resolution depends on the original resolution of the game you are playing. For example, the FM-TOWNS version of Zak McKracken uses an original resolution of 320x240, hence for this game the final resolution with a scaler will be 640x480 (2x) or 960x720 (3x). Likewise, games that were originally 640x480 (such as Curse of Monkey Island or the Broken Sword games) will be scaled to 1280x960 (2x) and 1920x1440 (3x).
Music and Sound
Using compressed audio files
Output sample rate
The output sample rate tells ScummVM how many sound samples to play per channel per second. There is much that could be said on this subject, but most of it is beyond the scope of this document. The short version is that for most games 22050 Hz is ﬁne, but in some cases 44100 Hz is preferable. On extremely low-end systems you may want to use 11025 Hz, but it’s unlikely that you will have to worry about that.
To elaborate, most of the sounds that ScummVM has to play were sampled at either 22050 Hz or 11025 Hz. Using a higher sample rate will not magically improve the quality of these sounds, thus 22050 Hz is ﬁne.
Some games use CD audio. If you use compressed ﬁles for this, they are probably sampled at 44100 Hz, so for these games that may be a better choice of sample rate.
When using the Adlib, FM Towns, PC Speaker or IBM PCjr music drivers, ScummVM is responsible for generating the samples. Usually 22050 Hz will be plenty for these, but there is at least one piece of Adlib music in Beneath a Steel Sky that will sound a lot better at 44100 Hz.
Using frequencies in between is not recommended. For one thing, your sound card may not support it. In theory, ScummVM should fall back on a sensible frequency in that case, but don’t count on it. More importantly, ScummVM has to resample all sounds to its output frequency. This is much easier to do well if the output frequency is a multiple of the original frequency.