[Scummvm-git-logs] scummvm master -> f48a9fdbf25796a50e0bc755f82ebb06c461e1b6

dreammaster dreammaster at scummvm.org
Mon Dec 26 21:46:07 CET 2016


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:
f48a9fdbf2 TITANIC: Clarifications to sending mail code


Commit: f48a9fdbf25796a50e0bc755f82ebb06c461e1b6
    https://github.com/scummvm/scummvm/commit/f48a9fdbf25796a50e0bc755f82ebb06c461e1b6
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-12-26T15:45:52-05:00

Commit Message:
TITANIC: Clarifications to sending mail code

Changed paths:
    engines/titanic/core/game_object.cpp
    engines/titanic/core/game_object.h
    engines/titanic/core/mail_man.cpp
    engines/titanic/core/mail_man.h
    engines/titanic/game/television.cpp
    engines/titanic/npcs/bilge_succubus.cpp
    engines/titanic/npcs/succubus.cpp
    engines/titanic/pet_control/pet_rooms.cpp
    engines/titanic/pet_control/pet_rooms_glyphs.cpp


diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp
index bfcfa9f..ab90437 100644
--- a/engines/titanic/core/game_object.cpp
+++ b/engines/titanic/core/game_object.cpp
@@ -63,7 +63,7 @@ CGameObject::CGameObject(): CNamedItem() {
 	_field44 = 0xF0;
 	_field48 = 0xF0;
 	_field4C = 0xFF;
-	_isMail = false;
+	_isPendingMail = false;
 	_destRoomFlags = 0;
 	_roomFlags = 0;
 	_visible = true;
@@ -119,7 +119,7 @@ void CGameObject::save(SimpleFile *file, int indent) {
 	file->writeNumberLine(_field4C, indent + 1);
 	file->writeNumberLine(_fieldB8, indent + 1);
 	file->writeNumberLine(_visible, indent + 1);
-	file->writeNumberLine(_isMail, indent + 1);
+	file->writeNumberLine(_isPendingMail, indent + 1);
 	file->writeNumberLine(_destRoomFlags, indent + 1);
 	file->writeNumberLine(_roomFlags, indent + 1);
 
@@ -174,7 +174,7 @@ void CGameObject::load(SimpleFile *file) {
 		_field4C = file->readNumber();
 		_fieldB8 = file->readNumber();
 		_visible = file->readNumber() != 0;
-		_isMail = file->readNumber();
+		_isPendingMail = file->readNumber();
 		_destRoomFlags = file->readNumber();
 		_roomFlags = file->readNumber();
 
@@ -1451,10 +1451,10 @@ CGameObject *CGameObject::findMail(uint roomFlags) const {
 	return mailMan ? mailMan->findMail(roomFlags) : nullptr;
 }
 
-void CGameObject::removeMail(uint destRoomFlags, uint newRoomFlags) {
+void CGameObject::sendMail(uint currRoomFlags, uint newRoomFlags) {
 	CMailMan *mailMan = getMailMan();
 	if (mailMan)
-		mailMan->removeMail(destRoomFlags, newRoomFlags);
+		mailMan->sendMail(currRoomFlags, newRoomFlags);
 }
 
 void CGameObject::resetMail() {
diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h
index 8702b5f..fe2eebf 100644
--- a/engines/titanic/core/game_object.h
+++ b/engines/titanic/core/game_object.h
@@ -569,7 +569,7 @@ protected:
 	int getRandomNumber(int max, int *oldVal = nullptr);
 public:
 	Rect _bounds;
-	bool _isMail;
+	bool _isPendingMail;
 	uint _destRoomFlags;
 	uint _roomFlags;
 	int _field60;
@@ -797,9 +797,9 @@ public:
 	void addMail(uint destRoomFlags);
 
 	/**
-	 * Remove an object from the mail list
+	 * Sends a pending mail object to a given destination
 	 */
-	void removeMail(uint destRoomFlags, uint newRoomFlags);
+	void sendMail(uint currRoomFlags, uint newRoomFlags);
 
 	/**
 	 * Return the full Id of the current view in a
diff --git a/engines/titanic/core/mail_man.cpp b/engines/titanic/core/mail_man.cpp
index 851e526..a34c696 100644
--- a/engines/titanic/core/mail_man.cpp
+++ b/engines/titanic/core/mail_man.cpp
@@ -56,22 +56,22 @@ void CMailMan::addMail(CGameObject *obj, uint destRoomFlags) {
 void CMailMan::setMailDest(CGameObject *obj, uint roomFlags) {
 	obj->_destRoomFlags = roomFlags;
 	obj->_roomFlags = 0;
-	obj->_isMail = true;
+	obj->_isPendingMail = true;
 }
 
 CGameObject *CMailMan::findMail(uint roomFlags) const {
 	for (CGameObject *obj = getFirstObject(); obj; obj = getNextObject(obj)) {
-		if (obj->_isMail && obj->_destRoomFlags == roomFlags)
+		if (obj->_isPendingMail && obj->_destRoomFlags == roomFlags)
 			return obj;
 	}
 
 	return nullptr;
 }
 
-void CMailMan::removeMail(uint destRoomFlags, uint newRoomFlags) {
+void CMailMan::sendMail(uint currRoomFlags, uint newRoomFlags) {
 	for (CGameObject *obj = getFirstObject(); obj; obj = getNextObject(obj)) {
-		if (obj->_isMail && obj->_destRoomFlags == destRoomFlags) {
-			obj->_isMail = false;
+		if (obj->_isPendingMail && obj->_destRoomFlags == currRoomFlags) {
+			obj->_isPendingMail = false;
 			obj->_roomFlags = newRoomFlags;
 			break;
 		}
diff --git a/engines/titanic/core/mail_man.h b/engines/titanic/core/mail_man.h
index 0a8d5fa..b5d6a15 100644
--- a/engines/titanic/core/mail_man.h
+++ b/engines/titanic/core/mail_man.h
@@ -71,9 +71,9 @@ public:
 	CGameObject *findMail(uint roomFlags) const;
 
 	/**
-	 * Remove a mail item
+	 * Sends a pending mail object to a given destination
 	 */
-	void removeMail(uint destRoomFlags, uint newRoomFlags);
+	void sendMail(uint currRoomFlags, uint newRoomFlags);
 
 	void resetValue() { _value = 0; }
 };
diff --git a/engines/titanic/game/television.cpp b/engines/titanic/game/television.cpp
index 390d855..a0499f1 100644
--- a/engines/titanic/game/television.cpp
+++ b/engines/titanic/game/television.cpp
@@ -246,7 +246,7 @@ bool CTelevision::MovieEndMsg(CMovieEndMsg *msg) {
 
 			debugC(kDebugScripts, "Assigned room - %d", roomFlags);
 			magazine->addMail(roomFlags);
-			magazine->removeMail(roomFlags, roomFlags);
+			magazine->sendMail(roomFlags, roomFlags);
 		}
 
 		loadFrame(561);
diff --git a/engines/titanic/npcs/bilge_succubus.cpp b/engines/titanic/npcs/bilge_succubus.cpp
index 01d80be..f2b1634 100644
--- a/engines/titanic/npcs/bilge_succubus.cpp
+++ b/engines/titanic/npcs/bilge_succubus.cpp
@@ -165,7 +165,7 @@ bool CBilgeSuccUBus::PETDeliverMsg(CPETDeliverMsg *msg) {
 			if (_afterReceiveStartFrame >= 0)
 				playMovie(_afterReceiveStartFrame, _afterReceiveEndFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
 		} else {
-			removeMail(petRoomFlags, roomFlags);
+			sendMail(petRoomFlags, roomFlags);
 			startTalking(this, 230012);
 			if (_sendStartFrame >= 0) {
 				_field158 = 4;
diff --git a/engines/titanic/npcs/succubus.cpp b/engines/titanic/npcs/succubus.cpp
index 637a041..af21c7b 100644
--- a/engines/titanic/npcs/succubus.cpp
+++ b/engines/titanic/npcs/succubus.cpp
@@ -414,7 +414,7 @@ bool CSuccUBus::PETDeliverMsg(CPETDeliverMsg *msg) {
 
 		if (_isFeathers) {
 			_sendLost = false;
-			removeMail(destRoomFlags, roomFlags);
+			sendMail(destRoomFlags, roomFlags);
 			pet->phonographAction("");
 
 			if (_okStartFrame >= 0) {
@@ -435,7 +435,7 @@ bool CSuccUBus::PETDeliverMsg(CPETDeliverMsg *msg) {
 				playMovie(_afterReceiveStartFrame, _afterReceiveEndFrame, 0);
 			}
 		} else {
-			removeMail(pet->getRoomFlags(), roomFlags);
+			sendMail(pet->getRoomFlags(), roomFlags);
 			pet->phonographAction("");
 
 			if (_okStartFrame >= 0) {
diff --git a/engines/titanic/pet_control/pet_rooms.cpp b/engines/titanic/pet_control/pet_rooms.cpp
index f801737..c00a7ca 100644
--- a/engines/titanic/pet_control/pet_rooms.cpp
+++ b/engines/titanic/pet_control/pet_rooms.cpp
@@ -97,8 +97,8 @@ bool CPetRooms::VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) {
 }
 
 bool CPetRooms::checkDragEnd(CGameObject *item) {
-	// Ignore any item drops except valid mail items
-	if (!item->_isMail)
+	// Ignore any item drops except onto mail items
+	if (!item->_isPendingMail)
 		return false;
 
 	uint roomFlags = item->_destRoomFlags;
diff --git a/engines/titanic/pet_control/pet_rooms_glyphs.cpp b/engines/titanic/pet_control/pet_rooms_glyphs.cpp
index 1df4a0e..2197713 100644
--- a/engines/titanic/pet_control/pet_rooms_glyphs.cpp
+++ b/engines/titanic/pet_control/pet_rooms_glyphs.cpp
@@ -124,7 +124,7 @@ bool CPetRoomsGlyph::dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg) {
 
 		if (chevron) {
 			chevron->_destRoomFlags = _roomFlags;
-			chevron->_isMail = _mailFlag != 0;
+			chevron->_isPendingMail = _mailFlag != 0;
 			petControl->removeFromInventory(chevron, false, false);
 			chevron->loadSurface();
 





More information about the Scummvm-git-logs mailing list