mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-24 02:36:27 +00:00
6e2b51233f
svn-id: r11204
997 lines
43 KiB
Plaintext
997 lines
43 KiB
Plaintext
ScummVM README
|
|
Last updated: 2003-11-05
|
|
Release version: 0.5.5-cvs
|
|
------------------------------------------------------------------------
|
|
|
|
For more information, compatibility lists, details on donating, the latest
|
|
release, progress reports and more, please visit the ScummVM home page
|
|
at: http://www.scummvm.org/
|
|
|
|
Table of Contents:
|
|
------------------
|
|
1.0) About
|
|
2.0) Contacting
|
|
* 2.1 Reporting Bugs
|
|
3.0) Supported Games
|
|
* 3.1 Copy Protection
|
|
* 3.2 Simon the Sorcerer notes
|
|
* 3.3 Known Bugs
|
|
4.0) Supported Platforms
|
|
5.0) Running ScummVM
|
|
* 5.1 Command Line Options
|
|
* 5.2 Language Options
|
|
* 5.3 Graphics Filters
|
|
* 5.4 Hotkeys
|
|
* 5.5 Using Macintosh games
|
|
6.0) Savegames
|
|
* 6.1 Autosaves
|
|
7.0) Music and Sound
|
|
* 7.1 Adlib emulation
|
|
* 7.2 MIDI emulation
|
|
* 7.3 Native MIDI support
|
|
* 7.4 UNIX native & ALSA sequencer support
|
|
* 7.5 Using MP3 or OGG to store/compress audio
|
|
8.0) Configuration Files
|
|
9.0) Compiling
|
|
X.X) Credits
|
|
|
|
1.0) About:
|
|
---- ------
|
|
ScummVM is a collection of interpreters, capable of emulating several
|
|
adventure game engines. ScummVM mainly supports engines created using
|
|
SCUMM (Script Creation Utility for Maniac Mansion), used in various
|
|
LucasArts games such as Monkey Island, Day of the Tentacle, and others.
|
|
ScummVM also contains interpreters for several non-SCUMM games, currently
|
|
these are Beneath a Steel Sky, Broken Sword II and Simon the Sorcerer 1 & 2
|
|
|
|
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 using the PayPal button on the
|
|
ScummVM homepage. This will help us buy utilities needed to develop ScummVM
|
|
easier and quicker. If you cannot donate, help and contribute a patch!
|
|
|
|
2.0) Contacting:
|
|
---- ----------
|
|
The easiest way to contact the ScummVM team is by submitting bug reports or
|
|
commenting in our forums. You can also join and e-mail the scummvm-devel
|
|
mailing list, or chat with us on irc (#scummvm on irc.freenode.net)
|
|
Please do not ask us to support an unsupported game - read our homepages
|
|
FAQ first.
|
|
|
|
2.1) Reporting Bugs:
|
|
---- ---------------
|
|
To report a bug, please create a SourceForge account and follow the bugs
|
|
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 known bugs list (below) and compatibility listing for that game, to
|
|
ensure the issue is not already known.
|
|
|
|
Also do not report bugs on games that are not listed as being completable
|
|
in the 'Supported Games' section, or compatibility list. We -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.
|
|
|
|
3.0) Supported Games:
|
|
---- ----------------
|
|
At the moment the following games have been reported to work, and should
|
|
be playable to the end. However, this list generally applies to PC versions.
|
|
Mac versions should work after being "ReSCUMM'ed" (see later in this document),
|
|
and Amiga versions of games may work with the 'Amiga' flag turned on - but
|
|
this is not always true.
|
|
|
|
SCUMM Games:
|
|
Maniac Mansion (Classic Version) [Game: maniac]
|
|
Maniac Mansion (Enhanced Version) [Game: maniac]
|
|
Zak McKracken (Classic Version) [Game: zak]
|
|
Zak McKracken (Enhanced Version) [Game: zak]
|
|
Indiana Jones & the Last Crusade (EGA) [Game: indy3ega]
|
|
Indiana Jones & the Last Crusade (256) [Game: indy3]
|
|
Indiana Jones & the Last Crusade (256 FM Towns) [Game: indy3towns]
|
|
Loom (16 color floppy version) [Game: loom]
|
|
Loom (256 FM Towns) [Game: loomtowns]
|
|
Loom (256 color CD version) [Game: loomcd]
|
|
Zak McKracken (256 FM Towns) [Game: zak256]
|
|
Monkey Island 1 (EGA) [Game: monkeyega]
|
|
Monkey Island 1 (VGA) [Game: monkeyvga]
|
|
Monkey Island 1 (CD) [Game: monkey/monkey1]
|
|
Monkey Island 2 [Game: monkey2]
|
|
Indiana Jones and the Fate of Atlantis [Game: atlantis]
|
|
Day of the Tentacle [Game: tentacle]
|
|
Sam & Max [Game: samnmax]
|
|
The Dig [Game: dig]
|
|
Curse of Monkey Island [Game: comi]
|
|
|
|
Other Games:
|
|
Beneath a Steel Sky [Game: sky]
|
|
Simon the Sorcerer 1 [Game: simon1acorn/
|
|
simon1dos/
|
|
simon1talkie/
|
|
simon1win]
|
|
Simon the Sorcerer 2 [Game: simon2dos/
|
|
simon2talkie/
|
|
simon2win
|
|
simon2mac]
|
|
|
|
The following games should be completable, but have some critical problems that
|
|
prevent them from being fully supported at this time. Please do not file bug
|
|
reports about them.
|
|
|
|
Full Throttle [Game: ft]
|
|
Broken Sword II [Game: sword2]
|
|
|
|
The following games should load, but are not yet fully playable. Play these at
|
|
your own risk, and please do not file bug reports about them. If you want
|
|
the latest updates on game compatibility, visit our web site and view the
|
|
compatibility chart.
|
|
|
|
Putt-Putt Goes To The Moon [Game: puttmoon]
|
|
Putt-Putt's Fun Pack [Game: funpack]
|
|
Fatty Bear's Birthday Surprise [Game: fbear]
|
|
Fatty Bear's Fun Pack [Game: fbpack]
|
|
|
|
The following games are SCUMM engine, but NOT supported by ScummVM (yet).
|
|
|
|
Putt-Putt Joins the Parade
|
|
Most other Humongous Entertainment titles
|
|
|
|
Please be aware that the engine may contain bugs and unimplemented features
|
|
that sometimes make it impossible to finish the game. Save often, and please
|
|
file a bug report (instructions on submitting bug reports are below) if you
|
|
encounter such a bug in a 'supported' game.
|
|
|
|
3.1) Copy Protection:
|
|
---- ----------------
|
|
The ScummVM team does not condone piracy. However, there are cases when
|
|
LucasArts themselves bundled cracked interpreters with their own games --
|
|
the data files still contain the copy protection scripts, but the interpreter
|
|
bypasses them. There is no way for us to tell the difference between legitimate
|
|
and pirated data files, so for the games where we know the original interpreter
|
|
may have been cracked ScummVM will always have to bypass the copy protection.
|
|
|
|
At the time of writing, that includes the following games:
|
|
|
|
Indiana Jones & the Last Crusade (EGA)
|
|
Indiana Jones & the Last Crusade (256 color FM Towns version)
|
|
Loom (16 color floppy version)
|
|
Maniac Mansion
|
|
Monkey Island 1 (EGA)
|
|
Monkey Island 1 (VGA)
|
|
Monkey Island 2
|
|
Zak McKracken (EGA)
|
|
Zak McKracken (256 color FM Towns version)
|
|
|
|
Beneath a Steel Sky (bypassed with permission from Revolution)
|
|
|
|
In most cases ScummVM will still show the copy protection screen. Try entering
|
|
any answer. Chances are that it will work.
|
|
|
|
3.2) Simon the Sorcerer 1 and 2 notes:
|
|
---- ---------------------------------
|
|
The Simon the Sorcerer 1 & 2 games were split into several targets to make
|
|
coding easier and to make it more clear which target should be used:
|
|
simon1dos - Use for Simon the Sorcerer 1 for DOS (Disk)
|
|
simon2dos - Use for Simon the Sorcerer 2 for DOS (Disk)
|
|
simon1talkie - Use for Simon the Sorcerer 1 Talkie for DOS (CD)
|
|
simon2talkie - Use for Simon the Sorcerer 2 Talkie for DOS (CD)
|
|
simon1win - Use for Simon the Sorcerer 1 Talkie for Windows (CD)
|
|
simon2win - Use for Simon the Sorcerer 2 Talkie for Windows (CD)
|
|
simon2mac - Use for Simon the Sorcerer 2 Talkie for Amiga or Mac (CD)
|
|
|
|
If you have the dual version of Simon the Sorcerer 1 or 2 on CD,
|
|
then you will find the Windows version in the main directory of CD
|
|
and the DOS Talkie version in the DOS directory of the CD.
|
|
|
|
3.3) Known Problems in ScummVM 0.5.5-cvs
|
|
---- -----------------------------------
|
|
This release has the following known problems. There is no need to report them,
|
|
although patches to fix them are welcome. If you discover a bug that is not
|
|
listed here, nor in the compatibility table on the web site, please see
|
|
the section on Reporting Bugs.
|
|
|
|
Maniac Mansion (Classic):
|
|
- Actors sometimes cause minor graphical glitches
|
|
- The last 8 lines of room graphics are sometimes cut off
|
|
when changing rooms
|
|
|
|
Zak McKracken (Classic):
|
|
- Actors sometimes cause minor graphical glitches
|
|
|
|
// FIXME: Are these two still present? Many walk-related fixes lately...
|
|
Indiana Jones & the Last Crusade (EGA):
|
|
- In some rooms Indy may be able to walk to odd places
|
|
|
|
Indiana Jones & the Last Crusade (256):
|
|
- In some rooms Indy may be able to walk to odd places
|
|
|
|
FM Towns versions:
|
|
- Kanji versions require the FM Towns Font ROM
|
|
- All the FM Towns versions of games are extremely rare,
|
|
And as the ScummVM team does not encourage piracy in any
|
|
way, we don't know where to buy or download a copy of these
|
|
games. Petition LucasArts to re-release them :)
|
|
|
|
Loom (EGA):
|
|
- MIDI support requires the Roland update from LucasArts
|
|
|
|
Monkey Island 1 (EGA):
|
|
- MIDI support requires the Roland update from LucasArts
|
|
|
|
Sam and Max:
|
|
- Highway subgame does not behave correctly.
|
|
- Music is broken under Dreamcast, causing game freezes
|
|
|
|
Beneath a Steel Sky:
|
|
- Floppy demo does not work at all
|
|
- Amiga versions aren't supported and probably never will be
|
|
- Not a bug: CD version is missing speech for some dialog
|
|
- ScummVM 0.5.0 contained a bug in the savegame system.
|
|
If you experience problems using an old savegame, it may be
|
|
corrupt, and you will need to start a new game using this
|
|
version.
|
|
|
|
Simon the Sorcerer 1:
|
|
- No inventory scrolling arrows shown in simon1dos and
|
|
simon1talkie, can still move around inventory though.
|
|
|
|
Simon the Sorcerer 2:
|
|
- Text in copy protection screen of simon2dos is only shown for
|
|
a short time
|
|
- simon2dos and simon2talkie (With subtitles enabled) freeze
|
|
briefly when Pirate Captain is talking to Mate, when Simon
|
|
tries to escape
|
|
- Only default language in data files is supported in simon2mac
|
|
- F10 key animation in simon2mac is different compared to
|
|
original game
|
|
|
|
Curse of Monkey Island
|
|
- The "Pirate Song" scene does not play correctly
|
|
- Some minor graphical glitches remain
|
|
|
|
All CD games:
|
|
- If you are experiencing random crashes, and your game
|
|
plays music from CD, you have encountered a Windows bug.
|
|
Try copying the data files from CD to your hard disk, and
|
|
running them from there.
|
|
|
|
|
|
4.0) Supported Platforms:
|
|
---- --------------------
|
|
ScummVM has been ported to run on many platforms and operating systems.
|
|
Links to these ports can be found either on the ScummVM web page or by a
|
|
Google search. Many thanks to the effort of porters. If you have a port of
|
|
ScummVM and wish to commit it into the main CVS, feel free to contact us!
|
|
|
|
Windows - SDL
|
|
Windows CE - SDL (iPaq and other handheld devices)
|
|
Linux - X11/OSS audio (includes iPaqs running Linux)
|
|
Mac OS X - SDL
|
|
AmigaOS - SDL
|
|
MorphOS - Custom backend
|
|
BeOS - SDL
|
|
Acorn (RiscOS) - ???
|
|
Dreamcast - Custom backend
|
|
GP32 - Custom backend
|
|
PalmOS - Custom backend
|
|
UNIX - SDL (Linux, Solaris, IRIX, *BSD)
|
|
|
|
The Dreamcast port does not support Curse of Monkey Island, nor The Dig.
|
|
The PalmOS port does not support Curse of Monkey Island, Beneath a Steel
|
|
Sky, nor either Simon the Sorcerer 1 or 2. The Dig will only work on some
|
|
Palm devices (those with a large dynamic heap).
|
|
|
|
5.0) Running ScummVM:
|
|
---- ----------------
|
|
Before you run the engine, you need to put the game's datafiles in a
|
|
directory. The filenames must not be in mixed case on *nix systems
|
|
(for example, these are valid names: "monkey2.000", "MONKEY2.000", while
|
|
this is a bad one: "Monkey2.000"). If you use a game with speech, the file
|
|
monster.sou must reside in the same directory as the datafiles.
|
|
|
|
Please note that by default, ScummVM will save games in the directory
|
|
it is executed from, so you should refrain from running it from more than
|
|
one location. Further information, including how to specify a specific save
|
|
directory to avoid this issue, are in section 6.0.
|
|
|
|
ScummVM can be launched directly by running the executable. In this case,
|
|
the in-built launcher will activate. From this, you can add games (click
|
|
'Add Game'), or launch games which have already been configured.
|
|
|
|
ScummVM can also be launched into a game directly using Command Line
|
|
arguments - see the next section.
|
|
|
|
5.1) Command Line Options:
|
|
---- ---------------------
|
|
|
|
Usage: scummvm [OPTIONS]... [GAME]
|
|
|
|
[GAME] Short name of game to load. For example, 'monkey'
|
|
for Monkey Island. This can be either a built-in
|
|
gameid, or a user configured target.
|
|
|
|
-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
|
|
|
|
-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 section 5.3)
|
|
-e, --music-driver=MODE Select music driver (see also section 7.0)
|
|
-q, --language=LANG Select language (see also section 5.2)
|
|
-m, --music-volume=NUM Set the music volume, 0-255 (default: 192)
|
|
-o, --master-volume=NUM Set the master volume, 0-255 (default: 192)
|
|
-s, --sfx-volume=NUM Set the sfx volume, 0-255 (default: 192)
|
|
-n, --nosubtitles Disable 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
|
|
-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)
|
|
--joytick[=NUM] Enable input with joystick (default: 0 = first
|
|
joystick)
|
|
--platform=WORD Specify version of game (allowed values: amiga,
|
|
atari, mac, pc)
|
|
--multi-midi Enable combination of Adlib and native MIDI
|
|
--native-mt32 True Roland MT-32 (disable GM emulation)
|
|
--aspect-ratio Enable aspect ratio correction
|
|
|
|
--floppy-intro Use floppy version intro for Beneath a Steel Sky CD
|
|
--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 (default: 60)
|
|
|
|
|
|
The meaning of most long options can be inverted by prefixing them with "no-",
|
|
e.g. --no-aspect-ratio. 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 is very important. A short list is contained at the top of this
|
|
file. You can also get the current list of games and game names at:
|
|
http://www.scummvm.org/compatibility.php
|
|
|
|
Examples:
|
|
* Win32:
|
|
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 disabled:
|
|
C:\Games\LucasArts\scummvm.exe -f -n -pD:\resource\ ft
|
|
|
|
* 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 disabled:
|
|
/path/to/scummvm -f -n -p/cdrom/resource/ ft
|
|
|
|
5.2) Language options:
|
|
---- -----------------
|
|
ScummVM includes a language option for Maniac Mansion, Zak McKracken, The Dig,
|
|
Curse of Monkey Island, Beneath a Steel Sky. and Simon the Sorcerer 1 & 2.
|
|
|
|
Maniac Mansion and Zak McKracken
|
|
en - English (default)
|
|
de - German
|
|
fr - French
|
|
it - Italian
|
|
es - Spanish
|
|
|
|
The Dig
|
|
jp - Japanese
|
|
zh - Chinese
|
|
kr - Korean
|
|
|
|
Curse of Monkey Island
|
|
en - English (default)
|
|
de - German
|
|
fr - French
|
|
it - Italian
|
|
pt - Portuguese
|
|
es - Spanish
|
|
jp - Japanese
|
|
zh - Chinese
|
|
kr - Korean
|
|
|
|
Beneath a Steel Sky:
|
|
gb - English (Great Britain) (default)
|
|
en - English USA
|
|
de - German
|
|
fr - French
|
|
it - Italian
|
|
pt - Portuguese
|
|
es - Spanish
|
|
se - Swedish
|
|
|
|
Simon the Sorcerer: 1 & 2
|
|
en - English (default)
|
|
de - German
|
|
fr - French
|
|
it - Italian
|
|
es - Spanish
|
|
hb - Hebrew
|
|
|
|
5.3) Graphics filters:
|
|
---- -----------------
|
|
ScummVM offers several anti-aliasing filters to attempt to improve visual
|
|
quality. These are the same filters used in many other emulators, such as
|
|
MAME. 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 run at a resolution of 320x200
|
|
(typical for most of the SCUMM games), then using a filter with scale
|
|
factor 2x will effectively yield 640x400 graphics. Likewise with a
|
|
3x filter you'll get 960x600.
|
|
|
|
They are:
|
|
normal - No filtering, no scaling. Fastest.
|
|
2x - No filtering, factor 2x (default).
|
|
3x - No filtering, factor 3x.
|
|
2xsai - 2xsai filter, factor 2x.
|
|
super2xsai - Enhanced 2xsai filtering, factor 2x.
|
|
supereagle - Less blurry than 2xsai, but slower. Factor 2x.
|
|
advmame2x - Doesn't rely on blurring like 2xSAI, fast. Factor 2x.
|
|
advmame3x - Doesn't rely on blurring like 2xSAI, fast. Factor 3x.
|
|
hq2x - Very nice high quality filter but slow. Factor 2x.
|
|
hq3x - Very nice high quality filter but slow. Factor 3x.
|
|
tv2x - Interlace filter, tries to emulate a TV. Factor 2x.
|
|
dotmatrix - Dot matrix effect. Factor 2x.
|
|
opengl - OpenGL with bilinear filtering [Unsupported]
|
|
|
|
To select a graphics filter, pass its name via the '-g' option to scummvm,
|
|
for example:
|
|
|
|
scummvm -g advmame2x monkey2
|
|
|
|
Note #1: Not all backends support all or any filters. The ones listed above
|
|
are for the default SDL backend.
|
|
|
|
Note #2: Filters can be very slow when ScummVM is compiled in a debug
|
|
configuration without optimizations. And there is always a speed impact when
|
|
using any form of anti-aliasing/linear filtering.
|
|
|
|
Note #3: The Fm Towns version of Zak (zak256 target) uses an original resolution
|
|
of 320x240 - hence for this game scalers will scale to 640x480 or 960x720.
|
|
|
|
Note #4: The OpenGL filter is included as a curiosity only. It's use is
|
|
unsupported, and unrecommended. The only benefit is hardware accelerated
|
|
scaling, but any machine with an OpenGL card should be fast enough to use
|
|
the software scalers (see above).
|
|
|
|
5.4 Hot Keys:
|
|
--- ---------
|
|
ScummVM supports various in game hotkeys. They differ between the SCUMM and
|
|
simon games.
|
|
|
|
Common:
|
|
Ctrl-z OR Alt-x - Quit
|
|
Keyboard Arrow Keys - Simulate mouse movement
|
|
Ctrl-f - Toggle fast mode.
|
|
Ctrl-Alt 1-8 - Switch between graphics filters
|
|
Ctrl-Alt + and - - Increase/Decrease the scale factor
|
|
Ctrl-Alt b - Switch between bilinear and non-linear
|
|
filtering [OpenGL backend]
|
|
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.
|
|
|
|
SCUMM:
|
|
Ctrl 0-9 and Alt 0-9 - Load and save game state
|
|
Ctrl-g - Runs in really REALLY fast mode.
|
|
Ctrl-d - Starts the debugger.
|
|
Tilde (~) - Show/hide the debugging console
|
|
Ctrl-s - Shows memory consumption.
|
|
[ and ] - Music volume, down/up
|
|
- and + - Text speed, slower/faster
|
|
F5 - Displays a save/load box.
|
|
Space - Pauses
|
|
Period (.) - Skips current line of text in some games
|
|
Alt-Enter - Toggles full screen/windowed
|
|
Enter - Simulate left mouse button press
|
|
Tab - Simulate right mouse button press
|
|
|
|
Simon:
|
|
F1 - F3 - Text speed, faster - slower
|
|
F10 - Shows all characters and objects you can
|
|
interact with
|
|
- and + - Music volume, down/up
|
|
m - Music on/off
|
|
s - Sound effects on/off
|
|
b - Background sounds on/off
|
|
t - Switch between speech and subtitles
|
|
v - Switch between subtitles only and
|
|
combined speech & subtitles.
|
|
[Simon the Sorcerer 2 only]
|
|
|
|
Beneath a Steel Sky:
|
|
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.
|
|
|
|
Note that using ctrl-f and ctrl-g are not recommended: games can crash when
|
|
being ran faster than their normal speed, as scripts will lose synchronisation
|
|
|
|
5.5 Using data files from Macintosh game versions:
|
|
--- ----------------------------------------------
|
|
All LucasArts SCUMM based adventures except CMI also exist in versions for the
|
|
Macintosh. ScummVM can use most (all?) of them, however, in some case some
|
|
additional work is required. First off, if you are not using a Macintosh for
|
|
this, accessing the CD/floppy data might be tricky. There are various tools on
|
|
the net for this, though.
|
|
|
|
Secondly, most of the newer games shipped only with a single data file on the
|
|
Macintosh. You first have to run the 'rescumm' tool from the scummvm-tools
|
|
package to extract the data files ScummVM expects. You invoke rescumm like
|
|
this (where DATAFILE is the path to the single big data file):
|
|
|
|
rescumm DATAFILE
|
|
|
|
It will extract the data into the current directory, so make sure to run it from
|
|
a writable directory.
|
|
|
|
6.0) Savegames:
|
|
---- ----------
|
|
Savegames are by default put in the current directory. You can specify the save
|
|
in the config file by setting the savepath parameter. See the example config
|
|
file later in this readme.
|
|
|
|
You can also use the environment variable SCUMMVM_SAVEPATH to specify where to
|
|
put save games. Don't forget the trailing directory separator. Also be aware
|
|
that saved games may break between ScummVM releases.
|
|
|
|
Bash (Unix) example:
|
|
export SCUMMVM_SAVEPATH=/tmp/scummvm_savegames/
|
|
|
|
Windows example:
|
|
set SCUMMVM_SAVEPATH=C:\saved_games\
|
|
|
|
6.1) Autosaves:
|
|
---- ----------
|
|
Because ScummVM is still a beta product, it -can- crash and/or hang
|
|
occasionally. As such, every five minutes it will save a game in Slot 0. This
|
|
game can be loaded via Ctrl-0, or the F5 menu. This autosaving does not,
|
|
however, occur with Simon the Sorcerer 1 and 2.
|
|
|
|
|
|
7.0) Music and Sound:
|
|
---- ----------------
|
|
By default, on most operating systems, ScummVM will automatically use Adlib
|
|
emulation. MIDI may not be available on all operating systems or may need
|
|
manual configuration. If you ARE using MIDI, you have several different
|
|
choices of output, depending on your operating system and configuration.
|
|
|
|
adlib - Uses internal Adlib Emulation (default)
|
|
pcjr - Uses internal PCjr Emulation
|
|
pcspk - Uses internal PC Speaker Emulation
|
|
towns - Uses FM-Towns YM2612 Emulation
|
|
windows - Windows MIDI. Uses built-in sequencer, for Windows users
|
|
seq - Uses /dev/sequencer for MIDI, *nix users. See below.
|
|
qt - Quicktime sound, for Macintosh users.
|
|
core - CoreAudio sound, for MacOS X users.
|
|
amidi - Uses the MorphOS MIDI system, for MorphOS users
|
|
alsa - Output using ALSA sequencer device. See below.
|
|
null - Null output. Don't play any music.
|
|
|
|
To select a sound driver, pass its name via the '-e' option to scummvm,
|
|
for example:
|
|
|
|
scummvm -e adlib monkey2
|
|
|
|
|
|
7.1) Playing sound with Adlib emulation:
|
|
---- -----------------------------------
|
|
By default an Adlib card will be emulated and ScummVM will output the music
|
|
as sampled waves. This is the default mode for most games, and offers the
|
|
best compatibility between machines and games.
|
|
|
|
|
|
7.2) Playing sound with MIDI emulation:
|
|
---- ----------------------------------
|
|
Some games (such as Sam and Max) only contain MIDI music data. This once
|
|
prevented music for these games from working on platforms that do not support
|
|
MIDI, or soundcards that do not provide MIDI drivers (e.g, many soundcards will
|
|
not play MIDI under Linux). ScummVM can now emulate MIDI mode using sampled
|
|
waves and Adlib emulation using the -eadlib option. However, if you are capable
|
|
of using native MIDI, we recommend using one of the MIDI modes below for best
|
|
sound.
|
|
|
|
7.3) Playing sound with Native MIDI:
|
|
---- -------------------------------
|
|
Use the appropriate -e<mode> command line option from the list above to
|
|
select your preferred MIDI device. For example, if you wish to use the
|
|
Windows MIDI driver, use the -ewindows option.
|
|
|
|
|
|
7.4.0 Playing sound with Sequencer MIDI: [UNIX ONLY]
|
|
----- ----------------------------------
|
|
If your soundcard driver supports a sequencer, you may set the environment
|
|
variable "SCUMMVM_MIDI" to your sequencer device - e.g., /dev/sequencer
|
|
|
|
If you have problems with not hearing audio in this configuration, it is
|
|
possible you will need to set the "SCUMMVM_MIDIPORT" variable to 1 or 2. This
|
|
selects the port on the selected sequencer to use. Then start scummvm with the
|
|
-eseq parameter. This should work on several cards, and may offer better
|
|
performance and quality than Adlib emulation. However, for those systems where
|
|
sequencer support does not work, you can always fall back on Adlib emulation.
|
|
|
|
|
|
7.4.1 Playing sound with ALSA sequencer: [UNIX ONLY]
|
|
----- ----------------------------------
|
|
If you have installed the ALSA driver with the sequencer support, then
|
|
set the environment variable "SCUMMVM_PORT" to your sequencer port - e.g. 65:0
|
|
|
|
Here is a little howto on how to use the ALSA sequencer with your soundcard.
|
|
In all cases, to have a list of all the sequencer ports you have, try the
|
|
command "aconnect -o -l". This should give output similar to:
|
|
client 64: 'External MIDI 0' [type=kernel]
|
|
0 'MIDI 0-0 '
|
|
client 65: 'Emu10k1 WaveTable' [type=kernel]
|
|
0 'Emu10k1 Port 0 '
|
|
1 'Emu10k1 Port 1 '
|
|
2 'Emu10k1 Port 2 '
|
|
3 'Emu10k1 Port 3 '
|
|
client 128: 'Client-128' [type=user]
|
|
0 'TiMidity port 0 '
|
|
1 'TiMidity port 1 '
|
|
|
|
This means the external MIDI output of the sound card is located on the
|
|
port 64:0, four WaveTable MIDI outputs in 65:0, 65:1, 65:2
|
|
and 65:3, and two TiMidity ports, located at 128:0 and 128:1.
|
|
|
|
If you have a FM-chip on your card, like the SB16, then you have to load
|
|
the soundfonts using the sbiload software. Example:
|
|
sbiload -p 65:0 /etc/std.o3 /etc/drums.o3
|
|
|
|
If you have a WaveTable capable sound card, you have to load a sbk or sf2
|
|
soundfont using the sfxload software. Example:
|
|
sfxload /path/to/8mbgmsfx.sf2
|
|
|
|
If you don't have a MIDI capable soundcard, there are two options: FluidSynth
|
|
and TiMidity. We recommend FluidSynth, as on many systems TiMidity will 'lag'
|
|
behind music. This is very noticable in iMUSE-enabled games, which use fast
|
|
and dynamic music transitions. Running TiMidity as root will allow it to
|
|
setup real time priority, which may reduce music lag.
|
|
|
|
Asking TiMidity to become an ALSA sequencer:
|
|
timidity -iAqqq -B2,8 -Os1S -s 44100 &
|
|
(If you get distorted output with this setting, you can try dropping the
|
|
-B2,8 or changing the value. To reduce the possibility of )
|
|
|
|
Asking FluidSynth to become an ALSA sequencer (using SoundFonts):
|
|
fluidsynth -m alsa_seq /path/to/8mbgmsfx.sf2
|
|
|
|
Once either TiMidity or FluidSynth are running, use the 'aconnect -o -l'
|
|
command as described earlier in this section.
|
|
|
|
7.5.0) Using MP3 files for CD audio:
|
|
------ -----------------------------
|
|
Use LAME or some other mp3 encoder to rip the cd audio tracks to files. Name
|
|
the files track1.mp3 track2.mp3 etc. ScummVM must be compiled with MAD support
|
|
to use this option. You'll need to rip the file from the CD as a WAV file,
|
|
then encode the MP3 files in constant bit rate. This can be done with the
|
|
following LAME command line:
|
|
|
|
lame -t -q 0 -b 96 track1.wav track1.mp3
|
|
|
|
|
|
7.5.1) Using Ogg Vorbis files for CD audio:
|
|
------ ------------------------------------
|
|
Use oggenc or some other vorbis encoder to encode the audio tracks to files.
|
|
Name the files track1.ogg track2.ogg etc. ScummVM must be compiled with vorbis
|
|
support to use this option. You'll need to rip the files from the CD as a WAV
|
|
file, then encode the vorbis files. This can be done with the following oggenc
|
|
command line with the value after q specifying the desired quality from 0 to 10:
|
|
|
|
oggenc -q 5 track1.wav
|
|
|
|
|
|
7.5.2) Compressing MONSTER.SOU with MP3:
|
|
------ ---------------------------------
|
|
You need LAME, and our extract util from the scummvm-tools package to perform
|
|
this task, and ScummVM must be compiled with MAD support.
|
|
|
|
Make a backup file of your MONSTER.SOU before attempting this. Copy your
|
|
MONSTER.SOU file to a temporary folder. Then run:
|
|
|
|
extract monster.sou
|
|
|
|
In about 30 minutes or so, you will have a much smaller monster.so3 file,
|
|
copy this file to your game directory. You can safely remove the monster.sou
|
|
file.
|
|
|
|
|
|
7.5.3) Compressing MONSTER.SOU with Ogg Vorbis:
|
|
------ ----------------------------------------
|
|
As above, but ScummVM must be compiled with OGG support. Run:
|
|
|
|
extract --vorbis monster.sou
|
|
|
|
This should produce a smaller monster.sog file, which you should copy to your
|
|
game directory. Ogg encoding may take a considerable longer amount of time
|
|
than MP3, so have a good book handy.
|
|
|
|
|
|
7.5.4) Compressing sfx/speech in Simon the Sorcerer 1 and 2
|
|
------ ----------------------------------------------------
|
|
You need LAME, and our simon2mp3 util from the scummvm-tools package to perform
|
|
this task, and ScummVM must be compiled with MAD support.
|
|
|
|
Make a backup of the file before attempting this. Copy the file to a
|
|
temporary folder. Then run:
|
|
|
|
simon2mp3 effects (For simon1acorn)
|
|
simon2mp3 simon (For simon1acorn)
|
|
simon2mp3 effects.voc (For simon1talkie)
|
|
simon2mp3 simon.voc (For simon1talkie)
|
|
simon2mp3 simon.wav (For simon1win)
|
|
simon2mp3 simon2.voc (For simon2talkie)
|
|
simon2mp3 simon2.wav (For simon2win)
|
|
|
|
|
|
In about 30 minutes or so, you will have a much smaller *.mp3 file, copy this
|
|
file to your game dir. You can safely remove the old file.
|
|
|
|
|
|
8.0) Configuration file:
|
|
---- -------------------
|
|
By default, the configuration file is saved in, and loaded from:
|
|
|
|
Windows: <windir>\scummvm.ini,
|
|
Unix: ~/.scummvmrc
|
|
Mac OS X: ~/Library/Preferences/ScummVM Preferences
|
|
Others: scummvm.ini in the current directory
|
|
|
|
An example config file looks as follows:
|
|
|
|
[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\
|
|
nosubtitles=true
|
|
master_volume=98
|
|
music_volume=40
|
|
sfx_volume=255
|
|
|
|
[loomcd]
|
|
cdrom=1
|
|
path=C:\loom\
|
|
talkspeed=55
|
|
savepath=C:\loom\saves\
|
|
|
|
[monkey2]
|
|
path=C:\amiga_mi2\
|
|
music_driver=windows
|
|
amiga=true
|
|
|
|
The following keywords are recognized:
|
|
|
|
basename string
|
|
path string The path to where a game's data files are
|
|
read_only bool If true, ScummVM will never try to overwrite
|
|
the configuration file.
|
|
save_slot number The save game number to load on startup.
|
|
savepath string The path to where a game will store its
|
|
savegames.
|
|
versioninfo string The version of the 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. See the example.
|
|
description string The description of the game as it will appear
|
|
in the launcher.
|
|
|
|
language string Specify language (en, de, fr, it, pt, es, jp,
|
|
zh, kr,se, gb, hb)
|
|
nosubtitles bool Set to true to suppress subtitles.
|
|
talkspeed number Text speed (default: 60)
|
|
|
|
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)
|
|
|
|
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
|
|
master_volume number The master volume setting (0-255)
|
|
music_driver string The music engine to use.
|
|
music_volume number The music volume setting (0-255)
|
|
multi_midi bool If true, enable combination Adlib and native
|
|
MIDI.
|
|
native_mt32 bool If true, disable GM emulation and assume that
|
|
there is a true Roland MT-32 available.
|
|
sfx_volume number The sfx volume setting (0-255)
|
|
tempo number The music tempo (50-200) (default: 100)
|
|
|
|
demo_mode bool Start demo in Maniac Mansion (Classic version)
|
|
floppy_intro bool Use floppy version of introduction in Beneath
|
|
a Steel Sky (CD version)
|
|
|
|
boot_param number Pass this number to the boot script
|
|
debug_level number Enable debug output. The higher number, the
|
|
more verbose output.
|
|
|
|
Broken Sword II adds the following non-standard keywords:
|
|
|
|
gfx_details number Graphics details setting (0-3)
|
|
music_mute bool If true, music is muted
|
|
object_labels bool If true, object labels are enabled
|
|
reverse_stereo bool If true, stereo channels are reversed
|
|
sfx_mute bool If true, sound effects are muted
|
|
speech_mute bool If true, speech is muted
|
|
speech_volume number The speech volume setting (0-255)
|
|
|
|
9.0 Compiling:
|
|
--- ----------
|
|
You need SDL-1.2.2 or newer (older versions may work, but are unsupported), and
|
|
a supported compiler. Several compilers, including GCC, mingw and Microsoft
|
|
Visual C++ are supported. If you wish to use MP3-compressed CD tracks or
|
|
.SOU files, you will need to install the MAD library and define
|
|
USE_MAD. Tools for compressing .SOU files to .SO3 files can be
|
|
found in the 'tools' CVS module, or in the 'scummvm-tools' package.
|
|
|
|
You can also comment/uncomment appropriate lines in the build.rules file to
|
|
use sdl_gl.cpp instead of sdl.cpp. This allows hardware accelerated bilinear
|
|
filtering by using OpenGL textures.
|
|
|
|
On Win9x/NT/XP you can define USE_WINDBG and attach WinDbg to browse debug
|
|
messages (see http://www.sysinternals.com/ntw2k/freeware/debugview.shtml).
|
|
|
|
GCC:
|
|
* Type ./configure
|
|
* Type make (or gmake if that's what GNU make is called on your
|
|
system) and hopefully ScummVM will compile for you.
|
|
|
|
Mingw - Windows 95/98/ME/NT/2000/XP/2003:
|
|
* Open Makefile.mingw, alter SDL paths and choose compiling options.
|
|
* Type make -f Makefile.mingw, hopefully ScummVM will compile for you.
|
|
|
|
Microsoft Visual C++:
|
|
* Open the workspace, scummwm.dsw
|
|
* Enter the path to the SDL include files in Tools|Options|Directories
|
|
* Now it should compile successfully.
|
|
|
|
PocketPC - Windows CE:
|
|
* Download the SDLAudio library:
|
|
http://arisme.free.fr/PocketScumm/sources/SDLAudio-1.2.3-src.zip
|
|
* Open and compile the SDLAudio WCEBuild/WCEBuild workspace in EVC++
|
|
* Open the ScummVM wince/PocketScumm workspace
|
|
* Enter the SDLAudio directory to your includes path
|
|
* Enter the compiled SDLAudio.lib to your link libraries list
|
|
* Now it should compile successfully
|
|
|
|
Debian GNU/Linux:
|
|
* Install the packages 'build-essential', 'fakeroot', 'debhelper',
|
|
'libsdl1.2-dev', and 'libmad0-dev' on your system.
|
|
* Optional: Install the 'libvorbis-dev' and/or the 'libasound2-dev'
|
|
packages, and edit the Makefile to turn on support for Ogg Vorbis
|
|
and/or the ALSA sequencer.
|
|
* Run 'make deb'.
|
|
* Finally run 'dpkg -i ../scummvm-cvs*deb', and you're done.
|
|
|
|
Mac OS X:
|
|
* Make sure you have the developer tools installed.
|
|
* Edit backends/sdl/build.rules, and enable the Mac OS X specific
|
|
line(s).
|
|
* Depending on where you have installed SDL, you have to add the
|
|
location of its headers to the INCLUDES variables. For example if you
|
|
installed SDL via Fink, you can add this at the end of build.rules:
|
|
INCLUDES+= -I/sw/include
|
|
* You can now 'make' to create a command line binary.
|
|
* To get a version you can run from Finder, type 'make bundle' which
|
|
will create ScummVM.app.
|
|
|
|
X.X Credits:
|
|
--- --------
|
|
The ScummVM team:
|
|
James Brown - Lead developer
|
|
Max Horn - Lead developer
|
|
David Eriksson - Engine: Flight of the Amazon Queen
|
|
Robert Goeffringmann - Engine: Beneath a Steel Sky (maintainer)
|
|
Jonathan Gray - Engine: SCUMM
|
|
Oliver Kiehl - Engine: Beneath a Steel Sky, Simon
|
|
Pawel Kolodziejski - Engine: SCUMM (Codecs, iMUSE, Smush, etc.)
|
|
Gregory Montoir - Engine: Flight of the Amazon Queen
|
|
Joost Peters - Engine: Beneath a Steel Sky,
|
|
Flight of the Amazon Queen
|
|
Chris Apers - Port: PalmOS
|
|
Nicolas Bacca - Port: PocketPC/WinCE port
|
|
Marcus Comstedt - Port: Dreamcast
|
|
Ruediger Hanke - Port: MorphOS
|
|
Travis Howell - Port: Win32, Engine: Simon (maintainer)
|
|
Peter Moraliyski - Port: GP32
|
|
Lionel Ulmer - Port: X11
|
|
Torbjorn Andersson - Generic bugfixer and patch submitter
|
|
Jamieson Christian - iMUSE, MIDI, all things musical.
|
|
Jochen Hoenicke - Speaker & PCjr sound support, Adlib work
|
|
Jeremy Newman - Webmaster
|
|
|
|
Retired Team Members:
|
|
Ralph Brorsen - Help with GUI implementation
|
|
Vincent Hamm - Co-Founder
|
|
Felix Jakschitsch - Zak256 reverse engineering
|
|
Mutwin Kraus - Original MacOS porter
|
|
Ludvig Strigeus - Original ScummVM and SimonVM author
|
|
|
|
Contributors:
|
|
Quietust - Sound support for Amiga SCUMM V2 - V3 games
|
|
Stuart Caie - Decoders for Simon 1 Amiga data files
|
|
Janne Huttunen - V3 actor mask support, Dig/FT Smush audio
|
|
Kovacs Endre Janos - Several fixes for Simon1
|
|
Jeroen Janssen - Numerous readability and bugfix patches
|
|
Claudio Matsuoka - Daily Linux/BeOS builds
|
|
Gregory Montoir - AdvanceMAME Scale-2X, TV 2x and dot matrix
|
|
implementation
|
|
Mikesch Nepomuk - MI1 VGA floppy patches.
|
|
Nicolas Noble - Config file and ALSA support
|
|
Edward Rudd - Fixes for playing MP3 versions of MI1/Loom audio
|
|
Daniel Schepler - Final MI1 CD music support/
|
|
Initial Ogg Vorbis support
|
|
Andre Souza - SDL-based OpenGL renderer
|
|
Tim 'realmz' - Initial MI1 CD music support
|
|
|
|
And to all the contributors, users, and beta testers we've missed.
|
|
Thanks!
|
|
|
|
Special thanks to:
|
|
Sander Buskens - For his work on the initial reversing of Monkey2
|
|
Kevin Carnes - For Scumm16, the basis of ScummVM older gfx codec
|
|
Jim Leiterman - Various info on his Fm Towns/Marty SCUMM ports
|
|
Jimmi Thogersen - For ScummRev, and much obscure code/documentation
|
|
|
|
Tony Warriner and everyone at Revolution Software Ltd. for sharing
|
|
with us the source of some of their brilliant games, allowing us to
|
|
release Beneath a Steel Sky as freeware... and generally being
|
|
supportive above and beyond the call of duty.
|
|
|
|
Aric Wilmunder, Ron Gilbert, David Fox, Vince Lee, and all those at
|
|
LucasFilm/LucasArts who made SCUMM the insane mess to reimplement
|
|
that it is today. Feel free to drop us a line and tell us what you
|
|
think, guys!
|
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
Good Luck and Happy Adventuring!
|
|
The ScummVM team.
|
|
http://www.scummvm.org/
|
|
------------------------------------------------------------------------
|