aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorKari Salminen2008-08-05 21:20:11 +0000
committerKari Salminen2008-08-05 21:20:11 +0000
commitdf1246bf9fa04f0f72330d8dcea8c003c65f814d (patch)
treee9af82dfd90605becdd2dcfa18b4af540d0560a6 /engines
parentf3ecdaa6fea27d2e286f4b56057bc197cf886254 (diff)
downloadscummvm-rg350-df1246bf9fa04f0f72330d8dcea8c003c65f814d.tar.gz
scummvm-rg350-df1246bf9fa04f0f72330d8dcea8c003c65f814d.tar.bz2
scummvm-rg350-df1246bf9fa04f0f72330d8dcea8c003c65f814d.zip
Workaround for missing player character animation when exiting the airport in Santa Paragua in at least the 256 color PC version of Operation Stealth.
svn-id: r33644
Diffstat (limited to 'engines')
-rw-r--r--engines/cine/script_os.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/engines/cine/script_os.cpp b/engines/cine/script_os.cpp
index 0289a2a0bc..ea4ba90411 100644
--- a/engines/cine/script_os.cpp
+++ b/engines/cine/script_os.cpp
@@ -636,7 +636,28 @@ int FWScript::o2_loadAbs() {
const char *param2 = getNextString();
debugC(5, kCineDebugScript, "Line: %d: loadABS(%d,%s)", _line, param1, param2);
- loadResource(param2, param1);
+ // Load the resource to an absolute position
+ if (loadResource(param2, param1) == -1) { // Check if the loading failed
+ // WORKAROUND: In the 256 color PC version of Operation Stealth when
+ // walking out of the airport in Santa Paragua to the street the
+ // player character should be seen as a grey silhuette while walking
+ // behind the glass. But actually the player character is completely
+ // invisible when walking behind the glass because the animation files
+ // used are wrongly loaded. In AIRPORT.PRC's 6th script there are
+ // calls loadAbs("JOHN01.ANI", 73) and loadAbs("JOHN02.ANI", 37) to
+ // load the animations involved but no such files are found with the
+ // game. Corresponding SET-files are found though. As it worked and
+ // looked fine when I tried loading them instead of the missing ANI
+ // files I'm doing so here. NOTE: At least the German Amiga version
+ // of Operation Stealth seems to have all the files involved
+ // (JOHN01.ANI, JOHN02.ANI, JOHN01.SET and JOHN02.SET).
+ if (scumm_stricmp(param2, "JOHN01.ANI") == 0 && param1 == 73) {
+ loadResource("JOHN01.SET", param1);
+ } else if (scumm_stricmp(param2, "JOHN02.ANI") == 0 && param1 == 37) {
+ loadResource("JOHN02.SET", param1);
+ }
+ }
+
return 0;
}