aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2016-12-26 15:45:52 -0500
committerPaul Gilbert2016-12-26 15:45:52 -0500
commitf48a9fdbf25796a50e0bc755f82ebb06c461e1b6 (patch)
treec198cfad0819ecbf2d65161055806a99d9b9b321 /engines
parent170a1a33e7940fc98a08ae5009770b11ea9e1de9 (diff)
downloadscummvm-rg350-f48a9fdbf25796a50e0bc755f82ebb06c461e1b6.tar.gz
scummvm-rg350-f48a9fdbf25796a50e0bc755f82ebb06c461e1b6.tar.bz2
scummvm-rg350-f48a9fdbf25796a50e0bc755f82ebb06c461e1b6.zip
TITANIC: Clarifications to sending mail code
Diffstat (limited to 'engines')
-rw-r--r--engines/titanic/core/game_object.cpp10
-rw-r--r--engines/titanic/core/game_object.h6
-rw-r--r--engines/titanic/core/mail_man.cpp10
-rw-r--r--engines/titanic/core/mail_man.h4
-rw-r--r--engines/titanic/game/television.cpp2
-rw-r--r--engines/titanic/npcs/bilge_succubus.cpp2
-rw-r--r--engines/titanic/npcs/succubus.cpp4
-rw-r--r--engines/titanic/pet_control/pet_rooms.cpp4
-rw-r--r--engines/titanic/pet_control/pet_rooms_glyphs.cpp2
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();