aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJohannes Schickel2007-09-23 22:43:46 +0000
committerJohannes Schickel2007-09-23 22:43:46 +0000
commitdf827970a13a0996f90e397b1d53aeb98ca42955 (patch)
treeeea9256b716ea4b4b6abe20e4b60c7e5e248aa29 /engines
parentef986e2222f5e64f47eae392ecdc6aa8fdf8a98d (diff)
downloadscummvm-rg350-df827970a13a0996f90e397b1d53aeb98ca42955.tar.gz
scummvm-rg350-df827970a13a0996f90e397b1d53aeb98ca42955.tar.bz2
scummvm-rg350-df827970a13a0996f90e397b1d53aeb98ca42955.zip
Fix for kyra3 crashes while playing WSA files.
svn-id: r29075
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/kyra_v2.h2
-rw-r--r--engines/kyra/kyra_v3.cpp7
-rw-r--r--engines/kyra/kyra_v3.h2
3 files changed, 10 insertions, 1 deletions
diff --git a/engines/kyra/kyra_v2.h b/engines/kyra/kyra_v2.h
index fb8fd2c454..9fc24cff26 100644
--- a/engines/kyra/kyra_v2.h
+++ b/engines/kyra/kyra_v2.h
@@ -90,7 +90,7 @@ public:
virtual Screen *screen() { return _screen; }
Screen_v2 *screen_v2() { return _screen; }
- Movie *createWSAMovie();
+ virtual Movie *createWSAMovie();
protected:
// Main menu code, also used for Kyra 3
static const char *_mainMenuStrings[];
diff --git a/engines/kyra/kyra_v3.cpp b/engines/kyra/kyra_v3.cpp
index c620d7d269..6ee5eff11c 100644
--- a/engines/kyra/kyra_v3.cpp
+++ b/engines/kyra/kyra_v3.cpp
@@ -697,5 +697,12 @@ bool KyraEngine_v3::loadLanguageFile(const char *file, uint8 *&buffer) {
return size != 0 && buffer != 0;
}
+Movie *KyraEngine_v3::createWSAMovie() {
+ WSAMovieV2 *movie = new WSAMovieV2(this);
+ assert(movie);
+ movie->flagOldOff(true);
+ return movie;
+}
+
} // end of namespace Kyra
diff --git a/engines/kyra/kyra_v3.h b/engines/kyra/kyra_v3.h
index 79c48b0dcb..f0c3f3b2dd 100644
--- a/engines/kyra/kyra_v3.h
+++ b/engines/kyra/kyra_v3.h
@@ -42,6 +42,8 @@ public:
int go();
void playVQA(const char *name);
+
+ virtual Movie *createWSAMovie();
private:
int init();