diff options
author | Kari Salminen | 2008-08-05 21:20:11 +0000 |
---|---|---|
committer | Kari Salminen | 2008-08-05 21:20:11 +0000 |
commit | df1246bf9fa04f0f72330d8dcea8c003c65f814d (patch) | |
tree | e9af82dfd90605becdd2dcfa18b4af540d0560a6 /engines | |
parent | f3ecdaa6fea27d2e286f4b56057bc197cf886254 (diff) | |
download | scummvm-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.cpp | 23 |
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; } |