User Manual

From ScummVM :: Wiki
Revision as of 23:57, 22 November 2007 by Spookypeanut (talk | contribs) (→‎Managing your games: Add stub for mass add (lest we forget...))
Jump to navigation Jump to search
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, working on the DocBook version or supplying us with HTML or TeX sources is fine, too (we will then translate them for the Wiki and into DocBook).


User's Guide

Introduction

What is ScummVM

ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the game, allowing you to play them on systems for which they were never designed!

Some of the adventures ScummVM supports include Adventure Soft's Simon the Sorcerer 1 and 2; Revolution's Beneath A Steel Sky, Broken Sword 1 and Broken Sword 2; Flight of the Amazon Queen; Wyrmkeep's Inherit the Earth; Coktel Vision's Gobliiins; Westwood Studios' The Legend of Kyrandia and games based on LucasArts' SCUMM (Script Creation Utility for Maniac Mansion) system such as Monkey Island, Day of the Tentacle, Sam and Max and more. You can find a thorough list with details on which games are supported and how well on the compatibility page. ScummVM is continually improving, so check back often.

Among the systems on which you can play those games are Windows, Linux, Mac OS X, Dreamcast, PocketPC, PalmOS, AmigaOS, BeOS, OS/2, PSP, PS2, SymbianOS/EPOC and many more.

At this time ScummVM should be considered beta software, and is still under heavy development. Be aware that whilst we attempt to make sure that many games can be completed with few major bugs, crashes can happen.

If you enjoy ScummVM feel free to donate some money to help us. This will help us buy utilities needed to develop ScummVM easier and quicker. If you cannot donate, help and contribute a patch!

Reporting bugs

