Residual main repository
C++ C Shell Assembly Visual Basic Perl Other
Switch branches/tags
Nothing to show
Pull request Compare This branch is 4431 commits behind residualvm:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Residual: A 3D game interpreter

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

1. What is Residual?
Residual is a game engine reimplementation that allows you 
to play 3D adventure games such as Grim Fandango.

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

2. Current state of Residual
Residual is a fairly slow developing project and is still very much considered

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

2.1.1 . GrimE-games support 
Escape From Monkey Island        - Not supported*
Escape From Monkey Island (demo) - Not supported*
Grim Fandango                    - Completable with glitches
Grim Fandango (demo)             - Completable with glitches

Specifics can be found at

* It is possible, but far from promised, that 'Escape from Monkey Island'
  may be supported in the distant future.

2.2 - What is the state of Residual? 
Basic gameplay works, including cutscenes.  Grim Fandango is completable 
but many features are either missing or unstable. Crashes are likely.

Also beware that since Residual is currently in an alpha-state, there is
no guarantee that your saves will continue to work with newer builds.

For more information, see the page on Residual at the wiki page:

3. Running Residual
As Residual is not yet stable, easy to use, or complete.
Some technical ability might be required.

3.1 - Required files
You will need the data files for Grim Fandango, as well as the patch,
if your game is an older release.

Specifically you need these files from your Grim CDs:

3.2 - Running Grim Fandango
1. Copy the neccessary files to a folder on your Hard Drive.
2. Apply the patch, if you don't have it*
2. Open Residual
3. Choose "Add Game"
4. Select the folder you created in step 1
5. Click Start

* Patched versions have subtitles in cutscenes, and can complete
the game, unpatched versions don't have subtitles in cutscenes, 
and can't complete the game. 

The patch can be downloaded from: and obviously requires
Windows or something similar to unpack and apply it. (There does exist
tools to unpack it on any platform in the residual-tools git-repos).

Additional information on how to apply the patch, can be found in our
wiki at:

If you want to try to play with fullscreen, or you want to play with
software-rendering, see the configuration-section below.

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)
F1         : Menu

5 - Configuration
Currently, not all the settings for residual 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

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

        Windows Vista/7:

        Windows 2000/XP:
        \Documents and Settings\username\Application Data\Residual\residual.ini

        Windows NT4:
        <windir>\Profiles\username\Application Data\Residual\residual.ini

        Windows 95/98/ME:


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

        residual.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 residual crash, or behave in weird ways.

|Setting            | Values      | Effect                                              |
|soft_renderer      |[true/false] | If true, then the software renderer will be used    |
|                   |             | otherwise, Residual will try to use HW-rendering.   |
|fullscreen         |[true/false] | If true, then Residual will attempt to run in       |
|                   |             | fullscreen-mode, otherwise it will use a window.    |
|show_fps           |[true/false] | If true, then Residual will show the current        |
|                   |             | FPS-rate, while you play                            |
|last_set           |[set-name]   | The set you were last on, Residual will try to      |
|                   |             | continue from there                                 |
|last_save          |[save-number]| The save you last saved, Residual will have that    |
|                   |             | selected the next time you try to load a game.      |

6. Troubleshooting / Known 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. Residual also has a few issues
that we know about, look here for help with them, and if you can't find help here
try either the forums at our homepage, or IRC: #residual at freenode

6.1 - The game runs really slow !
Some gfx cards do not have a fast glDrawPixels access to zbuffer
implementation in their system driver.

Unix users may be able to achieve playable framerates by using Mesa 5.0 or
above, but people unable to upgrade or Windows users must use software
renderer. Software renderer is generally faster on modern platforms.

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 Residual-menu, and readd it, or 
go to your configuration file, and clean out the last-save and last-set entries.

6.3 - My Save Games don't work any more
Did you recently update to a newer build of Residual? Residual is still alpha,
so the save game format still is a work in progress, which means that it might
change between builds. 

7. Bug Reports
Residual is currently rather young, and therefore 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:

Please read the Wiki regarding how to report bugs properly first though:

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
IRC: #residual on freenode

9. Debugging
WARNING: This section contains information about the various tools that
are included for debugging residual, 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:


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.