aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2016-10-24 20:30:18 -0400
committerPaul Gilbert2016-10-24 20:30:18 -0400
commit1c370c96449f93c7f99308b643a891aa02c2ca0e (patch)
tree10a357a15affd194fb6a48dbeef7591228431029
parent0a03c986a21ed8fe271d33cbb37f0e2a16e52224 (diff)
downloadscummvm-rg350-1c370c96449f93c7f99308b643a891aa02c2ca0e.tar.gz
scummvm-rg350-1c370c96449f93c7f99308b643a891aa02c2ca0e.tar.bz2
scummvm-rg350-1c370c96449f93c7f99308b643a891aa02c2ca0e.zip
TITANIC: Add conversation text to the PET
-rw-r--r--engines/titanic/npcs/doorbot.cpp19
-rw-r--r--engines/titanic/npcs/true_talk_npc.h2
-rw-r--r--engines/titanic/true_talk/tt_talker.cpp1
3 files changed, 12 insertions, 10 deletions
diff --git a/engines/titanic/npcs/doorbot.cpp b/engines/titanic/npcs/doorbot.cpp
index e5f18f6a0d..d26f4bb828 100644
--- a/engines/titanic/npcs/doorbot.cpp
+++ b/engines/titanic/npcs/doorbot.cpp
@@ -81,7 +81,7 @@ void CDoorbot::load(SimpleFile *file) {
}
bool CDoorbot::MovieEndMsg(CMovieEndMsg *msg) {
- if (_npcFlags & NPCFLAG_8000000) {
+ if (_npcFlags & NPCFLAG_DOORBOT_INTRO) {
switch (_field108) {
case 3:
startTalking(this, 221482);
@@ -121,7 +121,7 @@ bool CDoorbot::MovieEndMsg(CMovieEndMsg *msg) {
_npcFlags = (_npcFlags & ~NPCFLAG_8) | NPCFLAG_4;
endTalking(this, false);
startTalking(this, 221474);
- _npcFlags |= NPCFLAG_8000000;
+ _npcFlags |= NPCFLAG_DOORBOT_INTRO;
_field108 = 0;
} else if (clipExistsByEnd("Cloak On", msg->_endFrame)) {
petShow();
@@ -226,7 +226,7 @@ bool CDoorbot::DoorbotNeededInElevatorMsg(CDoorbotNeededInElevatorMsg *msg) {
moveToView("ServiceElevator.Node 1.N");
setPosition(Point(100, 42));
- if (_npcFlags & NPCFLAG_8000000) {
+ if (_npcFlags & NPCFLAG_DOORBOT_INTRO) {
_field108 = 7;
_npcFlags |= NPCFLAG_200000;
loadFrame(797);
@@ -240,7 +240,7 @@ bool CDoorbot::DoorbotNeededInElevatorMsg(CDoorbotNeededInElevatorMsg *msg) {
}
bool CDoorbot::LeaveViewMsg(CLeaveViewMsg *msg) {
- if (!(_npcFlags & NPCFLAG_8000000) && (_npcFlags & NPCFLAG_400000)) {
+ if (!(_npcFlags & NPCFLAG_DOORBOT_INTRO) && (_npcFlags & NPCFLAG_400000)) {
performAction(true);
_npcFlags &= ~NPCFLAG_4;
}
@@ -251,7 +251,7 @@ bool CDoorbot::LeaveViewMsg(CLeaveViewMsg *msg) {
bool CDoorbot::TimerMsg(CTimerMsg *msg) {
if (msg->_action == "NPCIdleAnim") {
return CTrueTalkNPC::TimerMsg(msg);
- } else if (_npcFlags & NPCFLAG_8000000) {
+ } else if (_npcFlags & NPCFLAG_DOORBOT_INTRO) {
switch (msg->_actionVal) {
case 0:
startTalking(this, 221475);
@@ -362,7 +362,7 @@ bool CDoorbot::NPCPlayIdleAnimationMsg(CNPCPlayIdleAnimationMsg *msg) {
bool CDoorbot::PutBotBackInHisBoxMsg(CPutBotBackInHisBoxMsg *msg) {
petMoveToHiddenRoom();
- _npcFlags &= ~(NPCFLAG_4 | NPCFLAG_100000 | NPCFLAG_200000 | NPCFLAG_8000000);
+ _npcFlags &= ~(NPCFLAG_4 | NPCFLAG_100000 | NPCFLAG_200000 | NPCFLAG_DOORBOT_INTRO);
if (msg->_value)
performAction(true);
@@ -404,7 +404,8 @@ bool CDoorbot::MovieFrameMsg(CMovieFrameMsg *msg) {
bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) {
CTrueTalkNPC::TrueTalkNotifySpeechEndedMsg(msg);
- if (_npcFlags & NPCFLAG_8000000) {
+ if (_npcFlags & NPCFLAG_DOORBOT_INTRO) {
+ // Initial speech by Doorbot in
switch (msg->_dialogueId) {
case 10552:
playClip("SE Try Buttons", MOVIE_NOTIFY_OBJECT);
@@ -508,7 +509,7 @@ bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg)
}
bool CDoorbot::TextInputMsg(CTextInputMsg *msg) {
- if (!(_npcFlags & NPCFLAG_8000000))
+ if (!(_npcFlags & NPCFLAG_DOORBOT_INTRO))
return CTrueTalkNPC::TextInputMsg(msg);
if (_field108 == 1) {
@@ -531,7 +532,7 @@ bool CDoorbot::TextInputMsg(CTextInputMsg *msg) {
}
bool CDoorbot::EnterViewMsg(CEnterViewMsg *msg) {
- if ((_npcFlags & NPCFLAG_8000000) && _field108 == 7)
+ if ((_npcFlags & NPCFLAG_DOORBOT_INTRO) && _field108 == 7)
playClip("SE Move And Turn", MOVIE_NOTIFY_OBJECT);
return true;
diff --git a/engines/titanic/npcs/true_talk_npc.h b/engines/titanic/npcs/true_talk_npc.h
index 1e06e9c690..3adf055449 100644
--- a/engines/titanic/npcs/true_talk_npc.h
+++ b/engines/titanic/npcs/true_talk_npc.h
@@ -36,7 +36,7 @@ enum NpcFlag {
NPCFLAG_100000 = 0x100000, NPCFLAG_200000 = 0x200000,
NPCFLAG_400000 = 0x400000, NPCFLAG_800000 = 0x800000,
NPCFLAG_1000000 = 0x1000000, NPCFLAG_2000000 = 0x2000000,
- NPCFLAG_4000000 = 0x4000000, NPCFLAG_8000000 = 0x8000000
+ NPCFLAG_4000000 = 0x4000000, NPCFLAG_DOORBOT_INTRO = 0x8000000
};
class CViewItem;
diff --git a/engines/titanic/true_talk/tt_talker.cpp b/engines/titanic/true_talk/tt_talker.cpp
index da7628f483..7e71bfcb77 100644
--- a/engines/titanic/true_talk/tt_talker.cpp
+++ b/engines/titanic/true_talk/tt_talker.cpp
@@ -27,6 +27,7 @@
namespace Titanic {
void TTtalker::speechStarted(const CString &dialogueStr, uint dialogueId, uint speechHandle) {
+ _line = dialogueStr;
_dialogueId = dialogueId;
CTrueTalkNotifySpeechStartedMsg msg(speechHandle, dialogueId, 0);