diff options
| author | Paul Gilbert | 2016-04-29 20:25:19 -0400 | 
|---|---|---|
| committer | Paul Gilbert | 2016-07-10 16:37:35 -0400 | 
| commit | 7af7838b863893b1a67dfc3a7d82fe0febff8b07 (patch) | |
| tree | 00c79934d23a116053695731d3ec5673cd757f09 | |
| parent | e47494a4894301cf4034c6aad4abd65f45b38eca (diff) | |
| download | scummvm-rg350-7af7838b863893b1a67dfc3a7d82fe0febff8b07.tar.gz scummvm-rg350-7af7838b863893b1a67dfc3a7d82fe0febff8b07.tar.bz2 scummvm-rg350-7af7838b863893b1a67dfc3a7d82fe0febff8b07.zip | |
TITANIC: Implement PET Conversations displayNPC
| -rw-r--r-- | engines/titanic/pet_control/pet_conversations.cpp | 42 | ||||
| -rw-r--r-- | engines/titanic/pet_control/pet_conversations.h | 7 | ||||
| -rw-r--r-- | engines/titanic/pet_control/pet_section.h | 6 | 
3 files changed, 53 insertions, 2 deletions
| diff --git a/engines/titanic/pet_control/pet_conversations.cpp b/engines/titanic/pet_control/pet_conversations.cpp index 988df5de33..8f0450c4c5 100644 --- a/engines/titanic/pet_control/pet_conversations.cpp +++ b/engines/titanic/pet_control/pet_conversations.cpp @@ -138,6 +138,48 @@ void CPetConversations::leave() {  	stopNPCTimer();  } +void CPetConversations::displayNPC(CGameObject *npc) { +	if (npc) { +		displayMessage(CString()); +		CString msg = "Talking to "; +		CString name = npc->getName(); +		int id = 1; + +		if (name.contains("Doorbot")) { +			msg += "the DoorBot"; +		} else if (name.contains("DeskBot")) { +			id = 2; +			msg += "the DeskBot"; +		} else if (name.contains("LiftBot")) { +			id = 3; +			msg += "a LiftBot"; +		} else if (name.contains("Parrot")) { +			id = 4; +			msg += "the Parrot"; +		} else if (name.contains("BarBot")) { +			id = 5; +			msg += "the BarBot"; +		} else if (name.contains("ChatterBot")) { +			id = 6; +			msg += "a ChatterBot"; +		} else if (name.contains("BellBot")) { +			id = 7; +			msg += "the BellBot"; +		} else if (name.contains("Maitre")) { +			id = 8; +			msg += "the Maitre d'Bot"; +		} else if (name.contains("Succubus") || name.contains("Sub")) { +			id = 9; +			msg += "a Succ-U-Bus"; +		} else { +			msg += "Unknown"; +		} + +		_log.setNPC(1, id); +		displayMessage(msg); +	} +} +  bool CPetConversations::setupControl(CPetControl *petControl) {  	if (petControl) {  		_petControl = petControl; diff --git a/engines/titanic/pet_control/pet_conversations.h b/engines/titanic/pet_control/pet_conversations.h index c3eefa9e69..ad993ec3b2 100644 --- a/engines/titanic/pet_control/pet_conversations.h +++ b/engines/titanic/pet_control/pet_conversations.h @@ -171,7 +171,12 @@ public:  	/**  	 * Called when a section is being left, to switch to another area  	 */ -	virtual void leave();	 +	virtual void leave(); + +	/** +	 * Display a title for an NPC +	 */ +	virtual void displayNPC(CGameObject *npc);  };  } // End of namespace Titanic diff --git a/engines/titanic/pet_control/pet_section.h b/engines/titanic/pet_control/pet_section.h index d582f38f0d..995feee27b 100644 --- a/engines/titanic/pet_control/pet_section.h +++ b/engines/titanic/pet_control/pet_section.h @@ -153,7 +153,11 @@ public:  	virtual CGameObject *getBackground(int index) const { return nullptr; } -	virtual void proc32() {} +	/** +	 * Display a title for an NPC +	 */ +	virtual void displayNPC(CGameObject *npc); +  	virtual void proc33() {}  	virtual void proc34() {}  	virtual void proc35() {} | 
