ScummVM main repository
Go to file
Marcus Comstedt d358d90391 Added time functionality to the Driver interface, following the model
from ScummVM.

SDL-specific time code has been moved into the new class DriverSDL,
which now serves as a base class for DriverGL and DriverTinyGL.
2006-02-05 17:19:44 +00:00
dists update 2006-01-01 11:14:40 +00:00
imuse Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
lua fixed warning 2006-01-01 11:12:22 +00:00
mixer Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
tinygl proper light texture mapping in tinygl 2005-08-11 13:34:53 +00:00
tools added more filters 2005-08-08 06:43:48 +00:00
.cvsignore added more filters 2005-08-08 06:43:48 +00:00
actor.cpp Fixed colormaps in several places, changed component tags from strings to IDs 2006-01-04 06:00:47 +00:00
actor.h Fixed colormaps in several places, changed component tags from strings to IDs 2006-01-04 06:00:47 +00:00
bitmap.cpp enabled DimRegion, fix display screenshot 2005-08-12 13:51:10 +00:00
bitmap.h added code for hardware setup, and another Bitmap constructor 2005-04-08 14:35:13 +00:00
bits.h fixed ARRAYSIZE compatibility for vc2005 2006-01-01 11:13:37 +00:00
blocky16.cpp cleanup headers 2005-01-01 12:27:57 +00:00
blocky16.h update copyrights 2005-01-01 10:23:18 +00:00
color.h update copyrights 2005-01-01 10:23:18 +00:00
colormap.h cleanup headers 2005-01-01 12:27:57 +00:00
COPYING Rename license file. 2004-03-05 03:18:51 +00:00
costume.cpp fix warnings and compilation 2006-01-07 12:37:03 +00:00
costume.h fix warnings and compilation 2006-01-07 12:37:03 +00:00
debug.cpp Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
debug.h fix warnings, cleanup code 2005-08-10 08:33:45 +00:00
driver_gl.cpp Fixed more invisible object and colormap issues, fix dillopede elevator music. 2006-01-05 02:40:26 +00:00
driver_gl.h Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
driver_sdl.cpp Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
driver_sdl.h Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
driver_tinygl.cpp Moved check against TGL_MAX_LIGHTS into driver_tinygl.cpp, as it is specific to TinyGL. 2006-02-05 16:14:19 +00:00
driver_tinygl.h Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
driver.h Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
engine.cpp Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
engine.h added speed main loop limit 2006-01-21 17:22:39 +00:00
font.cpp Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
font.h Updated header files to be GCC 4.1 compatible 2005-12-24 18:19:53 +00:00
keyframe.cpp now is correct 2005-08-12 13:49:52 +00:00
keyframe.h update copyrights 2005-01-01 10:23:18 +00:00
lab.cpp cleanup headers 2005-01-01 12:27:57 +00:00
lab.h update copyrights 2005-01-01 10:23:18 +00:00
lipsynch.cpp Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
lipsynch.h handle sfx and voice by imuse 2005-01-01 21:07:52 +00:00
localize.cpp basic grim demo support 2005-08-27 16:08:44 +00:00
localize.h update copyrights 2005-01-01 10:23:18 +00:00
lua.cpp Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
lua.h Initial support for TurnActorTo, PointActorAt, RotateVector, GetPointSector, and SetActorPitch - little bit smarter SMUSH looping 2005-07-26 01:46:53 +00:00
main.cpp basic grim demo support 2005-08-27 16:08:44 +00:00
Makefile cleanup headers 2005-01-01 12:27:57 +00:00
Makefile.common Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
Makefile.cross cleanup headers 2005-01-01 12:27:57 +00:00
Makefile.mingw cleanup headers 2005-01-01 12:27:57 +00:00
material.cpp Improved state object rendering - actor colormap support - preliminary debug message options - actor transparency support for hardware renderer 2005-07-10 18:57:27 +00:00
material.h Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
matrix3.cpp cleanup headers 2005-01-01 12:27:57 +00:00
matrix3.h update copyrights 2005-01-01 10:23:18 +00:00
matrix4.cpp update copyrights 2005-01-01 10:23:18 +00:00
matrix4.h update copyrights 2005-01-01 10:23:18 +00:00
model.cpp Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
model.h Fix for scene changing bug (task cleanup problem) - better SMUSH looping - actor choring now allowed when actor not visible. commit from wrong folder, here's the rest. 2005-07-21 15:16:35 +00:00
objectstate.cpp fixed some warnings and compilation under mingw : 2005-04-08 22:29:06 +00:00
objectstate.h Updated header files to be GCC 4.1 compatible 2005-12-24 18:19:53 +00:00
primitives.cpp Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
primitives.h Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
README Update README a little. 2005-08-12 01:52:30 +00:00
registry.cpp fix for text object memory problems and some small improvements to the menu handling system 2005-08-10 05:30:58 +00:00
registry.h Improved state object rendering - actor colormap support - preliminary debug message options - actor transparency support for hardware renderer 2005-07-10 18:57:27 +00:00
residual.kdevprj added simple and empty kdevelop project file 2003-12-17 20:53:01 +00:00
residual.rc update copyrights 2005-01-01 10:23:18 +00:00
resource.cpp This should fix compilation on non-Windows systems, though I can't verify 2005-08-28 11:12:30 +00:00
resource.h Font patch from Andrea Corna - improved keyframe support - SMUSH looping support - improved IMUSE stability - additional error checking 2005-07-17 23:40:22 +00:00
savegame.cpp Fixed some warnings. 2006-02-05 16:17:15 +00:00
savegame.h Centralized save/restore system, x86-64 fixes for lua_Save and lua_Restore (should be more portable now), stored screenshots for savegames 2005-12-26 02:36:00 +00:00
scene.cpp Fixed some warnings. 2006-02-05 16:17:15 +00:00
scene.h Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
smush.cpp uninitialised variable 2006-01-07 18:50:11 +00:00
smush.h Fix for scene changing bug (task cleanup problem) - better SMUSH looping - actor choring now allowed when actor not visible. commit from wrong folder, here's the rest. 2005-07-21 15:16:35 +00:00
stdafx.h remove stdint.h include, which is not present on IRIX (and unused currently anyway) 2006-01-20 18:06:59 +00:00
textobject.cpp cleanup, remove char of id 13 from string 2005-08-21 13:59:38 +00:00
textobject.h Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00
textsplit.cpp TextSplit rewind support, support for sectors in reverse order 2005-12-28 05:22:18 +00:00
textsplit.h TextSplit rewind support, support for sectors in reverse order 2005-12-28 05:22:18 +00:00
timer.cpp Added time functionality to the Driver interface, following the model 2006-02-05 17:19:44 +00:00
timer.h update copyrights 2005-01-01 10:23:18 +00:00
vector3d.h fixed compilation and warnings 2005-08-08 07:05:58 +00:00
vima.cpp fixed some warnings 2005-01-12 23:28:47 +00:00
walkplane.cpp TextSplit rewind support, support for sectors in reverse order 2005-12-28 05:22:18 +00:00
walkplane.h Removed includes of SDL stuff in code not depending on SDL (and added such includes in code which _is_ depending on SDL...) 2006-02-05 16:11:12 +00:00

