ScummVM main repository
Go to file
Ruediger Hanke 1286475651 Fix the bottom of screen trashed bug
svn-id: r4053
2002-04-22 15:55:20 +00:00
dc Oops. Didn't mean to mess with the paths. 2002-04-18 23:24:22 +00:00
debian Fixed invalid debian control file 2002-01-25 18:01:27 +00:00
mac Return of the MP3 CD patch ... use CBR 22 kHz 2002-04-17 20:23:45 +00:00
macosclassic Added parameters specifications 2002-03-09 13:42:22 +00:00
morphos Fix the bottom of screen trashed bug 2002-04-22 15:55:20 +00:00
simon Endian and alignment fixes to make Simon games boot (and play) on big endian systems 2002-04-21 12:51:13 +00:00
sound Fix MP3 compilation. 2002-04-22 11:36:41 +00:00
v3 Large pointless reindentation of all the code. Also fixed a few mistakes 2002-04-11 17:19:16 +00:00
v4 Remove \M's, add IRIX support. 2002-04-20 04:09:02 +00:00
wince Fixed events, cursor, registry and hardware keys support, added new scan method for easier program install 2002-04-21 21:55:48 +00:00
2xsai.cpp Fixed endian problems with 2xsai 2002-04-18 08:34:47 +00:00
actor.cpp Fix (hack) imuse for samnmax. Fix (hack) samnmax inventory screen 2002-04-21 17:54:59 +00:00
akos.cpp Some new V7 scummvars. Implemented custom scale table in AKOS codec 1 2002-04-21 19:38:00 +00:00
akos.h Fix PocketSCUMM. Palette is wrong tho. BBrox is a genius. 2002-04-19 15:02:16 +00:00
boxes.cpp Remove \M's, add IRIX support. 2002-04-20 04:09:02 +00:00
boxes.h Added missing newline at end of file. 2002-04-16 17:42:14 +00:00
copying.txt Initial revision 2001-10-09 14:30:12 +00:00
costume.cpp Completly fixed all the semi-transprency in Sam&Max 2002-04-21 13:13:26 +00:00
debug.cpp Use relative include paths to easy some ports. 2002-04-19 11:12:27 +00:00
debugrl.cpp Large pointless reindentation of all the code. Also fixed a few mistakes 2002-04-11 17:19:16 +00:00
debugrl.h Merged Tom Dunstan's debugger readline patch. Define 2001-11-19 00:04:34 +00:00
gameDetector.cpp Fix BEOS compilation. 2002-04-22 03:04:58 +00:00
gameDetector.h Add Amiga palette option (-a) 2002-04-17 03:11:37 +00:00
gapi_keys.h New key page in GUI 2002-04-21 21:54:08 +00:00
gfx.cpp Add boilerplate license to some files, to satisfy Debian types :) 2002-04-21 17:46:42 +00:00
gfx.h Rewrote a part of the blast object management code for implementation of future features. That fixed the highway minigame in samnmax 2002-04-22 13:55:28 +00:00
gui.cpp New key page in GUI 2002-04-21 21:54:08 +00:00
gui.h New key page in GUI 2002-04-21 21:54:08 +00:00
guimaps.h Move stringmaps to own file to prevent warnings. 2002-04-13 04:44:59 +00:00
init.cpp Large pointless reindentation of all the code. Also fixed a few mistakes 2002-04-11 17:19:16 +00:00
insane.cpp new video engine (expect broken non-sdl builds), 2002-04-12 21:26:59 +00:00
main.cpp Add boilerplate license to some files, to satisfy Debian types :) 2002-04-21 17:46:42 +00:00
Makefile Removed mp3_cd reference 2002-04-17 20:49:57 +00:00
Makefile.irix Remove \M's, add IRIX support. 2002-04-20 04:09:02 +00:00
Makefile.mingw Removed mp3_cd reference 2002-04-17 20:49:57 +00:00
Makefile.x11 Commit of the X11 driver using the new OSystem interface. Plus some warning fixes and gameDetector hacks. 2002-04-20 17:41:42 +00:00
mp3_cd.cpp Fixed the MP3 support for .SOU files. I will let Arisme fix his MP3 audio track support :-) 2002-04-15 20:22:47 +00:00
mp3_cd.h Fix copy & paste error - use bool, not BOOL in cross-platform SDL apps. 2002-04-05 04:17:32 +00:00
object.cpp Rewrote a part of the blast object management code for implementation of future features. That fixed the highway minigame in samnmax 2002-04-22 13:55:28 +00:00
readme.txt Apply urkles MI1 MP3 CD Audio patch and Loom MP3 syncronisation fix patch 2002-04-22 11:18:11 +00:00
resource.cpp Some new V7 scummvars. Implemented custom scale table in AKOS codec 1 2002-04-21 19:38:00 +00:00
saveload.cpp Remove \M's, add IRIX support. 2002-04-20 04:09:02 +00:00
script_v1.cpp Commit of the X11 driver using the new OSystem interface. Plus some warning fixes and gameDetector hacks. 2002-04-20 17:41:42 +00:00
script_v2.cpp Add voice channel tracking to stop script race in BumpusVille VR. 2002-04-22 08:16:16 +00:00
script.cpp Refixed getActorY in indy3. Fixed class (dunno if the fix doesn't break something else. Fixed intro by slowing down music rate by 3. 2002-04-19 21:06:50 +00:00
scumm.h Fix MP3 compilation. 2002-04-22 11:36:41 +00:00
scummsys.h Commit of the X11 driver using the new OSystem interface. Plus some warning fixes and gameDetector hacks. 2002-04-20 17:41:42 +00:00
scummvm.6 Merged David Given's debian control files. 2001-11-19 11:37:38 +00:00
scummvm.cpp Handle simultaneous mouse move + mouse click event for WinCE 2002-04-21 21:56:41 +00:00
scummvm.dsp Removed mp3_cd reference 2002-04-17 20:49:57 +00:00
scummvm.dsw Initial revision 2001-10-09 14:30:12 +00:00
scummvm.proj Recommit BeOS project file as binary. 2002-04-18 06:34:09 +00:00
scummvm.spec updated for 0.2.0 2002-04-09 15:39:22 +00:00
sdl.cpp Add boilerplate license to some files, to satisfy Debian types :) 2002-04-21 17:46:42 +00:00
smush.h Add boilerplate license to some files, to satisfy Debian types :) 2002-04-21 17:46:42 +00:00
sound.cpp Fix MP3 compilation. 2002-04-22 11:36:41 +00:00
stdafx.cpp I know it probably doesn't look like much, but this is a start to the reorg - basically I've shuffled the Scumm struct around, and turned it into a Class - labeling and grouping functions that are related. 2002-03-20 17:51:07 +00:00
stdafx.h Reenable MorphOS Midi driver, small updates to CD open code (only when CD audio is requested) and start options 2002-04-18 21:40:24 +00:00
string.cpp Fixed samnmax intro thanks to segra suggestion 2002-04-22 13:15:30 +00:00
sys.cpp Large pointless reindentation of all the code. Also fixed a few mistakes 2002-04-11 17:19:16 +00:00
system.h Add boilerplate license to some files, to satisfy Debian types :) 2002-04-21 17:46:42 +00:00
vars.cpp Some new V7 scummvars. Implemented custom scale table in AKOS codec 1 2002-04-21 19:38:00 +00:00
verbs.cpp Large pointless reindentation of all the code. Also fixed a few mistakes 2002-04-11 17:19:16 +00:00
whatsnew.txt Update documentation to refect recent changes. 2002-04-14 07:00:37 +00:00
x11.cpp Was bitten *again* by the same stupid threading bug :-) 2002-04-20 18:13:36 +00:00

