aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/core
diff options
context:
space:
mode:
authorPaul Gilbert2016-04-10 09:19:37 -0400
committerPaul Gilbert2016-04-10 09:19:37 -0400
commit78d03f9784d17f65b29e5b6836d23d8f494d3c7c (patch)
tree28f242e51fcbef416e0b5cef568f7dd32366aa4f /engines/titanic/core
parentc96164dde01f6336615528d2a7c930c37c696be2 (diff)
downloadscummvm-rg350-78d03f9784d17f65b29e5b6836d23d8f494d3c7c.tar.gz
scummvm-rg350-78d03f9784d17f65b29e5b6836d23d8f494d3c7c.tar.bz2
scummvm-rg350-78d03f9784d17f65b29e5b6836d23d8f494d3c7c.zip
TITANIC: Television video is now playing
Diffstat (limited to 'engines/titanic/core')
-rw-r--r--engines/titanic/core/game_object.cpp9
-rw-r--r--engines/titanic/core/game_object.h2
2 files changed, 9 insertions, 2 deletions
diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp
index feeabdb5dc..cdc2db68df 100644
--- a/engines/titanic/core/game_object.cpp
+++ b/engines/titanic/core/game_object.cpp
@@ -364,7 +364,7 @@ void CGameObject::fn1(int val1, int val2, int val3) {
if (movie)
movie->_gameObject = this;
- _surface->proc34(val1, val2, val3, val3 != 0);
+ _surface->playMovie(val1, val2, val3, val3 != 0);
if (val3 & 0x10)
getGameManager()->_gameState.addMovie(_surface->_movie);
@@ -380,8 +380,13 @@ void CGameObject::changeStatus(int newStatus) {
CVideoSurface *surface = (newStatus & 4) ? _surface : nullptr;
if (_surface) {
- _surface->proc32(newStatus, surface);
+ _surface->playMovie(newStatus, surface);
+ // TODO: Figure out where to do this legitimately
+ OSMovie *movie = static_cast<OSMovie *>(_surface->_movie);
+ if (movie)
+ movie->_gameObject = this;
+
if (newStatus & 0x10) {
getGameManager()->_gameState.addMovie(_surface->_movie);
}
diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h
index 108650958b..0ea67a132b 100644
--- a/engines/titanic/core/game_object.h
+++ b/engines/titanic/core/game_object.h
@@ -34,8 +34,10 @@ namespace Titanic {
class CVideoSurface;
class CMouseDragStartMsg;
+class OSMovie;
class CGameObject : public CNamedItem {
+ friend class OSMovie;
DECLARE_MESSAGE_MAP
public:
static void *_v1;