diff options
author | Paul Gilbert | 2016-12-26 15:45:52 -0500 |
---|---|---|
committer | Paul Gilbert | 2016-12-26 15:45:52 -0500 |
commit | f48a9fdbf25796a50e0bc755f82ebb06c461e1b6 (patch) | |
tree | c198cfad0819ecbf2d65161055806a99d9b9b321 /engines/titanic | |
parent | 170a1a33e7940fc98a08ae5009770b11ea9e1de9 (diff) | |
download | scummvm-rg350-f48a9fdbf25796a50e0bc755f82ebb06c461e1b6.tar.gz scummvm-rg350-f48a9fdbf25796a50e0bc755f82ebb06c461e1b6.tar.bz2 scummvm-rg350-f48a9fdbf25796a50e0bc755f82ebb06c461e1b6.zip |
TITANIC: Clarifications to sending mail code
Diffstat (limited to 'engines/titanic')
-rw-r--r-- | engines/titanic/core/game_object.cpp | 10 | ||||
-rw-r--r-- | engines/titanic/core/game_object.h | 6 | ||||
-rw-r--r-- | engines/titanic/core/mail_man.cpp | 10 | ||||
-rw-r--r-- | engines/titanic/core/mail_man.h | 4 | ||||
-rw-r--r-- | engines/titanic/game/television.cpp | 2 | ||||
-rw-r--r-- | engines/titanic/npcs/bilge_succubus.cpp | 2 | ||||
-rw-r--r-- | engines/titanic/npcs/succubus.cpp | 4 | ||||
-rw-r--r-- | engines/titanic/pet_control/pet_rooms.cpp | 4 | ||||
-rw-r--r-- | engines/titanic/pet_control/pet_rooms_glyphs.cpp | 2 |
9 files changed, 22 insertions, 22 deletions
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; } }; diff --git a/engines/titanic/game/television.cpp b/engines/titanic/game/television.cpp index 390d8553a6..a0499f1d39 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 01d80beb44..f2b163406a 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 637a04171e..af21c7b758 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 f8017373ec..c00a7ca811 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 1df4a0efac..2197713fa1 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(); |