ScummVM README
Last updated:    2002-04-15
Release version: 0.2.0  [CVS build]
------------------------------------------------------------------------

For more information, compatability lists, details on donating, the latest
release, progress reports and more, please visit the ScummVM home page
at: http://scummvm.sourceforge.net/

About:
------

ScummVM is an implementation of the SCUMM (Script Creation Utility for
Maniac Mansion) engine used in various Lucas Arts games such as Monkey
Island and Day of the Tentacle. At this time ScummVM should be considered
ALPHA software, as it's still under heavy development. Be aware that while
many games will work with few major bugs, crashes can happen. Also note
that saved games can, and probably will, be incompatible between releases.

Also ScummVM is capable of playing several non-SCUMM games, at the moment
this includes Simon The Sorcerer.

If you enjoy ScummVM feel free to donate using the PayPal button on the
ScummVM homepage.


Supported Games:
----------------

At the moment the following games have been reported to work, and should
be playable to the end:

        Loom (256 color CD version)            [Game: loomcd]
        Monkey Island 1 (CD version)           [Game: 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]
        Simon The Sorcerer                     [Game: simon1dos or simon1win]


The following games should load, but are not yet fully playable. If you want
the latest updates on game compatibility, visit our website and view the
compatibility chart.

	Zak McKraken (256 color FM Towns version)
	Indiana Jones and the Last Crusade (256 color version)
        Full Throttle
        The Dig

The following games are SCUMM engine, but NOT supported by ScummVM (yet).

	Maniac Mansion
	Zak McKraken (16 color floppy version)
	Monkey Island (16 color floppy version)
	Loom (16 color floppy version)
	Curse of Monkey Island

