mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-09 20:34:12 +00:00
TITANIC: Wait for parrot speech to end before waking Titania
This commit is contained in:
parent
deba34cc05
commit
bb5db9de27
@ -43,6 +43,7 @@ BEGIN_MESSAGE_MAP(CParrot, CTrueTalkNPC)
|
||||
ON_MESSAGE(PreEnterViewMsg)
|
||||
ON_MESSAGE(PanningAwayFromParrotMsg)
|
||||
ON_MESSAGE(LeaveRoomMsg)
|
||||
ON_MESSAGE(TrueTalkNotifySpeechEndedMsg)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
bool CParrot::_eatingChicken;
|
||||
@ -729,4 +730,15 @@ bool CParrot::LeaveRoomMsg(CLeaveRoomMsg *msg) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CParrot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) {
|
||||
if (msg->_dialogueId == 80022) {
|
||||
// WORKAROUND: End of parrot speech after having fixed Titania
|
||||
unlockMouse();
|
||||
changeView("Titania.Node 18.N", "");
|
||||
}
|
||||
|
||||
return CTrueTalkNPC::TrueTalkNotifySpeechEndedMsg(msg);
|
||||
}
|
||||
|
||||
|
||||
} // End of namespace Titanic
|
||||
|
@ -51,6 +51,7 @@ class CParrot : public CTrueTalkNPC {
|
||||
bool PreEnterViewMsg(CPreEnterViewMsg *msg);
|
||||
bool PanningAwayFromParrotMsg(CPanningAwayFromParrotMsg *msg);
|
||||
bool LeaveRoomMsg(CLeaveRoomMsg *msg);
|
||||
bool TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg);
|
||||
public:
|
||||
static bool _eatingChicken;
|
||||
static bool _takeOff;
|
||||
|
@ -99,7 +99,7 @@ bool CTitania::AddHeadPieceMsg(CAddHeadPieceMsg *msg) {
|
||||
_eye2 = true;
|
||||
} else if (msg->_value == "Ear1") {
|
||||
_ear1 = true;
|
||||
} else if (msg->_value == "Ear2") {
|
||||
} else if (msg->_value == "Ear 2") {
|
||||
_ear2 = true;
|
||||
} else if (msg->_value == "Mouth") {
|
||||
_mouth = true;
|
||||
@ -216,8 +216,11 @@ bool CTitania::EnterViewMsg(CEnterViewMsg *msg) {
|
||||
}
|
||||
|
||||
bool CTitania::TimerMsg(CTimerMsg *msg) {
|
||||
changeView("Titania.Node 18.N", "");
|
||||
// WORKAROUND: The original uses the disc change dialog as a pause
|
||||
// to allow the parrot speech to finish. I've rewritten it to instead
|
||||
// use the standard TrueTalkNotifySpeechEndedMsg message instead
|
||||
startTalking("PerchedParrot", 80022);
|
||||
lockMouse();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user