Residual: A LucasArts 3D game interpreter           Version:      0.06a-CVS
(C) 2003-2005 The ScummVM-Residual team             Last Updated: 12 Aug 2005
------------------------------------------------------------------------------

What is Residual?
-----------------
Residual is a ScummVM (http://www.scummvm.org/) sub-project to play LucasArts'
LUA-based 3D adventures, such as Grim Fandango. Residual is an OpenGL program,
and requires a 3D card with working OpenGL support for optimum playability.

A software renderer is also included for machines without hardware OpenGL.

The main ScummVM program can run LucasArts 2D SCUMM adventures (among others).
Residual is named such as it aims to do the same for the residual (remaining) 
games. It is also a word pun, as the engine used in these LUA-based adventure
is called GrimE (as opposed to SCUMM). Grime is a type of residue.

What games does it support?
---------------------------
Residual is a fairly new project and slow developing project, and is still very
much considered alpha. Currently it contains initial support for Grim Fandango.

It is possible, but far from promised, that we can support the other LucasArts
LUA-based title 'Escape from Monkey Island' in the distant future.

How do I run Residual?
----------------------
As Residual is still under heavy development, it is not yet stable, easy
to use, nor complete. Some technical ability is required.

UNIX:
     Create a ~/.residualrc file, containing the following lines:
       DataDir=[path to all the .lab files]
       good_times=TRUE

Win32:
     Copy 'residual.exe' into the directory containing your .lab files, and
create a file in this directory called 'residual.ini'. This file should contain
the lines:
       DataDir=.
       good_times=TRUE

Residual understands command-line options: 
'-zbuffer' enables masking for hardware 3d rendering.
'-showfps' display fps information.
'-soft' switch to software 3d renderering.

It runs really slow when using -zbuffer!
----------------------------------------
A large portion of older cards (Such as 3dfx cards, Radeon 7500 and earlier,
Matrox G4xx series cards, etc) do not have a fast glDrawPixels implementation.

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 (-soft).

What is the state of Residual? 
------------------------------- 
Basic gameplay works, including cutscenes. Some of the game is playable,
but many features are either missing or unstable. There is no abilitity
to save/load, etc. Crashes are likely.

Game currently playable to:
	Meche leaves Manny again (Rubacava, Year 2)

Caveats (in order of appearance):
1) Sound track destruction doesn't do quite a good enough job when
   entering the spider web area (sp.set) in the Petrified Forest
2) Video of Copal's death (among other movies) plays at *almost* 2x
   the correct speed, this causes buffer overflows in the audio.
   While hardcoding the speed to the correct value used by the other
   movies works, it is not a good fix and so it is not implemented
3) Sometimes the Demon Beavers get stuck on obstacles - open the 
   menu for a moment and they will correct themselves

What are the default keys?
--------------------------
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
q          : Exit Dialog Menu
Ctrl + c   : Force Quit (from command-line)

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

How do I report bugs?
---------------------
Don't. Residual is very alpha and we KNOW it doesn't work right.

What else should I know?
------------------------
  * See TODO for other stuff

Credits:
------------------------------
ScummVM-Residual Team:
 James 'Ender' Brown          	    Core developer. ScummVM co-lead dev
 Pawel 'aquadran' Kolodziejski      Core developer. SMUSH, iMUSE implemention
 Erich 'Compholio' Hoover           x86-64, various fixes and comments, menu support, improved state support

Contributors:
 Daniel Schepler                    Initial engine codebase, LUA support
 Vincent Hamm                       Various engine code
 Lionel 'bbrox' Ulmer               OpenGL optimisations
 Ori 'salty-horse' Avtalion         Lipsync, LAF support
 Andrea 'Yak Bizzarro' Corna        Improved font support

Special Thanks To:
------------------ 
 The LUA developers, for creating a nice compact script interpreter.
 
 Tim Schafer, for obvious reasons, and everybody else who helped make
 Grim Fandango a brilliant game; and the EMI team for giving it their
 best try.
 
 Bret Mogilefsky, for managing to create a SPUTM-style 3D LUA engine,
 and avoiding the horrible hack it could have been.