From f48a9fdbf25796a50e0bc755f82ebb06c461e1b6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 26 Dec 2016 15:45:52 -0500 Subject: TITANIC: Clarifications to sending mail code --- engines/titanic/core/game_object.cpp | 10 +++++----- engines/titanic/core/game_object.h | 6 +++--- engines/titanic/core/mail_man.cpp | 10 +++++----- engines/titanic/core/mail_man.h | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) (limited to 'engines/titanic/core') diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp index bfcfa9fbff..ab904370e7 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 8702b5f522..fe2eebfafb 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 851e52694d..a34c69674b 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 0a8d5fa90a..b5d6a153fc 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; } }; -- cgit v1.2.3