To report a bug, please create a SourceForge account, then use our bug tracker to file a report (you can also reach it via the "Bug Tracking" link from our homepage. Please make sure the bug is reproducible, and still occurs in the latest daily build/current CVS version. Also check the list of known bugs (below) and the compatibility list on our website for that game, to ensure the issue is not already known.

Also, please do not report bugs on games that are not listed as being completable in Appendix: Supported games , or in the online compatibility list. We already know those games have bugs.

Please include the following information:

  • ScummVM version (PLEASE test the latest CVS/Daily build)
  • Bug details, including instructions on reproducing
  • Language of game (English, German, ...)
  • Version of game (talkie, floppy, ...)
  • Platform and Compiler (Win32, Linux, FreeBSD, ...)
  • Attach a save game if possible
  • If this bug only occurred recently, please note the last version without the bug, and the first version including

the bug. That way we can fix it quicker by looking at the changes made.

This should only take you a little time but will make it much easier for us to process your bug report in a way that satisfies both you and us.

Contacting the developers

The easiest way to contact the ScummVM team is by submitting bug reports (see reporting-bugs) or by using our forums. You can also join and email the scummvm-devel mailing list (see [1]). Or chat with us on IRC (channel #scummvm on irc.freenode.net).

Please do not ask us to support an unsupported game -- read our FAQ for an explanation.

Getting started

Requirements

TODO: List Requirements (in terms of required/optional libraries, CPU power, memory, ... In particular it would be nice if we could e.g. say what PalmOS devices support ScummVM; not necessarily a list of all supported Palm models, but more a list of what OS you need how much memory, colors, etc.)

ScummVM is known to run on the following systems:

  • Unix-like (Linux, *BSD, Solaris, etc.)
  • Windows
  • Mac OS X
  • Windows Mobile (WinCE / PocketPC / Smartphone)
  • PalmOS
  • Dreamcast
  • MorphOS
  • GP32
  • GP2X
  • Symbian based smartphones
  • PlayStation 2
  • PlayStation Portable
  • Nintendo DS
  • BeOS
  • AmigaOS 4
  • Atari/FreeMiNT
  • Solaris
  • OS/2
  • Opie

Besides these, there have been many more unofficial ports in the past. Since they were not done by us, we can not say anything about their reliability, legality, or availability, nor can we provide support for them. Use them at your own risk!

Among those officially unsupported systems are:

  • XBox
  • RISC OS

If you plan to compile ScummVM yourself, you will need certain additional libraries. More on that in Compiling from sources.

How to obtain ScummVM

Basically you have two choices on how to get ScummVM: either you download one of the binaries we built for you (probably the most convenient way); or you can compiler it yourself from source. We strongly recommend to beginners to use our prebuilt binaries.

Binaries

You can download official binaries of ScummVM from our downloads page. Go there with your favorite web browser and download the binary for your platform. If none is available, you may have to build ScummVM yourself, refer to the next section for instructions on how to do that. Alternatively, some third parties are providing unofficial ScummVM binaries for further platforms, but naturally, we can not make any statements about the quality of such unofficial builds - use them at your own risk!

We always ship prebuilt binaries of ScummVM for the following platforms (note that it can some time after a release for all binaries to be available):

  • Linux (Fedora Core)
  • Linux (Debian)
  • Windows
  • Mac OS X
  • Windows Mobile (WinCE / PocketPC / Smartphone)
  • Symbian
  • Dreamcast
  • PlayStation 2
  • PlayStation Portable
  • Nintendo DS
  • GP2X

In addition to these, we try to provide more binaries, but which depends mostly on how many volunteers we can find to help us out. In the past we have shipped binaries for these systems:

  • Linux (Mandrake)
  • Linux (Slackware)
  • Solaris
  • BeOS
  • AmigaOS 4
  • MorphOS
  • OS/2

Compiling from sources

TODO:

  • Point to the Compiling ScummVM page, resp. integrate that here.
  • List all required libs; where to get them; how to install them
  • List all optional libs etc.
  • We could separate this by OS, or by compiler/dev system. I think the current split in the README (section 9.0) isn't too bad.


Installation

After you have obtained ScummVM as described in the previous section, you probably will want to install it on your system. The steps required for that differ between the various operating systems. In the following we try to cover all the systems we officially support.

Debian

TODO

Fedora Core / Redhat

TODO

Slackware

TODO

Windows

From the downloads page, download either the Win32 .zip file or the Win32 .exe file. If you download the .zip file, you will need a program such as WinZip to open it. After opening the archive, copy it to the folder where you want to put it. If you download the .exe installer, you will get options where you want to install it. Choose the location to where you want to install it. Also, the installer places a shortcut in the Start Menu.

Mac OS X

From the downloads page, download the "Mac OS X Universal Binary" file. You will download a disk image (.dmg). To open it, double click on it and Disk Copy will mount the image. Once it is mounted, copy the files inside to a folder where you wish to store it.

Windows Mobile (WinCE / PocketPC / Smartphone)

Create a folder on your device to put ScummVM into, e.g. "\My Device\SD-MMcard\ScummVM". From the downloads page, download the "Windows CE ARM package" zip file. Extract everything from this file, and place it all in the folder that you created on your device (using ActiveSync or similar: note that if your chosen location is short of space, the only absolutely required file is "scummvm.exe"). To run ScummVM just tap on "scummvm.exe" in File Explorer: you may wish to copy a shortcut of "scummvm.exe" to your Start Menu to allow for easier access.

PalmOS

From the downloads page, download the "PalmOS 5 binary" or the "PalmOS Tapwave Zodiac binary" and unzip the files to your computer. Using your hotsync tool, install the scummvm-frontend.prc and skin.pdb files to your device. Launch ScummVM to create the /PALM/Programs/ScummVM/ folders and subfolders on your memory card. Using a card reader, copy the engines you require to play your games to the /ScummVM/Mods/ folder on your card (scumm.engine for scumm games, queen.engine for FOTAQ, etc.)

Symbian / EPOC

TODO

Nintendo DS

TODO

Dreamcast

From the downloads page, download either the Dreamcast .zip file or the Nero image file. If you download the .zip file, you will need a program such as WinZip to open it. After opening the archive, copy it to the folder where you want to put it. The Nero image can be burned automatically to a CD using Nero Burning ROM or any other program that accepts NRG formatted disc images.

GP2X

TODO

GP32

TODO

PlayStation 2

TODO

PlayStation Portable

TODO

First steps

Running and using ScummVM

The launcher

Managing your games

Adding a game

Before you can play a game using ScummVM, you first need to add it to the Launcher.

  1. Your game will run more smoothly if you copy all the files from the original disk(s) (whether floppy or CD) into a folder on your hard-drive.
  2. The ScummVM Launcher
    Click on the "Add Game..." button on the right-hand side of the Launcher.
  3. Add Game Dialog Box
    You will now be presented with a file browser. You should use this browser to locate the directory in which the files from your game's disks are located. Double click on the name of a directory to go into it, and use the "Go up" button to go back up one level. Once you are in the correct folder, click the "Choose" button.
  4. Game Settings Dialog Box
    If ScummVM detected the game correctly, it will now display a dialog box which lets you change various settings about the game, including the name that appears in the main window of the Launcher. There are six tabs full of settings to change, and these are discussed in later on in the configuration section, but you don't need to change any of them. To finish adding your game, just click the "OK" button.
  5. The ScummVM Launcher with one game added
    Tada! You've added your first game to ScummVM. To play it now, just select the game you want to play and click on the Start button.
Adding multiple games at once

TODO

Removing a game

To remove a game from the ScummVM Launcher, just select the game you want to remove and click the "Remove Game" button on the right-hand side. ScummVM will ask you whether you are sure you want to remove it, so click yes to remove it. Note that this will not delete the game files from your hard drive: you can easily re-add it again later.

Configuring a game

TODO

The (global) options dialog (this will point to the "Configuration" section)

TODO

Command line options

TODO: The following list is outdated, and looks ugly :-/

scummvm [OPTIONS] GAME

-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
-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 (see also <xref linkend="sec.graphics-filter"/>)
--gui-theme=THEME
Select GUI theme (default, modern, classic)
--themepath=PATH
Path to where GUI themes are stored
-e, --music-driver=MODE
Select music driver (see also <xref linkend="sec.music-driver"/>)
-q, --language=LANG
Select language (see also section TODO)
-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 voice 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
Enables engine specific debug flags (separated by commas)
-u, --dump-scripts
Enable script dumping if a directory called 'dumps' exists in the current directory
--cdrom=NUM
CD drive to play CD audio from (default: 0 = first drive)
--joystick[=NUM]
Enable joystick input (default: 0 = first joystick)
--platform=WORD
Specify version of game (allowed values: 3do, acorn, amiga, atari, c64, fmtowns, mac, nes, pc, segacd, windows)
--savepath=PATH
Path to where savegames 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 of 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)
--aspect-ratio
Enable aspect ratio correction
--render-mode=MODE
Enable additional render modes (cga, ega, hercGreen, hercAmber, amiga)
--alt-intro
Use alternative intro for CD versions of Beneath a Steel Sky and Flight of the Amazon Queen
--copy-protection
Enable copy protection in SCUMM games, when ScummVM disables it by default.
--demo-mode
Start demo mode of Maniac Mansion (Classic version)
--tempo=NUM
Set music tempo (in percent, 50-200) for SCUMM games (default: 100)
--talkspeed=NUM
Set talk speed for SCUMM games
--demo-mode
Start demo mode of Maniac Mansion
--tempo=NUM
Set music tempo (in percent, 50-200) for SCUMM games (default: 100)

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

The short game name ('game target') you see at the end of the command line specifies which game is started. It either corresponds to an arbitrary user defined target (from the configuration file), or to a built-in gameid. A brief list of the latter can be found in the supported games section.

Examples of Command Line Usage

Running Monkey Island, fullscreen, from a hard disk (Win32)
C:\Games\LucasArts\scummvm.exe -f -pC:\Games\LucasArts\monkey\ monkey
Running Full Throttle from CD, fullscreen and with subtitles enabled (Win32)
C:\Games\LucasArts\scummvm.exe -f -n -pD:\resource\ ft
Running Monkey Island, fullscreen, from a hard disk (Unix)
/path/to/scummvm -f -p/games/LucasArts/monkey/ monkey
Running Full Throttle from CD, fullscreen and with subtitles enabled (Unix)
/path/to/scummvm -f -n -p/cdrom/resource/ ft

Hotkeys

TODO

Saving and loading

TODO

Macintosh games: Accesing HFS filesystems

You will need the "Windows Installer" from the download page. To copy the game data file from the CD to your hard disc, you will need HFVExplorer. Make sure you get the "HFV Explorer installer" rather than the zip file. When you choose to download the zip file, make sure you read the readme included with HFVExplorer, to set it up properly. Run the HFVExplorer installer and allow it to use its defaults.

Start up HFVExplorer; if you don't have a shortcut for it, find it in "C:\Program Files\HFVExplorer". It should open the HFS (Macintosh filesystem) CD-ROM automatically when you insert the disc. Make sure HFVExplorer is displaying hidden files: Select View->Options and enable "Show invisible Mac files" on the "File attributes" tab.

Now, look for the data file in the right pane. It will probably end with the word "Data" and will be the largest file on the volume. For instance (using Sam & Max Hit the Road as an example), it is called "Sam & Max Data" on the "Sam & Max" CD-ROM. Select the data file and copy it (use Ctrl+C or Edit->Copy). In the left HFVExplorer pane, navigate to the directory where you want the game to reside on your hard disc. We recommend selecting drive C: and creating a new folder called "SamNMax" or a name that better reflects your particular game.

Paste the data file (with Ctrl+V or Edit->Paste) and allow HFVExplorer to choose the copy mode. Now, wait while the program copies several hundred megabytes from the CD. When the file is copied, close HFVExplorer.

TODO: Mention extract_scumm_mac or link to a section containing it

Multi-CD games

In general, ScummVM does not deal very well with multi-CD games. This is because ScummVM assumes everything about a game can be found in one directory. Even if ScummVM does make some provisions for asking the user to change CD, the original games usually install a small number of files to hard disk. Unless these files can be found on all the CDs, ScummVM will be in trouble.

Fortunately, ScummVM has no problems running the games entirely from hard disk, if you create a directory with the correct combination of files. Usually, when a file appears on more than one CD you can pick either of them.

These instructions are written for the PC versions (which in some case is the only version) of the games. Windows and DOS use case-insensitive file systems, so if one CD has a file called MONKEY.DAT and another has a file called monkey.dat, they are the same files. These instructions give file names in all lower-case names, even if that’s not always how they appear on the CDs. In fact, on case-sensitive file systems you will have to make sure that all filenames use either all upper- or all lower-case letters for ScummVM to be able to find the files.

The instructions for the Broken Sword games are for the Sold-Out Software versions, which are the ones you are probably most likely to find in stores now.

The Curse of Monkey Island

For this game, you will need the comi.la0, comi.la1 and comi.la2 files. The comi.la0 file can be found on either CD, but since they are identical it doesn't matter which one of them you use.

In addition, you will need a resource subdirectory with all of the files from the resource subdirectories on both CDs. Some of the files appear on both CDs, but again they're identical.

Broken Sword 1

For this game, you will need all of the files from the clusters directories on both CDs. You will also need the speech.clu files from the speech directories, but since they are not identical you will need to rename them speech1.clu and speech2.clu for CD 1 and 2 respectively.

In addition, you will need a music subdirectory with all of the files from the music subdirectories on both CDs. Some of these files appear on both CDs, but in these cases they are either identical or, in one case, so nearly identical that it makes little difference.

ScummVM does not support the original cutscene files (with file extension .smk) for legal reasons, so there is no need to copy them.

Broken Sword 2

For this game, you will need all of the files from the clusters directories on both CDs. (Actually, a few of them may not be strictly necessary, but the ones that I’m uncertain about are all fairly small.) You will need to rename the speech.clu and music.clu files speech1.clu, speech2.clu, music1.clu and music2.clu so that ScummVM can tell which ones are from CD 1 and which ones are from CD 2. Any other files that appear in both cluster directories are identical. Use whichever you like.

In addition, you will need the cd.bin, cd.inf and startup.inf files from the sword2 directory on CD 1.

ScummVM does not support the original cutscene files (with file extension .smk) for legal reasons, so there is no need to copy them.

Configuration

Using the launcher to change the the options

All config file switches in detail

Graphic filters

Music and Sound

Music drivers

Using compressed audio files

Volumes settings

Output sample rate

Appendix: Supported games

(well this already exists on the wiki, so just link to these pages, but also see the extra notes below)

Appendix: Tools

(describe each ScummVM command line tool in detail. Game pages might link to this.)