Please be aware that the engine may contains bugs and non-implemented-
features that sometimes make it impossible to finish the game. Save often,
and please file a bug report (details on submitted bug reports are below)
if you discover such a bug.

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 webpage 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		- SDL/X11 	(includes iPaq devices running Linux)
	Macintosh	- SDL/CUSTOM	(Including Classic and Mac OS X)
	AmigaOS		- SDL/AGA
	MorphOS		- SDL
        BeOS            - SDL
	Acorn (RiscOS)	- ???
	Dreamcast	- ???

Known Bugs:
-----------

This release has the following known bugs. 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 website, please see below.

       Indy 4 (Fate Of Atlantis):
                - Keyboard fighting does not work. ScummVM now defaults to
                  using mouse fighting.

       Sam and Max:
                - Subgames are not fully functional.
                - Some overlap may occur in graphics, expecially the intro
                - Music isn't perfect. Some overlap may occur

       Loom (256 Talkie):
                - CD music and voices are not totally syncronised
                - If you are having random crashes, this is a Windows bug.
                  Try copying the data files from CD to your harddisk.


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 exists in the latest daily build/current CVS version. Also check the
compatibility listing for that game to ensure the issue is not already known.

Please include the following information:
		- Game version (PLEASE test the latest CVS/Daily build)
		- Bug details, including instructions on reproducing
		- Language of game (English, German, etc)
		- Version of game (Talkie, Floppy...)
		- Platform and Compiler (Win32, Linux, etc)
		- Attach a save game if possible
                - If this bug only occured 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.


Compiling:
----------

