aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/titanic/npcs/bellbot.cpp3
-rw-r--r--engines/titanic/npcs/callbot.cpp6
2 files changed, 9 insertions, 0 deletions
diff --git a/engines/titanic/npcs/bellbot.cpp b/engines/titanic/npcs/bellbot.cpp
index 270e237213..002af21e9b 100644
--- a/engines/titanic/npcs/bellbot.cpp
+++ b/engines/titanic/npcs/bellbot.cpp
@@ -24,6 +24,7 @@
#include "titanic/carry/carry.h"
#include "titanic/core/room_item.h"
#include "titanic/pet_control/pet_control.h"
+#include "titanic/titanic.h"
namespace Titanic {
@@ -89,6 +90,7 @@ bool CBellBot::OnSummonBotMsg(COnSummonBotMsg *msg) {
_npcFlags &= ~NPCFLAG_MOVE_LOOP;
}
+ getGameManager()->_gameState.setMode(GSMODE_CUTSCENE);
playClip("Walk On", MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
movieEvent();
_npcFlags |= NPCFLAG_MOVING;
@@ -111,6 +113,7 @@ bool CBellBot::MovieEndMsg(CMovieEndMsg *msg) {
if (!(_npcFlags & NPCFLAG_MOVING)) {
CTrueTalkNPC::MovieEndMsg(msg);
} else if (clipExistsByEnd("Walk On", msg->_endFrame)) {
+ getGameManager()->_gameState.setMode(GSMODE_INTERACTIVE);
setPosition(Point(80, 10));
loadFrame(543);
_npcFlags |= NPCFLAG_START_IDLING;
diff --git a/engines/titanic/npcs/callbot.cpp b/engines/titanic/npcs/callbot.cpp
index 0979fa46f6..a5e8542db0 100644
--- a/engines/titanic/npcs/callbot.cpp
+++ b/engines/titanic/npcs/callbot.cpp
@@ -22,6 +22,7 @@
#include "titanic/npcs/callbot.h"
#include "titanic/core/room_item.h"
+#include "titanic/titanic.h"
namespace Titanic {
@@ -59,10 +60,15 @@ bool CCallBot::EnterViewMsg(CEnterViewMsg *msg) {
CRoomItem *room = getRoom();
if (room) {
+ CGameState &gs = getGameManager()->_gameState;
+ gs.setMode(GSMODE_CUTSCENE);
+
CSummonBotQueryMsg queryMsg;
queryMsg._npcName = _npcName;
if (queryMsg.execute(room))
petOnSummonBot(_npcName, 0);
+
+ gs.setMode(GSMODE_INTERACTIVE);
}
_enabled = false;