aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-09-30 13:02:31 +0000
committerTravis Howell2006-09-30 13:02:31 +0000
commit119ee3fb8b0f25f0408646c2a96ecb094251ce2e (patch)
treeb5e0ff6fb456513a27868b3aa29c57ce51224013
parent23c1ba8cd64153a6390975faca63da0e36f8ca10 (diff)
downloadscummvm-rg350-119ee3fb8b0f25f0408646c2a96ecb094251ce2e.tar.gz
scummvm-rg350-119ee3fb8b0f25f0408646c2a96ecb094251ce2e.tar.bz2
scummvm-rg350-119ee3fb8b0f25f0408646c2a96ecb094251ce2e.zip
Add support for skipping swampy introduction
svn-id: r24041
-rw-r--r--engines/agos/agos.cpp1
-rw-r--r--engines/agos/agos.h2
-rw-r--r--engines/agos/items.cpp13
3 files changed, 12 insertions, 4 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 18341c5815..f3b971cb43 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -262,6 +262,7 @@ AGOSEngine::AGOSEngine(OSystem *syst)
_unkPalFlag = 0;
_exitCutscene = 0;
_paletteFlag = 0;
+ _picture8600 = 0;
_soundFileId = 0;
_lastMusicPlayed = 0;
diff --git a/engines/agos/agos.h b/engines/agos/agos.h
index 34b444b48b..ff5e647831 100644
--- a/engines/agos/agos.h
+++ b/engines/agos/agos.h
@@ -362,7 +362,7 @@ protected:
uint16 _noOverWrite;
bool _rejectBlock;
- bool _exitCutscene;
+ bool _exitCutscene, _picture8600;
uint _soundFileId;
int16 _lastMusicPlayed;
diff --git a/engines/agos/items.cpp b/engines/agos/items.cpp
index 8fe15a3ecf..3c752c5f05 100644
--- a/engines/agos/items.cpp
+++ b/engines/agos/items.cpp
@@ -1172,6 +1172,8 @@ void AGOSEngine::o_picture() {
uint vga_res = getVarOrWord();
uint mode = getVarOrByte();
+ _picture8600 = (vga_res == 8600);
+
if (mode == 4)
vc29_stopAllSounds();
@@ -2776,9 +2778,14 @@ void AGOSEngine::waitForMark(uint i) {
_exitCutscene = false;
while (!(_marks & (1 << i))) {
if (_exitCutscene) {
- if (getBitFlag(9)) {
- endCutscene();
- break;
+ if (getGameType() == GType_PP) {
+ if (_picture8600)
+ break;
+ } else {
+ if (getBitFlag(9)) {
+ endCutscene();
+ break;
+ }
}
} else {
processSpecialKeys();