aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/moves/enter_exit_view.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-08-20 15:11:07 -0400
committerPaul Gilbert2016-08-20 15:11:07 -0400
commit04242118ca7bca31aa9659ffceaf80702bc90fb8 (patch)
tree05b9afd600f97f1d20c2774121512bd4e8f990a4 /engines/titanic/moves/enter_exit_view.cpp
parent1dc8ae58e40c08e1e50cfe8c892b3dac27abdafd (diff)
downloadscummvm-rg350-04242118ca7bca31aa9659ffceaf80702bc90fb8.tar.gz
scummvm-rg350-04242118ca7bca31aa9659ffceaf80702bc90fb8.tar.bz2
scummvm-rg350-04242118ca7bca31aa9659ffceaf80702bc90fb8.zip
TITANIC: Implemented more game classes
Diffstat (limited to 'engines/titanic/moves/enter_exit_view.cpp')
-rw-r--r--engines/titanic/moves/enter_exit_view.cpp49
1 files changed, 37 insertions, 12 deletions
diff --git a/engines/titanic/moves/enter_exit_view.cpp b/engines/titanic/moves/enter_exit_view.cpp
index 825156acce..6778ebb52a 100644
--- a/engines/titanic/moves/enter_exit_view.cpp
+++ b/engines/titanic/moves/enter_exit_view.cpp
@@ -24,30 +24,55 @@
namespace Titanic {
-CEnterExitView::CEnterExitView() : CGameObject(), _fieldBC(0),
- _fieldC0(0), _fieldC4(0), _fieldC8(0), _fieldCC(0) {
+BEGIN_MESSAGE_MAP(CEnterExitView, CGameObject)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(LeaveViewMsg)
+ ON_MESSAGE(MovieEndMsg)
+END_MESSAGE_MAP()
+
+CEnterExitView::CEnterExitView() : CGameObject(), _leaveEndFrame(0),
+ _leaveStartFrame(0), _enterEndFrame(0), _enterStartFrame(0),
+ _visibleAfterMovie(true) {
}
void CEnterExitView::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeNumberLine(_fieldBC, indent);
- file->writeNumberLine(_fieldC0, indent);
- file->writeNumberLine(_fieldC4, indent);
- file->writeNumberLine(_fieldC8, indent);
- file->writeNumberLine(_fieldCC, indent);
+ file->writeNumberLine(_leaveEndFrame, indent);
+ file->writeNumberLine(_leaveStartFrame, indent);
+ file->writeNumberLine(_enterEndFrame, indent);
+ file->writeNumberLine(_enterStartFrame, indent);
+ file->writeNumberLine(_visibleAfterMovie, indent);
CGameObject::save(file, indent);
}
void CEnterExitView::load(SimpleFile *file) {
file->readNumber();
- _fieldBC = file->readNumber();
- _fieldC0 = file->readNumber();
- _fieldC4 = file->readNumber();
- _fieldC8 = file->readNumber();
- _fieldCC = file->readNumber();
+ _leaveEndFrame = file->readNumber();
+ _leaveStartFrame = file->readNumber();
+ _enterEndFrame = file->readNumber();
+ _enterStartFrame = file->readNumber();
+ _visibleAfterMovie = file->readNumber();
CGameObject::load(file);
}
+bool CEnterExitView::EnterViewMsg(CEnterViewMsg *msg) {
+ setVisible(true);
+ playMovie(_enterStartFrame, _enterEndFrame, MOVIE_NOTIFY_OBJECT);
+ return true;
+}
+
+bool CEnterExitView::LeaveViewMsg(CLeaveViewMsg *msg) {
+ setVisible(true);
+ playMovie(_leaveStartFrame, _leaveEndFrame, MOVIE_NOTIFY_OBJECT);
+ return true;
+}
+
+bool CEnterExitView::MovieEndMsg(CMovieEndMsg *msg) {
+ if (!_visibleAfterMovie)
+ setVisible(false);
+ return true;
+}
+
} // End of namespace Titanic