aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/support
diff options
context:
space:
mode:
authorPaul Gilbert2016-04-06 19:42:45 -0400
committerPaul Gilbert2016-04-06 19:42:45 -0400
commitac59f58c8a65e9e27a696da4536693c7d6ec6bc9 (patch)
tree0eaba9c5715badd673d7fc5967b9642849b4fc60 /engines/titanic/support
parent71a278791a25d039c39a818f27d1106db1fa0e6e (diff)
downloadscummvm-rg350-ac59f58c8a65e9e27a696da4536693c7d6ec6bc9.tar.gz
scummvm-rg350-ac59f58c8a65e9e27a696da4536693c7d6ec6bc9.tar.bz2
scummvm-rg350-ac59f58c8a65e9e27a696da4536693c7d6ec6bc9.zip
TITANIC: Implement CBackground message handlers
Diffstat (limited to 'engines/titanic/support')
-rw-r--r--engines/titanic/support/movie.cpp2
-rw-r--r--engines/titanic/support/movie.h4
-rw-r--r--engines/titanic/support/video_surface.cpp6
-rw-r--r--engines/titanic/support/video_surface.h2
4 files changed, 11 insertions, 3 deletions
diff --git a/engines/titanic/support/movie.cpp b/engines/titanic/support/movie.cpp
index 25909183dd..846dc09d5c 100644
--- a/engines/titanic/support/movie.cpp
+++ b/engines/titanic/support/movie.cpp
@@ -59,7 +59,7 @@ void OSMovie::proc8(int v1, CVideoSurface *surface) {
warning("TODO: OSMovie::proc8");
}
-void OSMovie::proc9() {
+void OSMovie::proc9(int v1, int v2, int v3, bool v4) {
warning("TODO: OSMovie::proc9");
}
diff --git a/engines/titanic/support/movie.h b/engines/titanic/support/movie.h
index e84e283597..b5ae70de13 100644
--- a/engines/titanic/support/movie.h
+++ b/engines/titanic/support/movie.h
@@ -40,7 +40,7 @@ public:
virtual ~CMovie() {}
virtual void proc8(int v1, CVideoSurface *surface) = 0;
- virtual void proc9() = 0;
+ virtual void proc9(int v1, int v2, int v3, bool v4) = 0;
virtual void proc10() = 0;
virtual void proc11() = 0;
virtual void proc12() = 0;
@@ -68,7 +68,7 @@ public:
virtual ~OSMovie();
virtual void proc8(int v1, CVideoSurface *surface);
- virtual void proc9();
+ virtual void proc9(int v1, int v2, int v3, bool v4);
virtual void proc10();
virtual void proc11();
virtual void proc12();
diff --git a/engines/titanic/support/video_surface.cpp b/engines/titanic/support/video_surface.cpp
index a1b26386b3..1a0d48bebe 100644
--- a/engines/titanic/support/video_surface.cpp
+++ b/engines/titanic/support/video_surface.cpp
@@ -368,6 +368,12 @@ void OSVideoSurface::proc32(int v1, CVideoSurface *surface) {
_movie->proc8(v1, surface);
}
+void OSVideoSurface::proc34(int v1, int v2, int v3, bool v4) {
+ if (loadIfReady() && _movie) {
+ _movie->proc9(v1, v2, v3, v4);
+ }
+}
+
void OSVideoSurface::stopMovie() {
if (_movie)
_movie->stop();
diff --git a/engines/titanic/support/video_surface.h b/engines/titanic/support/video_surface.h
index e1ddde8013..767306cae6 100644
--- a/engines/titanic/support/video_surface.h
+++ b/engines/titanic/support/video_surface.h
@@ -153,6 +153,7 @@ public:
virtual void shiftColors() = 0;
virtual void proc32(int v1, CVideoSurface *surface) = 0;
+ virtual void proc34(int v1, int v2, int v3, bool v4) = 0;
/**
* Stops any movie currently attached to the surface
@@ -299,6 +300,7 @@ public:
virtual void shiftColors();
virtual void proc32(int v1, CVideoSurface *surface);
+ virtual void proc34(int v1, int v2, int v3, bool v4);
/**
* Stops any movie currently attached to the surface