ResidualVM: A 3D game interpreter

Contents:
1. What is ResidualVM?
2. Current state of ResidualVM
3. Running ResidualVM
4. Keys
5. Configuration
6. Troubleshooting
7. Bug Reports
8. Contact
9. Debugging

----------------------
1. What is ResidualVM?
----------------------
ResidualVM is a game engine reimplementation that allows you 
to play 3D adventure game Grim Fandango.

ResidualVM utilizes OpenGL for 3D graphics hardware acceleration.
A software renderer is also included for machines without hardware OpenGL.


------------------------------
2. Current state of ResidualVM
------------------------------
At this point ResidualVM is fit for normal use, when playing supported
games, it is however worth noting that you should still save early, and
save often, as problems or dead-ends might still exist. (Grim Fandango
itself originally had a few unintentional ways to get the game stuck).

2.1 - Which games does ResidualVM support?
------------------------------------------
Currently ResidualVM supports the GrimE-engine, but only Grim Fandango.

2.1.1 . GrimE-games support 
-----------------------------------
Grim Fandango                    - Completable with glitches
Grim Fandango (demo)             - Completable with glitches

Specifics can be found at
http://www.residualvm.org/compatibility/

For more information, see the page on ResidualVM at the wiki page:
http://wiki.residualvm.org/


---------------------
3. Running ResidualVM
---------------------

3.1 - Required files
------------------------------------
You will need the data files for Grim Fandango, as well as the official
patch (gfupd101.exe).

Specifically you need these files from your Grim CDs:
*.LAB

3.2 - Running Grim Fandango
------------------------------------
1. Copy the neccessary files to a folder on your Hard Drive.
2. Copy the patch file to a game folder.
3. Open ResidualVM
4. Choose "Add Game"
5. Select the folder you created in step 1
6. Click Start

The patch can be downloaded from:
http://demos.residualvm.org/patches/gfupd101.exe
Simply download it and put gfupd101.exe in the same folder as the .LAB-files,
and you are good to go.

If you want to play with software-rendering, see the configuration-section below.
(or use the ingame settings to disable 3D Acceleration)


-----------------------------
4 - Default Keyboard-settings
-----------------------------
e,u,p,i    : Examine, Use, Pickup, Inventory
Arrow keys : Movement
Shift      : Hold to run
Enter      : Selects items in inventory, conversation, etc
Escape     : Skips cutscenes, exits certain screens
.          : Skips dialogue
q          : Exit Dialog Menu
Ctrl + c   : Force Quit (from command-line)
Alt + x    : Quit (ingame)
Alt + enter: Switch between windowed-mode and fullscreen
F1         : Menu


-----------------
5 - Configuration
-----------------
Currently, not all the settings for ResidualVM are available through the GUI,
if you have problems with getting anything to work, first try to pass the settings
from the command line, then, if that doesn't work, try to change your configuration
file manually

5.1 - Location of configuration file
------------------------------------
By default, the configuration file is saved in, and loaded from:

        Windows Vista/7:
        \Users\username\AppData\Roaming\ResidualVM\residualvm.ini

        Windows 2000/XP:
        \Documents and Settings\username\Application Data\ResidualVM\residualvm.ini

        Windows NT4:
        <windir>\Profiles\username\Application Data\ResidualVM\residualvm.ini

        Windows 95/98/ME:
        <windir>\residualvm.ini

        Unix:
        ~/.residualvmrc

        Mac OS X:
        ~/Library/Preferences/ResidualVM Preferences

        Others:
        residualvm.ini in the current directory

5.2 - Interesting settings
------------------------------------
The following settings are currently available in the config-file,
however some of them might not work with your current build. And 
some of them might make ResidualVM crash, or behave in weird ways.

|---------------|-------------|-----------------------------------------------------|
|Setting        | Values      | Effect                                              |
|---------------|-------------|-----------------------------------------------------|
|show_fps       |[true/false] | If true, then ResidualVM will show the current      |
|               |             | FPS-rate, while you play                            |
|---------------|-------------|-----------------------------------------------------|
|last_set       |[set-name]   | The set you were last on, ResidualVM will try to    |
|               |             | continue from there                                 |
|---------------|-------------|-----------------------------------------------------|
|last_save      |[save-number]| The save you last saved, ResidualVM will have that  |
|               |             | selected the next time you try to load a game.      |
|---------------|-------------|-----------------------------------------------------|
|use_arb_shaders|[true/false] | If true, and if you are using the OpenGL renderer   |
|               |             | ResidualVM will use ARB shaders. While fast they    |
|               |             | may be incompatible with some graphics drivers.     |
|---------------|-------------|-----------------------------------------------------|


---------------------------------------
6. Troubleshooting / Known Bugs, Issues
---------------------------------------
Grim Fandango had a few issues when it came out, and a few new and exciting
issues when you try to run it on newer hardware. Some of these have been
fixed in ResidualVM, but ResidualVM itself also has a few new issues that we know about:
http://github.com/residualvm/residualvm/blob/branch-0-1/KNOWN_BUGS
Look below for help with them, and if you can't find help here
try either the forums at our homepage, or IRC: #residualvm at freenode.

6.1 - In fullscreen mode picture is stretched!
----------------------------------------------
This is know issue, in future versions it will be resolved.

6.2 - I played a bit, but can't start a new game!
-------------------------------------------------
This is because the last save and visited scene is stored in your configuration
file, either delete grim-fandango from the ResidualVM-menu, and re-add it, or 
go to your configuration file, and clean out the last-save and last-set entries.


--------------
7. Bug Reports
--------------
ResidualVM still has a few bugs, many might already have been reported,
but should you find a new one, don't hesitate to report it.

7.1 - How, and where do I report bugs?
--------------------------------------
You can report bugs at our github-issue-tracker:
http://www.github.com/residualvm/residualvm/issues

Please read the Wiki regarding how to report bugs properly first though:
http://wiki.residualvm.org/index.php?title=Reporting_Bugs

Remember to always have the following information in your bug reports:
* Bug details, including instructions on reproducing it
* Language of game (English, German, ...)
* Platform and Compiler (Win32, Linux, MacOS, ...)
* Preferably also a link to a save game right before the bug happened.


----------
8. Contact
----------
Homepage: http://www.residualvm.org/
Wiki: http://wiki.residualvm.org/
Forums: http://forums.residualvm.org/
IRC: #residualvm on freenode


------------
9. Debugging
------------
WARNING: This section contains information about the various tools that
are included for debugging ResidualVM, this should not be necessary for
normal play at all. But the curious might like to know how. Use at your
own risk.

9.1 How do I enable debug-keys/debug-mode?
------------------------------------------
To enable debug-keys, and debug-mode you will have to add the following
to your configuration file under your Grim Fandango-entry:

game_devel_mode=true

9.2 Development/debug keys from the original game
-------------------------------------------------
Ctrl + e   : Enter lua string to execute
Ctrl + g   : Jump to set
Ctrl + i   : Toggle walk boxes
Ctrl + l   : Toggle lighting
Ctrl + n   : Display background name
Ctrl + o   : Create a door
Ctrl + p   : Execute patch file
Ctrl + s   : Turn on cursor
Ctrl + u   : Create a new object
Ctrl + v   : Print the value of a variable
Alt + n    : Next viewpoint
Apt + p    : Prev viewpoint
Alt + s    : Run lua script
Shift + n  : Next set
Shift + p  : Prev set
Shift + o  : Toggle object names
F3         : Toggle sector editor
Home       : Go to default position in current set
j          : Enter jump number

Note that these are only available after enabling debug-mode.
