aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2017-08-19 22:44:25 -0400
committerPaul Gilbert2017-08-19 22:44:25 -0400
commitc4f48f35c6ed399dbd1930589c55b4135fc327b4 (patch)
tree55e776d84265f3c00f0f7db5cbb0c7dd4f16f17d
parent411abee2d07f5344f39b4033cf0b185b21aaf1b2 (diff)
downloadscummvm-rg350-c4f48f35c6ed399dbd1930589c55b4135fc327b4.tar.gz
scummvm-rg350-c4f48f35c6ed399dbd1930589c55b4135fc327b4.tar.bz2
scummvm-rg350-c4f48f35c6ed399dbd1930589c55b4135fc327b4.zip
TITANIC: Fix flagging of mouth and vision centre inserting in Titania
-rw-r--r--engines/titanic/carry/mouth.cpp5
-rw-r--r--engines/titanic/npcs/titania.cpp5
2 files changed, 8 insertions, 2 deletions
diff --git a/engines/titanic/carry/mouth.cpp b/engines/titanic/carry/mouth.cpp
index d750fc969e..1b2830b99e 100644
--- a/engines/titanic/carry/mouth.cpp
+++ b/engines/titanic/carry/mouth.cpp
@@ -74,6 +74,11 @@ bool CMouth::PETGainedObjectMsg(CPETGainedObjectMsg *msg) {
_field13C = true;
}
+ // WORKAROUND: If Mouth is removed from Titania after inserting,
+ // message the Titania control so it can be flagged as removed
+ CTakeHeadPieceMsg headpieceMsg(getName());
+ headpieceMsg.execute("TitaniaControl");
+
return true;
}
diff --git a/engines/titanic/npcs/titania.cpp b/engines/titanic/npcs/titania.cpp
index 887a72de55..d3e3395fc8 100644
--- a/engines/titanic/npcs/titania.cpp
+++ b/engines/titanic/npcs/titania.cpp
@@ -174,8 +174,9 @@ bool CTitania::ActMsg(CActMsg *msg) {
workingMsg3._value = _speechCentre ? "Working" : "Random";
}
- if (_centralCore && _eye1 && _eye2 && _ear1 && _ear2 && _nose && _mouth
- && _speechCentre && _olfactoryCentre && _auditoryCentre) {
+ if (_centralCore && _eye1 && _eye2 && _ear1 && _ear2 && _nose
+ && _mouth && _visionCentre && _speechCentre
+ && _olfactoryCentre && _auditoryCentre) {
CProximity prox(Audio::Mixer::kSpeechSoundType);
playSound("z#47.wav", prox);