TITANIC: Don't allow loading games when Bellbot is summoned

This commit is contained in:
Paul Gilbert 2017-08-04 22:57:36 -04:00
parent c393c1faa0
commit a851c3b185
2 changed files with 9 additions and 0 deletions

View file

@ -24,6 +24,7 @@
#include "titanic/carry/carry.h" #include "titanic/carry/carry.h"
#include "titanic/core/room_item.h" #include "titanic/core/room_item.h"
#include "titanic/pet_control/pet_control.h" #include "titanic/pet_control/pet_control.h"
#include "titanic/titanic.h"
namespace Titanic { namespace Titanic {
@ -89,6 +90,7 @@ bool CBellBot::OnSummonBotMsg(COnSummonBotMsg *msg) {
_npcFlags &= ~NPCFLAG_MOVE_LOOP; _npcFlags &= ~NPCFLAG_MOVE_LOOP;
} }
getGameManager()->_gameState.setMode(GSMODE_CUTSCENE);
playClip("Walk On", MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH); playClip("Walk On", MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
movieEvent(); movieEvent();
_npcFlags |= NPCFLAG_MOVING; _npcFlags |= NPCFLAG_MOVING;
@ -111,6 +113,7 @@ bool CBellBot::MovieEndMsg(CMovieEndMsg *msg) {
if (!(_npcFlags & NPCFLAG_MOVING)) { if (!(_npcFlags & NPCFLAG_MOVING)) {
CTrueTalkNPC::MovieEndMsg(msg); CTrueTalkNPC::MovieEndMsg(msg);
} else if (clipExistsByEnd("Walk On", msg->_endFrame)) { } else if (clipExistsByEnd("Walk On", msg->_endFrame)) {
getGameManager()->_gameState.setMode(GSMODE_INTERACTIVE);
setPosition(Point(80, 10)); setPosition(Point(80, 10));
loadFrame(543); loadFrame(543);
_npcFlags |= NPCFLAG_START_IDLING; _npcFlags |= NPCFLAG_START_IDLING;

View file

@ -22,6 +22,7 @@
#include "titanic/npcs/callbot.h" #include "titanic/npcs/callbot.h"
#include "titanic/core/room_item.h" #include "titanic/core/room_item.h"
#include "titanic/titanic.h"
namespace Titanic { namespace Titanic {
@ -59,10 +60,15 @@ bool CCallBot::EnterViewMsg(CEnterViewMsg *msg) {
CRoomItem *room = getRoom(); CRoomItem *room = getRoom();
if (room) { if (room) {
CGameState &gs = getGameManager()->_gameState;
gs.setMode(GSMODE_CUTSCENE);
CSummonBotQueryMsg queryMsg; CSummonBotQueryMsg queryMsg;
queryMsg._npcName = _npcName; queryMsg._npcName = _npcName;
if (queryMsg.execute(room)) if (queryMsg.execute(room))
petOnSummonBot(_npcName, 0); petOnSummonBot(_npcName, 0);
gs.setMode(GSMODE_INTERACTIVE);
} }
_enabled = false; _enabled = false;