You need SDL-1.2.2 (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
COMPRESSED_SOUND_FILE. Tools for compressing .SOU files to .SO3 files can be
found in the 'tools' CVS module, or in the 'scummvm-tools' package.

	GCC:
	* Type make (or gmake if that's what GNU make is called on your
	  system) and 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.

        BeOS:
        * Open the 'scummvm.proj' file in BeIDE. Compile as normal.

        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


Running:
--------

Before you run the engine, you need to put the game's datafiles in a
directory. The filenames must be in lowercase on *nix systems
(monkey2.000 and monkey2.001). If you use a game with speech, the file
monster.sou must reside in the same directory as the datafiles.

For example, to run a copy of Monkey Island installed in C:\Games\LucasArts
under Windows, you would make a shortcut calling this command:

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

Or, if you have, for example, Full Throttle on CD, and your CD drive is D:,
and you wish to disable subtitles and run in fullscreen:

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

The short game name 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://scummvm.sourceforge.net/compatibility.php

For the adventurous, who like to live on the edge... you can download daily
builds of Win32, Redhat, Debian and other packages here:
        Daily builds - http://scummvm.sourceforge.net/daily/


Command Line Options:
---------------------

        scummvm [OPTIONS] [GAME]

	[GAME]    - Short name of game to load. E.g. monkey for Monkey Island.
	
        -p<path>  - Path to where the game is installed. Default is Cwd.
	-b<num>   - Start in room <num>.
        -c<num>   - Drive to play cd audio from.  E.g., 0 is first drive.
        -s<num>   - Set the sfx volume, 0-255.    Default is '100'
        -m<num>   - Set the music volume, 0-100.  Default is '60'
        -t<num>   - Set music tempo.              Default is '2031616'
        -e<mode>  - Select sound engine. See below.
        -g<mode>  - Select graphics scaler. See below.
	-f        - Full-screen mode.
        -n        - Disable subtitles. Use with games that have voice.
        -r        - Enable Roland conversion. Try if music sounds incorrect.
        -a        - Enable amiga pal conversion, for playing Amiga versions

In game Hot Keys:
-----------------
	Ctrl 0-9 and Shift 0-9   - load and save states.
        Ctrl-Alt 0-4             - cycles between filter modes
	Ctrl-z                   - quits
	Ctrl-f                   - runs in fast mode.
	Ctrl-d                   - starts the debugger.
	Ctrl-s                   - shows memory consumption.
	F5                       - displays a save/load box.
	Space                    - pauses.
	Alt-Enter                - toggles full screen (on *nix only)


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.

They are:
        -gnormal     - No filtering, original 320x200 resolution. Fastest.
        -g2x         - No filtering, double screen/window size to 640x480 (default)
        -g3x         - No filtering, triple screen/window size to 800x600
        -g2xsai      - 2xsai filtering, double screen/window size to 640x480
        -gsuper2xsai - Enhanced 2xsai filtering. 640x480 screen/window size
        -gsupereagle - Less blurry than 2xsai, but slower. Also 640x480

Note that filters are very slow when ScummVM is compiled in a debug
configuration without optimisations. And there is always a speed impact when
using any form of anti-aliasing/linear filtering.


Music and Sound: 
----------------
By default, on most operating systems, ScummVM will automatically use ADLIB
emulation. However, some games do not include Adlib music - such as Sam and
Max. Note: 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.
        
	-eadlib     - Uses internal Adlib Emulation (default) 
        -ewindows   - Windows MIDI. Uses built-in sequencer. Only on Windows
	-etimidity  - Uses Timidity for music. Requires Timidity.
	-eseq       - Uses /dev/sequencer for MIDI. *nix only.
        -eqt        - Quicktime sound, for Macintosh users.
	-eamidi     - Uses the MorphOS MIDI system. MorphOS only.
	-enull      - Null output. Don't play any music.
	

Playing sound with Adlib emulation:
-----------------------------------
By default an Adlib card will be emulated and ScummVM will output the music
as sampled waves. This offers far superior performance to Timidity, however
does not work with some games such as Sam and Max.

Playing sound with MIDI:
------------------------
Use the appropriate -e<mode> command line option from the list above to
select your prefered MIDI device. For example, if you wish to use Windows
MIDI over the default Adlib Emulation, use the -ewindows option.

Playing sound with Sequencer:
-----------------------------
If your soundcard driver supports a sequencer, you may set the environment
variable "SCUMMVM_MIDI" to your sequencer device - eg, /dev/sequencer

Then start ScummVM with the parameter '-eseq'. This should work on several
cards, and may offer better performance and quality than Adlib emulation.

Playing music with Timidity:
----------------------------
Start Timidity with the following command line :
	$ timidity -irv 7777
Then start ScummVM with the parameter '-etimidity'. However, Timidity is not
designed to cope with the rapid changes most iMUSE equipped games use - so
its use over Adlib emulation or sequencer support is not recommended.

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 sampled at 22 kHz. This can be done with the following LAME command line:

lame -t -q 0 -b 96 --resample 22.05 track1.wav track1.mp3

Compressing MONSTER.SOU with MP3:.
---------------------------------
You need LAME, and our extract util from the tools dir 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 dir. You can safely remove the monter.sou file.


Savegames:
----------

Savegames are by default put in the current directory. You can 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
can, and probably WILL, break between ScummVM releases.

Bash Example:
        export SCUMMVM_SAVEPATH=/tmp/scummvm_savegames/

Windows example:
        set SCUMMVM_SAVEPATH=C:\saved_games\


Coding style:
------------
For ScummVM coding, we use hugging braces, and two-space tab indents.
We occasionally run the following 'indent' parameters to ensure everything
is kept standard:

-br -bap -nbc -lp -ce -cdw -brs -nbad -nbc -npsl -nip -ts2 -ncs -nbs
-npcs -nbap -Tbyte -Tvoid -Tuint32 -Tuint8 -Tuint16 -Tint -Tint8
-Tint16 -Tint32 -TArrayHeader -TMemBlkHeader -TVerbSlot -TObjectData
-TImageHeader -TRoomHeader -TCodeHeader -TResHdr -TBompHeader
-TMidiChannelAdl -TGui -TScumm -TSoundEngine -TPart -TPlayer



Credits:
--------
  The core ScummVM team:
        Ludvig Strigeus   - Original developer, lead developer 'simon' module
        Vincent Hamm      - Current lead developer, ScummVM
        James Brown       - Co-lead developer, ScummVM
        Jeremy Newman     - Webmaster

 Porters:
        Lionel Ulmer      - X11/Linux port
        Nicolas Bacca     - PocketPC/WinCE port
        Mutwin Kraus      - Macintosh port
        Marcus Comstedt   - DreamCast port
        Ruediger Hanke    - MorphOS port

 Contributors:
        Claudio Matsuoka  - Daily builds (http://scummvm.sf.net/daily/)
        Janne Huttunen    - Zak256/Indy256/LoomCD actor mask support
        Jeroen Janssen    - Numerous readability and bugfix patches
        Edward Rudd       - Fixes for playing MP3 versions of MI1/Loom Audio
        Daniel Schepler   - Final MI1 CD music support
        Tim 'realmz'      - Initial MI1 CD music support
        Jonathan 'khalek' - Expert weaver in the Loom
        
        And to all the contributors, users, and beta testers we've missed.
        Thanks!

 Special thanks to:
        Jimmi Thogersen - For ScummRev, and much obscure code/documentation
        Kevin Carnes    - For Scumm16, the basis of ScummVM older gfx codecs

        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://scummvm.sourceforge.net/
------------------------------------------------------------------------