aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/titanic/core/project_item.cpp2
-rw-r--r--engines/titanic/core/saveable_object.cpp3
-rw-r--r--engines/titanic/input_handler.cpp10
-rw-r--r--engines/titanic/input_handler.h2
-rw-r--r--engines/titanic/true_talk/true_talk_manager.cpp3
5 files changed, 12 insertions, 8 deletions
diff --git a/engines/titanic/core/project_item.cpp b/engines/titanic/core/project_item.cpp
index af67f69580..f9c7dbdd55 100644
--- a/engines/titanic/core/project_item.cpp
+++ b/engines/titanic/core/project_item.cpp
@@ -158,8 +158,8 @@ void CProjectItem::loadGame(int slotId) {
CompressedFile file;
// Clear any existing project contents and call preload code
- clear();
preLoad();
+ clear();
// Open either an existing savegame slot or the new game template
if (slotId >= 0) {
diff --git a/engines/titanic/core/saveable_object.cpp b/engines/titanic/core/saveable_object.cpp
index 73b4bf861f..f718ba79b3 100644
--- a/engines/titanic/core/saveable_object.cpp
+++ b/engines/titanic/core/saveable_object.cpp
@@ -1473,6 +1473,9 @@ void CSaveableObject::initClassList() {
ADDFN(CEnterNodeMsg, CMessage);
ADDFN(CEnterRoomMsg, CMessage);
ADDFN(CEnterViewMsg, CMessage);
+ ADDFN(CPreEnterNodeMsg, CMessage);
+ ADDFN(CPreEnterRoomMsg, CMessage);
+ ADDFN(CPreEnterViewMsg, CMessage);
ADDFN(CPreSaveMsg, CMessage);
ADDFN(CProdMaitreDMsg, CMessage);
ADDFN(CPumpingMsg, CMessage);
diff --git a/engines/titanic/input_handler.cpp b/engines/titanic/input_handler.cpp
index ba2c08ed89..481224141d 100644
--- a/engines/titanic/input_handler.cpp
+++ b/engines/titanic/input_handler.cpp
@@ -32,7 +32,7 @@ namespace Titanic {
CInputHandler::CInputHandler(CGameManager *owner) :
_gameManager(owner), _inputTranslator(nullptr), _dragging(false),
_buttonDown(false), _dragItem(nullptr), _lockCount(0),
- _singleton(false) {
+ _abortMessage(false) {
CScreenManager::_screenManagerPtr->_inputHandler = this;
}
@@ -59,7 +59,7 @@ void CInputHandler::decLockCount() {
}
_buttonDown = _inputTranslator->isMousePressed();
- _singleton = true;
+ _abortMessage = true;
}
}
@@ -75,11 +75,11 @@ void CInputHandler::handleMessage(CMessage &msg, bool respectLock) {
void CInputHandler::processMessage(CMessage *msg) {
const CMouseMsg *mouseMsg = dynamic_cast<const CMouseMsg *>(msg);
- _singleton = false;
+ _abortMessage = false;
dispatchMessage(msg);
- if (_singleton) {
- _singleton = false;
+ if (_abortMessage) {
+ _abortMessage = false;
} else if (mouseMsg) {
// Keep the game state mouse position up to date
if (_mousePos != mouseMsg->_mousePos) {
diff --git a/engines/titanic/input_handler.h b/engines/titanic/input_handler.h
index d5f29b7921..5f0be04f1a 100644
--- a/engines/titanic/input_handler.h
+++ b/engines/titanic/input_handler.h
@@ -56,7 +56,7 @@ public:
Point _dragStartPos;
Point _mousePos;
int _lockCount;
- bool _singleton;
+ bool _abortMessage;
public:
CInputHandler(CGameManager *owner);
~CInputHandler();
diff --git a/engines/titanic/true_talk/true_talk_manager.cpp b/engines/titanic/true_talk/true_talk_manager.cpp
index 8b1cd8cc9a..446a32eaae 100644
--- a/engines/titanic/true_talk/true_talk_manager.cpp
+++ b/engines/titanic/true_talk/true_talk_manager.cpp
@@ -538,9 +538,10 @@ void CTrueTalkManager::playSpeech(TTtalker *talker, TTroomScript *roomScript, CV
if (!milli)
continue;
+#ifdef SPATIAL_SOUND
if (idx == 0)
g_vm->_events->sleep(milli);
-#ifdef SPATIAL_SOUND
+
// TODO: Figure out if these below are needed. It kinda looks like they were
// simply playing the same speech at different spatial co-ordinates. And since
// we don't support spatial processing in ScummVM yet, they're being left disabled