diff options
author | Paul Gilbert | 2016-08-14 14:57:23 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-08-14 14:57:23 -0400 |
commit | 7e3d91cd46426e8091032010f36f86ee467a899c (patch) | |
tree | ed494c2b05d2ae963544cc29a308162bb9fe1d21 /engines/titanic/core | |
parent | 54a6ec5c074bfb2d83f1841c5775ac606dbd9d90 (diff) | |
download | scummvm-rg350-7e3d91cd46426e8091032010f36f86ee467a899c.tar.gz scummvm-rg350-7e3d91cd46426e8091032010f36f86ee467a899c.tar.bz2 scummvm-rg350-7e3d91cd46426e8091032010f36f86ee467a899c.zip |
TITANIC: Implemented CTitania class
Diffstat (limited to 'engines/titanic/core')
-rw-r--r-- | engines/titanic/core/game_object.cpp | 14 | ||||
-rw-r--r-- | engines/titanic/core/game_object.h | 5 |
2 files changed, 19 insertions, 0 deletions
diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp index 9a524e57a9..12d4c5603a 100644 --- a/engines/titanic/core/game_object.cpp +++ b/engines/titanic/core/game_object.cpp @@ -668,6 +668,20 @@ void CGameObject::playRandomClip(const char *const *names, uint flags) { playClip(name, flags); } +void CGameObject::playCutscene(uint startFrame, uint endFrame) { + if (!_surface) { + if (!_resource.empty()) + loadResource(_resource); + _resource.clear(); + } + + if (_surface && _surface->loadIfReady() && _surface->_movie) { + disableMouse(); + _surface->_movie->playCutscene(_bounds, startFrame, endFrame); + enableMouse(); + } +} + void CGameObject::savePosition() { _savedPos = _bounds; } diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h index f853a63bbb..cdb5f6906a 100644 --- a/engines/titanic/core/game_object.h +++ b/engines/titanic/core/game_object.h @@ -350,6 +350,11 @@ protected: void playClip(uint startFrame, uint endFrame); /** + * Play a cutscene + */ + void playCutscene(uint startFrame, uint endFrame); + + /** * Play a clip randomly from a passed list of names */ void playRandomClip(const char *const *names, uint flags); |