aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2016-05-06 21:40:34 -0400
committerPaul Gilbert2016-07-10 16:38:38 -0400
commitb138134192bda77a4c1c941e194dc9d353aae256 (patch)
treefb51e0b84352b1343c80996d44989acad6c0fcf0
parent1e42f6ffed4c1d187863b548c708b42d611aab0e (diff)
downloadscummvm-rg350-b138134192bda77a4c1c941e194dc9d353aae256.tar.gz
scummvm-rg350-b138134192bda77a4c1c941e194dc9d353aae256.tar.bz2
scummvm-rg350-b138134192bda77a4c1c941e194dc9d353aae256.zip
TITANIC: Finished CTrueTalkManager start method
-rw-r--r--engines/titanic/carry/carry_parrot.cpp4
-rw-r--r--engines/titanic/core/game_object.cpp8
-rw-r--r--engines/titanic/core/game_object.h4
-rw-r--r--engines/titanic/game/computer_screen.cpp4
-rw-r--r--engines/titanic/true_talk/true_talk_manager.cpp6
-rw-r--r--engines/titanic/true_talk/true_talk_manager.h2
6 files changed, 14 insertions, 14 deletions
diff --git a/engines/titanic/carry/carry_parrot.cpp b/engines/titanic/carry/carry_parrot.cpp
index aa75688fab..d164e2ee46 100644
--- a/engines/titanic/carry/carry_parrot.cpp
+++ b/engines/titanic/carry/carry_parrot.cpp
@@ -169,7 +169,7 @@ bool CCarryParrot::PassOnDragStartMsg(CPassOnDragStartMsg *msg) {
CTrueTalkNPC *npc = static_cast<CTrueTalkNPC *>(getRoot()->findByName(_string6));
if (npc)
- startTalking(npc, 0x446BF, 0);
+ startTalking(npc, 0x446BF);
_fieldE0 = 0;
playSound("z#475.wav", 100, 0, 0);
@@ -200,7 +200,7 @@ bool CCarryParrot::ActMsg(CActMsg *msg) {
if (msg->_action == "FreeParrot" && (CParrot::_v4 == 4 || CParrot::_v4 == 1)) {
CTrueTalkNPC *npc = static_cast<CTrueTalkNPC *>(getRoot()->findByName(_string6));
if (npc)
- startTalking(npc, 0x446BF, 0);
+ startTalking(npc, 0x446BF);
setVisible(false);
_fieldE0 = 0;
diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp
index ff7e2288f8..7cfcd338f6 100644
--- a/engines/titanic/core/game_object.cpp
+++ b/engines/titanic/core/game_object.cpp
@@ -707,17 +707,17 @@ void CGameObject::incState38() {
getGameManager()->_gameState.inc38();
}
-void CGameObject::startTalking(const CString &npcName, int val2, int val3) {
+void CGameObject::startTalking(const CString &npcName, uint id, CViewItem *view) {
CTrueTalkNPC *npc = static_cast<CTrueTalkNPC *>(getRoot()->findByName(npcName));
- startTalking(npc, val2, val3);
+ startTalking(npc, id, view);
}
-void CGameObject::startTalking(CTrueTalkNPC *npc, int val2, int val3) {
+void CGameObject::startTalking(CTrueTalkNPC *npc, uint id, CViewItem *view) {
CGameManager *gameManager = getGameManager();
if (gameManager) {
CTrueTalkManager *talkManager = gameManager->getTalkManager();
if (talkManager)
- talkManager->start(npc, val2, val3);
+ talkManager->start(npc, id, view);
}
}
diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h
index 97d3ca45eb..4d2dca6860 100644
--- a/engines/titanic/core/game_object.h
+++ b/engines/titanic/core/game_object.h
@@ -220,12 +220,12 @@ protected:
/**
* Start a conversation with the NPC
*/
- void startTalking(const CString &name, int val2, int val3);
+ void startTalking(const CString &name, uint id, CViewItem *view = nullptr);
/**
* Start a conversation with the NPC
*/
- void startTalking(CTrueTalkNPC *npc, int val2, int val3);
+ void startTalking(CTrueTalkNPC *npc, uint id, CViewItem *view = nullptr);
/**
* Load the surface
diff --git a/engines/titanic/game/computer_screen.cpp b/engines/titanic/game/computer_screen.cpp
index 846858be0e..9d15ea903f 100644
--- a/engines/titanic/game/computer_screen.cpp
+++ b/engines/titanic/game/computer_screen.cpp
@@ -114,11 +114,11 @@ bool CComputerScreen::TimerMsg(CTimerMsg *msg) {
playSound("y#662.wav");
soundFn3(handle, 10, 2);
playClip(392, 450);
- startTalking("Doorbot", 0x3611A, 0);
+ startTalking("Doorbot", 0x3611A);
sleep(8000);
playClip(450, 492);
- startTalking("Doorbot", 0x36121, 0);
+ startTalking("Doorbot", 0x36121);
playClip(492, 522);
soundFn3(handle, 30, 2);
diff --git a/engines/titanic/true_talk/true_talk_manager.cpp b/engines/titanic/true_talk/true_talk_manager.cpp
index dc93bf438b..58d92539a5 100644
--- a/engines/titanic/true_talk/true_talk_manager.cpp
+++ b/engines/titanic/true_talk/true_talk_manager.cpp
@@ -201,7 +201,7 @@ void CTrueTalkManager::update2() {
//warning("CTrueTalkManager::update2");
}
-void CTrueTalkManager::start(CTrueTalkNPC *npc, int val2, int val3) {
+void CTrueTalkManager::start(CTrueTalkNPC *npc, uint id, CViewItem *view) {
TTNamedScript *npcScript = getNpcScript(npc);
TTRoomScript *roomScript = getRoomScript();
@@ -210,10 +210,10 @@ void CTrueTalkManager::start(CTrueTalkNPC *npc, int val2, int val3) {
loadAssets(npc, charId);
_currentNPC = npc;
- warning("TODO: CTrueTalkManager::start");
+ _titleEngine._scriptHandler->setup(npcScript, roomScript, charId);
_currentNPC = nullptr;
- //TODO: More
+ setView(npcScript, roomScript, view);
}
TTNamedScript *CTrueTalkManager::getTalker(const CString &name) const {
diff --git a/engines/titanic/true_talk/true_talk_manager.h b/engines/titanic/true_talk/true_talk_manager.h
index 3c24ade6cb..c3c25a33e7 100644
--- a/engines/titanic/true_talk/true_talk_manager.h
+++ b/engines/titanic/true_talk/true_talk_manager.h
@@ -147,7 +147,7 @@ public:
/**
* Start a TrueTalk conversation
*/
- void start(CTrueTalkNPC *npc, int val2, int val3);
+ void start(CTrueTalkNPC *npc, uint id, CViewItem *view);
/**
* Return a TrueTalk talker/script