[Scummvm-git-logs] scummvm master -> 635f189b9c04494f03293dc76d0d7587e7dcd641

dreammaster dreammaster at scummvm.org
Sat Sep 9 21:59:06 CEST 2017


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
635f189b9c TITANIC: Fix parrot freezing after multiple chicken drags


Commit: 635f189b9c04494f03293dc76d0d7587e7dcd641
    https://github.com/scummvm/scummvm/commit/635f189b9c04494f03293dc76d0d7587e7dcd641
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-09-09T15:58:59-04:00

Commit Message:
TITANIC: Fix parrot freezing after multiple chicken drags

Changed paths:
    engines/titanic/npcs/parrot.cpp
    engines/titanic/npcs/parrot.h


diff --git a/engines/titanic/npcs/parrot.cpp b/engines/titanic/npcs/parrot.cpp
index dd033ab..6277751 100644
--- a/engines/titanic/npcs/parrot.cpp
+++ b/engines/titanic/npcs/parrot.cpp
@@ -45,6 +45,7 @@ BEGIN_MESSAGE_MAP(CParrot, CTrueTalkNPC)
 	ON_MESSAGE(PreEnterViewMsg)
 	ON_MESSAGE(PanningAwayFromParrotMsg)
 	ON_MESSAGE(LeaveRoomMsg)
+	ON_MESSAGE(TrueTalkNotifySpeechStartedMsg)
 	ON_MESSAGE(TrueTalkNotifySpeechEndedMsg)
 END_MESSAGE_MAP()
 
@@ -726,6 +727,15 @@ bool CParrot::LeaveRoomMsg(CLeaveRoomMsg *msg) {
 	return true;
 }
 
+bool CParrot::TrueTalkNotifySpeechStartedMsg(CTrueTalkNotifySpeechStartedMsg *msg) {
+	// WORKAROUND: Fix parrot freezing up if you drag the chicken whilst
+	// he's still returning to the center from a prior chicken drag
+	if (_npcFlags & (NPCFLAG_MOVE_LEFT | NPCFLAG_MOVE_RIGHT))
+		_npcFlags &= ~(NPCFLAG_MOVING | NPCFLAG_MOVE_LEFT | NPCFLAG_MOVE_RIGHT);
+
+	return CTrueTalkNPC::TrueTalkNotifySpeechStartedMsg(msg);
+}
+
 bool CParrot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) {
 	if (msg->_dialogueId == 80022) {
 		// WORKAROUND: End of parrot speech after having fixed Titania
diff --git a/engines/titanic/npcs/parrot.h b/engines/titanic/npcs/parrot.h
index 6fc4d6a..ee27515 100644
--- a/engines/titanic/npcs/parrot.h
+++ b/engines/titanic/npcs/parrot.h
@@ -51,6 +51,7 @@ class CParrot : public CTrueTalkNPC {
 	bool PreEnterViewMsg(CPreEnterViewMsg *msg);
 	bool PanningAwayFromParrotMsg(CPanningAwayFromParrotMsg *msg);
 	bool LeaveRoomMsg(CLeaveRoomMsg *msg);
+	bool TrueTalkNotifySpeechStartedMsg(CTrueTalkNotifySpeechStartedMsg *msg);
 	bool TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg);
 public:
 	static bool _eatingChicken;





More information about the Scummvm-git-logs mailing list