aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic
diff options
context:
space:
mode:
authorPaul Gilbert2016-08-09 21:51:19 -0400
committerPaul Gilbert2016-08-09 21:51:19 -0400
commit668c486f4fdf270a88cfd799ba54871d5a314383 (patch)
treee7c48a32fb9ff2ce2aa7b739faa3311c9cd52e70 /engines/titanic
parent30936a6115160e8e79b3c768c2ee97aae9cbd554 (diff)
downloadscummvm-rg350-668c486f4fdf270a88cfd799ba54871d5a314383.tar.gz
scummvm-rg350-668c486f4fdf270a88cfd799ba54871d5a314383.tar.bz2
scummvm-rg350-668c486f4fdf270a88cfd799ba54871d5a314383.zip
TITANIC: Implemented more sound related classes
Diffstat (limited to 'engines/titanic')
-rw-r--r--engines/titanic/core/game_object.cpp17
-rw-r--r--engines/titanic/core/game_object.h12
-rw-r--r--engines/titanic/npcs/true_talk_npc.cpp8
-rw-r--r--engines/titanic/npcs/true_talk_npc.h5
-rw-r--r--engines/titanic/sound/restricted_auto_music_player.cpp47
-rw-r--r--engines/titanic/sound/restricted_auto_music_player.h10
-rw-r--r--engines/titanic/sound/room_trigger_auto_music_player.cpp22
-rw-r--r--engines/titanic/sound/room_trigger_auto_music_player.h4
-rw-r--r--engines/titanic/sound/season_noises.cpp86
-rw-r--r--engines/titanic/sound/season_noises.h15
-rw-r--r--engines/titanic/sound/titania_speech.cpp119
-rw-r--r--engines/titanic/sound/titania_speech.h9
-rw-r--r--engines/titanic/sound/view_toggles_other_music.cpp20
-rw-r--r--engines/titanic/sound/view_toggles_other_music.h4
-rw-r--r--engines/titanic/support/movie.cpp2
-rw-r--r--engines/titanic/support/movie.h2
16 files changed, 320 insertions, 62 deletions
diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp
index e0a4903f75..3a100ffd29 100644
--- a/engines/titanic/core/game_object.cpp
+++ b/engines/titanic/core/game_object.cpp
@@ -783,6 +783,14 @@ int CGameObject::addTimer(uint firstDuration, uint repeatDuration) {
return timer->_id;
}
+int CGameObject::startAnimTimer(const CString &action, uint firstDuration, uint repeatDuration) {
+ CTimeEventInfo *timer = new CTimeEventInfo(g_vm->_events->getTicksCount(),
+ repeatDuration > 0, firstDuration, repeatDuration, this, 0, action);
+ getGameManager()->addTimer(timer);
+
+ return timer->_id;
+}
+
void CGameObject::stopTimer(int id) {
getGameManager()->stopTimer(id);
}
@@ -1330,14 +1338,14 @@ void CGameObject::fn10(int v1, int v2, int v3) {
_field4C = v3;
}
-void CGameObject::setMovie14(int v) {
+void CGameObject::movieSetAudioTiming(bool flag) {
if (!_surface && !_resource.empty()) {
loadResource(_resource);
_resource.clear();
}
if (_surface && _surface->_movie)
- _surface->_movie->_field14 = v;
+ _surface->_movie->_hasAudioTiming = flag;
}
void CGameObject::movieEvent(int frameNumber) {
@@ -1481,6 +1489,11 @@ CTreeItem *CGameObject::petContainerRemove(CGameObject *obj) {
return item;
}
+bool CGameObject::petCheckNode(const CString &name) {
+ CPetControl *pet = getPetControl();
+ return pet ? pet->checkNode(name) : false;
+}
+
bool CGameObject::petDismissBot(const CString &name) {
CPetControl *pet = getPetControl();
return pet ? pet->dismissBot(name) : false;
diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h
index 19eb296965..cad05dea00 100644
--- a/engines/titanic/core/game_object.h
+++ b/engines/titanic/core/game_object.h
@@ -260,6 +260,11 @@ protected:
int addTimer(uint firstDuration, uint repeatDuration = 0);
/**
+ * Start an animation timer
+ */
+ int startAnimTimer(const CString &action, uint firstDuration, uint repeatDuration = 0);
+
+ /**
* Stops a timer
*/
void stopTimer(int id);
@@ -417,7 +422,10 @@ protected:
*/
void setPassengerClass(int newClass);
- void setMovie14(int v);
+ /**
+ * Overrides whether the object's movie has audio timing
+ */
+ void movieSetAudioTiming(bool flag);
void fn10(int v1, int v2, int v3);
@@ -768,6 +776,8 @@ public:
CTreeItem *petContainerRemove(CGameObject *obj);
+ bool petCheckNode(const CString &name);
+
/**
* Dismiss a bot
*/
diff --git a/engines/titanic/npcs/true_talk_npc.cpp b/engines/titanic/npcs/true_talk_npc.cpp
index 290922f660..9310f285e5 100644
--- a/engines/titanic/npcs/true_talk_npc.cpp
+++ b/engines/titanic/npcs/true_talk_npc.cpp
@@ -198,14 +198,6 @@ void CTrueTalkNPC::processInput(CTextInputMsg *msg, CViewItem *view) {
talkManager->processInput(this, msg, view);
}
-int CTrueTalkNPC::startAnimTimer(const CString &action, uint firstDuration, uint duration) {
- CTimeEventInfo *timer = new CTimeEventInfo(g_vm->_events->getTicksCount(),
- duration > 0, firstDuration, duration, this, 0, action);
- getGameManager()->addTimer(timer);
-
- return timer->_id;
-}
-
void CTrueTalkNPC::stopAnimTimer(int id) {
getGameManager()->stopTimer(id);
}
diff --git a/engines/titanic/npcs/true_talk_npc.h b/engines/titanic/npcs/true_talk_npc.h
index 0deb832c82..0319f7e059 100644
--- a/engines/titanic/npcs/true_talk_npc.h
+++ b/engines/titanic/npcs/true_talk_npc.h
@@ -62,11 +62,6 @@ protected:
int _field104;
protected:
void processInput(CTextInputMsg *msg, CViewItem *view);
-
- /**
- * Start an animation timer
- */
- int startAnimTimer(const CString &action, uint firstDuration, uint duration);
/**
* Stop an animation timer
diff --git a/engines/titanic/sound/restricted_auto_music_player.cpp b/engines/titanic/sound/restricted_auto_music_player.cpp
index 4ccfecc58d..2384d4da25 100644
--- a/engines/titanic/sound/restricted_auto_music_player.cpp
+++ b/engines/titanic/sound/restricted_auto_music_player.cpp
@@ -21,32 +21,59 @@
*/
#include "titanic/sound/restricted_auto_music_player.h"
+#include "titanic/core/room_item.h"
namespace Titanic {
+BEGIN_MESSAGE_MAP(CRestrictedAutoMusicPlayer, CAutoMusicPlayer)
+ ON_MESSAGE(EnterRoomMsg)
+ ON_MESSAGE(LeaveRoomMsg)
+END_MESSAGE_MAP()
+
void CRestrictedAutoMusicPlayer::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeQuotedLine(_string3, indent);
- file->writeQuotedLine(_string4, indent);
- file->writeQuotedLine(_string5, indent);
- file->writeQuotedLine(_string6, indent);
+ file->writeQuotedLine(_oldNodeName, indent);
+ file->writeQuotedLine(_newNodeName, indent);
+ file->writeQuotedLine(_newRoomName, indent);
+ file->writeQuotedLine(_oldRoomName, indent);
CAutoMusicPlayer::save(file, indent);
}
void CRestrictedAutoMusicPlayer::load(SimpleFile *file) {
file->readNumber();
- _string3 = file->readString();
- _string4 = file->readString();
- _string5 = file->readString();
- _string6 = file->readString();
+ _oldNodeName = file->readString();
+ _newNodeName = file->readString();
+ _newRoomName = file->readString();
+ _oldRoomName = file->readString();
CAutoMusicPlayer::load(file);
}
bool CRestrictedAutoMusicPlayer::EnterRoomMsg(CEnterRoomMsg *msg) {
- warning("CRestrictedAutoMusicPlayer::handleEvent");
- return true;
+ if (!msg->_oldRoom)
+ return true;
+ if (petCheckNode(_oldNodeName))
+ return false;
+
+ CString roomName = msg->_oldRoom->getName();
+ if (_oldRoomName.compareToIgnoreCase(roomName)) {
+ _isRepeated = true;
+ return false;
+ } else {
+ return CAutoMusicPlayer::EnterRoomMsg(msg);
+ }
+}
+
+bool CRestrictedAutoMusicPlayer::LeaveRoomMsg(CLeaveRoomMsg *msg) {
+ CString roomName = msg->_newRoom->getName();
+
+ if (petCheckNode(_newNodeName) || _newRoomName.compareToIgnoreCase(roomName)) {
+ _isRepeated = false;
+ return true;
+ } else {
+ return CAutoMusicPlayer::LeaveRoomMsg(msg);
+ }
}
} // End of namespace Titanic
diff --git a/engines/titanic/sound/restricted_auto_music_player.h b/engines/titanic/sound/restricted_auto_music_player.h
index 4a26d3770a..d36ee5a7ab 100644
--- a/engines/titanic/sound/restricted_auto_music_player.h
+++ b/engines/titanic/sound/restricted_auto_music_player.h
@@ -29,12 +29,14 @@
namespace Titanic {
class CRestrictedAutoMusicPlayer : public CAutoMusicPlayer {
+ DECLARE_MESSAGE_MAP;
bool EnterRoomMsg(CEnterRoomMsg *msg);
+ bool LeaveRoomMsg(CLeaveRoomMsg *msg);
private:
- CString _string3;
- CString _string4;
- CString _string5;
- CString _string6;
+ CString _oldNodeName;
+ CString _newNodeName;
+ CString _newRoomName;
+ CString _oldRoomName;
public:
CLASSDEF;
diff --git a/engines/titanic/sound/room_trigger_auto_music_player.cpp b/engines/titanic/sound/room_trigger_auto_music_player.cpp
index 4506dfd7d4..7782cef0e2 100644
--- a/engines/titanic/sound/room_trigger_auto_music_player.cpp
+++ b/engines/titanic/sound/room_trigger_auto_music_player.cpp
@@ -24,6 +24,11 @@
namespace Titanic {
+BEGIN_MESSAGE_MAP(CRoomTriggerAutoMusicPlayer, CTriggerAutoMusicPlayer)
+ ON_MESSAGE(LeaveRoomMsg)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
void CRoomTriggerAutoMusicPlayer::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
CTriggerAutoMusicPlayer::save(file, indent);
@@ -34,8 +39,23 @@ void CRoomTriggerAutoMusicPlayer::load(SimpleFile *file) {
CTriggerAutoMusicPlayer::load(file);
}
+bool CRoomTriggerAutoMusicPlayer::LeaveRoomMsg(CLeaveRoomMsg *msg) {
+ if (msg->_oldRoom == findRoom()) {
+ CTriggerAutoMusicPlayerMsg triggerMsg;
+ triggerMsg._value = 1;
+ triggerMsg.execute(this);
+ }
+
+ return true;
+}
+
bool CRoomTriggerAutoMusicPlayer::EnterRoomMsg(CEnterRoomMsg *msg) {
- warning("CRoomTriggerAutoMusicPlayer::handleEvent");
+ if (msg->_newRoom == findRoom()) {
+ CTriggerAutoMusicPlayerMsg triggerMsg;
+ triggerMsg._value = 2;
+ triggerMsg.execute(this);
+ }
+
return true;
}
diff --git a/engines/titanic/sound/room_trigger_auto_music_player.h b/engines/titanic/sound/room_trigger_auto_music_player.h
index 250adad864..a57e133eb6 100644
--- a/engines/titanic/sound/room_trigger_auto_music_player.h
+++ b/engines/titanic/sound/room_trigger_auto_music_player.h
@@ -29,7 +29,9 @@
namespace Titanic {
class CRoomTriggerAutoMusicPlayer : public CTriggerAutoMusicPlayer {
- bool EnterRoomMsg(CEnterRoomMsg *msg);
+ DECLARE_MESSAGE_MAP;
+ bool LeaveRoomMsg(CLeaveRoomMsg *msg);
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
public:
CLASSDEF;
diff --git a/engines/titanic/sound/season_noises.cpp b/engines/titanic/sound/season_noises.cpp
index e7307654fe..ce045488ee 100644
--- a/engines/titanic/sound/season_noises.cpp
+++ b/engines/titanic/sound/season_noises.cpp
@@ -24,30 +24,92 @@
namespace Titanic {
-CSeasonNoises::CSeasonNoises() : CViewAutoSoundPlayer(), _fieldF0(0),
- _string2("NULL"), _string3("NULL"), _string4("NULL"), _string5("NULL") {
+BEGIN_MESSAGE_MAP(CSeasonNoises, CViewAutoSoundPlayer)
+ ON_MESSAGE(ChangeSeasonMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(ActMsg)
+ ON_MESSAGE(LoadSuccessMsg)
+END_MESSAGE_MAP()
+
+CSeasonNoises::CSeasonNoises() : CViewAutoSoundPlayer(), _seasonNumber(0),
+ _springName("NULL"), _summerName("NULL"), _autumnName("NULL"), _winterName("NULL") {
}
void CSeasonNoises::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeNumberLine(_fieldF0, indent);
- file->writeQuotedLine(_string2, indent);
- file->writeQuotedLine(_string3, indent);
- file->writeQuotedLine(_string4, indent);
- file->writeQuotedLine(_string5, indent);
+ file->writeNumberLine(_seasonNumber, indent);
+ file->writeQuotedLine(_springName, indent);
+ file->writeQuotedLine(_summerName, indent);
+ file->writeQuotedLine(_autumnName, indent);
+ file->writeQuotedLine(_winterName, indent);
CViewAutoSoundPlayer::save(file, indent);
}
void CSeasonNoises::load(SimpleFile *file) {
file->readNumber();
- _fieldF0 = file->readNumber();
- _string2 = file->readString();
- _string3 = file->readString();
- _string4 = file->readString();
- _string5 = file->readString();
+ _seasonNumber = file->readNumber();
+ _springName = file->readString();
+ _summerName = file->readString();
+ _autumnName = file->readString();
+ _winterName = file->readString();
CViewAutoSoundPlayer::load(file);
}
+bool CSeasonNoises::ChangeSeasonMsg(CChangeSeasonMsg *msg) {
+ _seasonNumber = (_seasonNumber + 1) % 4;
+ CActMsg actMsg("Update");
+ actMsg.execute(this);
+
+ return true;
+}
+
+bool CSeasonNoises::EnterViewMsg(CEnterViewMsg *msg) {
+ CActMsg actMsg("Update");
+ return true;
+}
+
+bool CSeasonNoises::ActMsg(CActMsg *msg) {
+ msg->_action = "Update";
+
+ switch (_seasonNumber) {
+ case 0:
+ _filename = _springName;
+ break;
+ case 1:
+ _filename = _summerName;
+ break;
+ case 2:
+ _filename = _autumnName;
+ break;
+ case 3:
+ _filename = _winterName;
+ break;
+ default:
+ break;
+ }
+
+ CSignalObject signalMsg;
+ signalMsg._numValue = 2;
+ signalMsg.execute(this);
+
+ CTurnOn onMsg;
+ onMsg.execute(this);
+
+ return true;
+}
+
+bool CSeasonNoises::LoadSuccessMsg(CLoadSuccessMsg *msg) {
+ if (_active) {
+ _active = false;
+ _soundHandle = -1;
+
+ CActMsg actMsg("Update");
+ actMsg.execute(this);
+ }
+
+ return true;
+}
+
} // End of namespace Titanic
diff --git a/engines/titanic/sound/season_noises.h b/engines/titanic/sound/season_noises.h
index ff39b01d73..796628d10d 100644
--- a/engines/titanic/sound/season_noises.h
+++ b/engines/titanic/sound/season_noises.h
@@ -28,12 +28,17 @@
namespace Titanic {
class CSeasonNoises : public CViewAutoSoundPlayer {
+ DECLARE_MESSAGE_MAP;
+ bool ChangeSeasonMsg(CChangeSeasonMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool ActMsg(CActMsg *msg);
+ bool LoadSuccessMsg(CLoadSuccessMsg *msg);
private:
- int _fieldF0;
- CString _string2;
- CString _string3;
- CString _string4;
- CString _string5;
+ int _seasonNumber;
+ CString _springName;
+ CString _summerName;
+ CString _autumnName;
+ CString _winterName;
public:
CLASSDEF;
CSeasonNoises();
diff --git a/engines/titanic/sound/titania_speech.cpp b/engines/titanic/sound/titania_speech.cpp
index f9d5b91705..a07cc79334 100644
--- a/engines/titanic/sound/titania_speech.cpp
+++ b/engines/titanic/sound/titania_speech.cpp
@@ -24,24 +24,133 @@
namespace Titanic {
+BEGIN_MESSAGE_MAP(CTitaniaSpeech, CGameObject)
+ ON_MESSAGE(ActMsg)
+ ON_MESSAGE(MovieEndMsg)
+ ON_MESSAGE(MovieFrameMsg)
+ ON_MESSAGE(TimerMsg)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
void CTitaniaSpeech::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeNumberLine(_value1, indent);
- file->writeNumberLine(_value2, indent);
+ file->writeNumberLine(_paraNum, indent);
+ file->writeNumberLine(_frameNum, indent);
CGameObject::save(file, indent);
}
void CTitaniaSpeech::load(SimpleFile *file) {
file->readNumber();
- _value1 = file->readNumber();
- _value2 = file->readNumber();
+ _paraNum = file->readNumber();
+ _frameNum = file->readNumber();
CGameObject::load(file);
}
+bool CTitaniaSpeech::ActMsg(CActMsg *msg) {
+ CSetFrameMsg frameMsg;
+ CVisibleMsg visibleMsg;
+ CActMsg actMsg;
+
+ if (msg->_action == "TitaniaSpeech") {
+ switch (_paraNum) {
+ case 0:
+ movieSetAudioTiming(true);
+ loadSound("a#12.wav");
+ sleep(1000);
+ playMovie(0, 187, MOVIE_GAMESTATE || MOVIE_NOTIFY_OBJECT);
+ movieEvent(0);
+ break;
+
+ case 1:
+ loadSound("a#11.wav");
+ addTimer(0);
+ startAnimTimer("Para2", 300);
+ addTimer(6000);
+ addTimer(12000);
+ addTimer(18000);
+ addTimer(24000);
+ startAnimTimer("NextPara", 30000);
+ break;
+
+ case 2:
+ visibleMsg._visible = false;
+ visibleMsg.execute("TitaniaStillControl");
+ loadSound("a#10.wav");
+ playMovie(585, 706, MOVIE_GAMESTATE || MOVIE_NOTIFY_OBJECT);
+ playSound("a#10.wav");
+ break;
+
+ case 3:
+ visibleMsg._visible = false;
+ visibleMsg.execute("TitaniaStillControl");
+ loadSound("a#9.wav");
+ playMovie(707, 905, MOVIE_GAMESTATE || MOVIE_NOTIFY_OBJECT);
+ playSound("a#9.wav");
+ break;
+
+ case 4:
+ visibleMsg._visible = false;
+ visibleMsg.execute("TitaniaStillControl");
+ loadSound("a#8.wav");
+ playMovie(906, 938, MOVIE_GAMESTATE || MOVIE_NOTIFY_OBJECT);
+ playSound("a#8.wav");
+ break;
+
+ default:
+ sleep(3000);
+ actMsg._action = "SleepTitania";
+ actMsg.execute(this);
+ }
+ }
+
+ return true;
+}
+
+bool CTitaniaSpeech::MovieEndMsg(CMovieEndMsg *msg) {
+ if (_paraNum == 5) {
+ startAnimTimer("NextPara", 0);
+ } else {
+ if (_paraNum != 1)
+ addTimer(0);
+ startAnimTimer("NextPara", 3000);
+ }
+
+ return true;
+}
+
+bool CTitaniaSpeech::MovieFrameMsg(CMovieFrameMsg *msg) {
+ int frame = getMovieFrame();
+ if (!frame)
+ playSound("a#12.wav");
+
+ return true;
+}
+
+bool CTitaniaSpeech::TimerMsg(CTimerMsg *msg) {
+ CSetFrameMsg frameMsg;
+ CVisibleMsg visibleMsg;
+ CActMsg actMsg("TitaniaSpeech");
+
+ if (msg->_action == "NextPara") {
+ visibleMsg.execute("TitaniaStillControl");
+ ++_paraNum;
+ actMsg.execute(this);
+ } else if (msg->_action == "Para2") {
+ playSound("a#11.wav");
+ } else {
+ frameMsg._frameNumber = _frameNum;
+ frameMsg.execute("TitaniaStillControl");
+ }
+
+ return true;
+}
+
bool CTitaniaSpeech::EnterRoomMsg(CEnterRoomMsg *msg) {
- warning("CTitaniaSpeech::handleEvent");
+ CActMsg actMsg("Disable");
+ actMsg.execute("ShipAnnouncements");
+
return true;
}
diff --git a/engines/titanic/sound/titania_speech.h b/engines/titanic/sound/titania_speech.h
index c9b93043f6..2244bb01af 100644
--- a/engines/titanic/sound/titania_speech.h
+++ b/engines/titanic/sound/titania_speech.h
@@ -29,12 +29,17 @@
namespace Titanic {
class CTitaniaSpeech : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool ActMsg(CActMsg *msg);
+ bool MovieEndMsg(CMovieEndMsg *msg);
+ bool MovieFrameMsg(CMovieFrameMsg *msg);
+ bool TimerMsg(CTimerMsg *msg);
bool EnterRoomMsg(CEnterRoomMsg *msg);
private:
- int _value1, _value2;
+ int _paraNum, _frameNum;
public:
CLASSDEF;
- CTitaniaSpeech() : CGameObject(), _value1(1), _value2(0) {}
+ CTitaniaSpeech() : CGameObject(), _paraNum(1), _frameNum(0) {}
/**
* Save the data for the class to file
diff --git a/engines/titanic/sound/view_toggles_other_music.cpp b/engines/titanic/sound/view_toggles_other_music.cpp
index 35888fba9d..731f59bd53 100644
--- a/engines/titanic/sound/view_toggles_other_music.cpp
+++ b/engines/titanic/sound/view_toggles_other_music.cpp
@@ -24,21 +24,35 @@
namespace Titanic {
-CViewTogglesOtherMusic::CViewTogglesOtherMusic() : CEnterViewTogglesOtherMusic(), _fieldCC(0) {
+BEGIN_MESSAGE_MAP(CViewTogglesOtherMusic, CEnterViewTogglesOtherMusic)
+ ON_MESSAGE(LeaveViewMsg)
+END_MESSAGE_MAP()
+
+CViewTogglesOtherMusic::CViewTogglesOtherMusic() :
+ CEnterViewTogglesOtherMusic(), _value(1) {
}
void CViewTogglesOtherMusic::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeNumberLine(_fieldCC, indent);
+ file->writeNumberLine(_value, indent);
CEnterViewTogglesOtherMusic::save(file, indent);
}
void CViewTogglesOtherMusic::load(SimpleFile *file) {
file->readNumber();
- _fieldCC = file->readNumber();
+ _value = file->readNumber();
CEnterViewTogglesOtherMusic::load(file);
}
+bool CViewTogglesOtherMusic::LeaveViewMsg(CLeaveViewMsg *msg) {
+ if (msg->_oldView == findView()) {
+ CTriggerAutoMusicPlayerMsg playerMsg(_value);
+ playerMsg.execute(this);
+ }
+
+ return true;
+}
+
} // End of namespace Titanic
diff --git a/engines/titanic/sound/view_toggles_other_music.h b/engines/titanic/sound/view_toggles_other_music.h
index a5ba68ba45..1b5f110e70 100644
--- a/engines/titanic/sound/view_toggles_other_music.h
+++ b/engines/titanic/sound/view_toggles_other_music.h
@@ -28,8 +28,10 @@
namespace Titanic {
class CViewTogglesOtherMusic : public CEnterViewTogglesOtherMusic {
+ DECLARE_MESSAGE_MAP;
+ bool LeaveViewMsg(CLeaveViewMsg *msg);
private:
- int _fieldCC;
+ int _value;
public:
CLASSDEF;
CViewTogglesOtherMusic();
diff --git a/engines/titanic/support/movie.cpp b/engines/titanic/support/movie.cpp
index 5453d8ca9c..3bb9fb88cf 100644
--- a/engines/titanic/support/movie.cpp
+++ b/engines/titanic/support/movie.cpp
@@ -37,7 +37,7 @@ CMovieList *CMovie::_playingMovies;
CVideoSurface *CMovie::_movieSurface;
CMovie::CMovie() : ListItem(), _handled(false), _hasVideoFrame(false),
- _field14(0) {
+ _hasAudioTiming(false) {
}
CMovie::~CMovie() {
diff --git a/engines/titanic/support/movie.h b/engines/titanic/support/movie.h
index 2a7d589194..2d1c264f03 100644
--- a/engines/titanic/support/movie.h
+++ b/engines/titanic/support/movie.h
@@ -50,7 +50,7 @@ protected:
public:
bool _handled;
bool _hasVideoFrame;
- int _field14;
+ bool _hasAudioTiming;
public:
static CMovieList *_playingMovies;
static CVideoSurface *_movieSurface;