aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/titanic/carry/brain.cpp2
-rw-r--r--engines/titanic/carry/feathers.cpp3
-rw-r--r--engines/titanic/carry/hose_end.cpp2
-rw-r--r--engines/titanic/carry/hose_end.h1
-rw-r--r--engines/titanic/carry/parcel.cpp3
-rw-r--r--engines/titanic/core/dont_save_file_item.cpp2
-rw-r--r--engines/titanic/core/dont_save_file_item.h1
-rw-r--r--engines/titanic/core/file_item.cpp2
-rw-r--r--engines/titanic/core/file_item.h1
-rw-r--r--engines/titanic/core/game_object.cpp31
-rw-r--r--engines/titanic/core/game_object.h16
-rw-r--r--engines/titanic/core/link_item.cpp2
-rw-r--r--engines/titanic/core/link_item.h1
-rw-r--r--engines/titanic/core/message_target.h15
-rw-r--r--engines/titanic/core/named_item.cpp3
-rw-r--r--engines/titanic/core/node_item.cpp2
-rw-r--r--engines/titanic/core/node_item.h1
-rw-r--r--engines/titanic/core/project_item.cpp2
-rw-r--r--engines/titanic/core/project_item.h3
-rw-r--r--engines/titanic/core/room_item.cpp2
-rw-r--r--engines/titanic/core/room_item.h1
-rw-r--r--engines/titanic/core/static_image.cpp2
-rw-r--r--engines/titanic/core/static_image.h1
-rw-r--r--engines/titanic/core/tree_item.cpp3
-rw-r--r--engines/titanic/game/arb_background.cpp2
-rw-r--r--engines/titanic/game/arb_background.h1
-rw-r--r--engines/titanic/game/broken_pell_base.cpp2
-rw-r--r--engines/titanic/game/broken_pell_base.h1
-rw-r--r--engines/titanic/game/leave_sec_class_state.cpp2
-rw-r--r--engines/titanic/game/leave_sec_class_state.h1
-rw-r--r--engines/titanic/game/music_room_phonograph.cpp2
-rw-r--r--engines/titanic/game/music_room_phonograph.h1
-rw-r--r--engines/titanic/game/musical_instrument.cpp2
-rw-r--r--engines/titanic/game/musical_instrument.h1
-rw-r--r--engines/titanic/game/navigation_computer.cpp2
-rw-r--r--engines/titanic/game/navigation_computer.h1
-rw-r--r--engines/titanic/game/null_port_hole.cpp2
-rw-r--r--engines/titanic/game/null_port_hole.h1
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_object.cpp2
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_object.h1
-rw-r--r--engines/titanic/game/pet/pet_class1.cpp2
-rw-r--r--engines/titanic/game/pet/pet_class1.h1
-rw-r--r--engines/titanic/game/pet/pet_class2.cpp2
-rw-r--r--engines/titanic/game/pet/pet_class2.h1
-rw-r--r--engines/titanic/game/pet/pet_class3.cpp2
-rw-r--r--engines/titanic/game/pet/pet_class3.h1
-rw-r--r--engines/titanic/game/splash_animation.cpp2
-rw-r--r--engines/titanic/game/splash_animation.h1
-rw-r--r--engines/titanic/game/transport/transport.cpp2
-rw-r--r--engines/titanic/game/transport/transport.h1
-rw-r--r--engines/titanic/gfx/chev_left_off.cpp2
-rw-r--r--engines/titanic/gfx/chev_left_off.h1
-rw-r--r--engines/titanic/gfx/chev_left_on.cpp2
-rw-r--r--engines/titanic/gfx/chev_left_on.h1
-rw-r--r--engines/titanic/gfx/chev_right_off.cpp2
-rw-r--r--engines/titanic/gfx/chev_right_off.h1
-rw-r--r--engines/titanic/gfx/chev_right_on.cpp2
-rw-r--r--engines/titanic/gfx/chev_right_on.h1
-rw-r--r--engines/titanic/gfx/chev_send_rec_switch.cpp2
-rw-r--r--engines/titanic/gfx/chev_send_rec_switch.h1
-rw-r--r--engines/titanic/gfx/elevator_button.cpp2
-rw-r--r--engines/titanic/gfx/elevator_button.h1
-rw-r--r--engines/titanic/gfx/get_from_succ.cpp2
-rw-r--r--engines/titanic/gfx/get_from_succ.h1
-rw-r--r--engines/titanic/gfx/helmet_on_off.cpp2
-rw-r--r--engines/titanic/gfx/helmet_on_off.h1
-rw-r--r--engines/titanic/gfx/home_photo.cpp2
-rw-r--r--engines/titanic/gfx/home_photo.h1
-rw-r--r--engines/titanic/gfx/icon_nav_action.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_action.h1
-rw-r--r--engines/titanic/gfx/icon_nav_butt.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_butt.h1
-rw-r--r--engines/titanic/gfx/icon_nav_down.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_down.h1
-rw-r--r--engines/titanic/gfx/icon_nav_image.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_image.h1
-rw-r--r--engines/titanic/gfx/icon_nav_left.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_left.h1
-rw-r--r--engines/titanic/gfx/icon_nav_receive.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_receive.h1
-rw-r--r--engines/titanic/gfx/icon_nav_right.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_right.h1
-rw-r--r--engines/titanic/gfx/icon_nav_send.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_send.h1
-rw-r--r--engines/titanic/gfx/icon_nav_up.cpp2
-rw-r--r--engines/titanic/gfx/icon_nav_up.h1
-rw-r--r--engines/titanic/gfx/keybrd_butt.cpp2
-rw-r--r--engines/titanic/gfx/keybrd_butt.h1
-rw-r--r--engines/titanic/gfx/music_slider.cpp39
-rw-r--r--engines/titanic/gfx/music_slider.h11
-rw-r--r--engines/titanic/gfx/music_switch.cpp39
-rw-r--r--engines/titanic/gfx/music_switch.h11
-rw-r--r--engines/titanic/gfx/send_to_succ.cpp2
-rw-r--r--engines/titanic/gfx/send_to_succ.h1
-rw-r--r--engines/titanic/gfx/sgt_selector.cpp2
-rw-r--r--engines/titanic/gfx/sgt_selector.h1
-rw-r--r--engines/titanic/gfx/small_chev_left_off.cpp2
-rw-r--r--engines/titanic/gfx/small_chev_left_off.h1
-rw-r--r--engines/titanic/gfx/small_chev_left_on.cpp2
-rw-r--r--engines/titanic/gfx/small_chev_left_on.h1
-rw-r--r--engines/titanic/gfx/small_chev_right_off.cpp2
-rw-r--r--engines/titanic/gfx/small_chev_right_off.h1
-rw-r--r--engines/titanic/gfx/small_chev_right_on.cpp2
-rw-r--r--engines/titanic/gfx/small_chev_right_on.h1
-rw-r--r--engines/titanic/gfx/text_down.cpp2
-rw-r--r--engines/titanic/gfx/text_down.h1
-rw-r--r--engines/titanic/gfx/text_skrew.cpp2
-rw-r--r--engines/titanic/gfx/text_skrew.h1
-rw-r--r--engines/titanic/gfx/text_up.cpp2
-rw-r--r--engines/titanic/gfx/text_up.h1
-rw-r--r--engines/titanic/gfx/toggle_button.cpp2
-rw-r--r--engines/titanic/gfx/toggle_button.h1
-rw-r--r--engines/titanic/module.mk2
-rw-r--r--engines/titanic/npcs/mobile.cpp2
-rw-r--r--engines/titanic/npcs/mobile.h1
-rw-r--r--engines/titanic/npcs/true_talk_npc.cpp12
-rw-r--r--engines/titanic/npcs/true_talk_npc.h5
-rw-r--r--engines/titanic/pet_control/pet_graphic.cpp3
-rw-r--r--engines/titanic/pet_control/pet_graphic2.cpp3
-rw-r--r--engines/titanic/pet_control/pet_leaf.cpp2
-rw-r--r--engines/titanic/pet_control/pet_leaf.h1
-rw-r--r--engines/titanic/pet_control/pet_mode_off.cpp3
-rw-r--r--engines/titanic/pet_control/pet_mode_on.cpp3
-rw-r--r--engines/titanic/pet_control/pet_mode_panel.cpp3
-rw-r--r--engines/titanic/pet_control/pet_pannel1.cpp3
-rw-r--r--engines/titanic/pet_control/pet_pannel2.cpp3
-rw-r--r--engines/titanic/pet_control/pet_pannel3.cpp3
-rw-r--r--engines/titanic/sound/dome_from_top_of_well.cpp2
-rw-r--r--engines/titanic/sound/dome_from_top_of_well.h1
-rw-r--r--engines/titanic/sound/water_lapping_sounds.cpp2
-rw-r--r--engines/titanic/sound/water_lapping_sounds.h1
131 files changed, 323 insertions, 60 deletions
diff --git a/engines/titanic/carry/brain.cpp b/engines/titanic/carry/brain.cpp
index a60e652bda..1fe0c1b5d8 100644
--- a/engines/titanic/carry/brain.cpp
+++ b/engines/titanic/carry/brain.cpp
@@ -123,7 +123,7 @@ bool CBrain::PassOnDragStartMsg(CPassOnDragStartMsg *msg) {
bool CBrain::PETGainedObjectMsg(CPETGainedObjectMsg *msg) {
if (!_field138) {
if (getName() == "Perch") {
- incState38();
+ stateInc38();
_field138 = 1;
}
}
diff --git a/engines/titanic/carry/feathers.cpp b/engines/titanic/carry/feathers.cpp
index a738d74249..e89f33564b 100644
--- a/engines/titanic/carry/feathers.cpp
+++ b/engines/titanic/carry/feathers.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CFeathers, CCarry)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CFeathers, CCarry)
CFeathers::CFeathers() : CCarry() {
}
diff --git a/engines/titanic/carry/hose_end.cpp b/engines/titanic/carry/hose_end.cpp
index 97d75b0ac4..6f15d5be1b 100644
--- a/engines/titanic/carry/hose_end.cpp
+++ b/engines/titanic/carry/hose_end.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CHoseEnd, CHose)
+
CHoseEnd::CHoseEnd() : CHose() {
_string6 = "Connection refused by remote hose.";
}
diff --git a/engines/titanic/carry/hose_end.h b/engines/titanic/carry/hose_end.h
index d9efb594bc..796191e12f 100644
--- a/engines/titanic/carry/hose_end.h
+++ b/engines/titanic/carry/hose_end.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CHoseEnd : public CHose {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CHoseEnd();
diff --git a/engines/titanic/carry/parcel.cpp b/engines/titanic/carry/parcel.cpp
index 275c982d63..d532bac92b 100644
--- a/engines/titanic/carry/parcel.cpp
+++ b/engines/titanic/carry/parcel.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CParcel, CCarry)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CParcel, CCarry)
CParcel::CParcel() : CCarry() {
}
diff --git a/engines/titanic/core/dont_save_file_item.cpp b/engines/titanic/core/dont_save_file_item.cpp
index 389cef5a9c..00b7dd22ce 100644
--- a/engines/titanic/core/dont_save_file_item.cpp
+++ b/engines/titanic/core/dont_save_file_item.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CDontSaveFileItem, CFileItem)
+
void CDontSaveFileItem::save(SimpleFile *file, int indent) const {
file->writeNumberLine(0, indent);
}
diff --git a/engines/titanic/core/dont_save_file_item.h b/engines/titanic/core/dont_save_file_item.h
index d4d5da2e4b..7517976825 100644
--- a/engines/titanic/core/dont_save_file_item.h
+++ b/engines/titanic/core/dont_save_file_item.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CDontSaveFileItem : public CFileItem {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/core/file_item.cpp b/engines/titanic/core/file_item.cpp
index 0d3316dbf3..566f9104a9 100644
--- a/engines/titanic/core/file_item.cpp
+++ b/engines/titanic/core/file_item.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CFileItem, CTreeItem)
+
void CFileItem::save(SimpleFile *file, int indent) const {
file->writeNumberLine(0, indent);
CTreeItem::save(file, indent);
diff --git a/engines/titanic/core/file_item.h b/engines/titanic/core/file_item.h
index 34ba0ae683..e8e4935de0 100644
--- a/engines/titanic/core/file_item.h
+++ b/engines/titanic/core/file_item.h
@@ -30,6 +30,7 @@
namespace Titanic {
class CFileItem: public CTreeItem {
+ DECLARE_MESSAGE_MAP
private:
CString _filename;
public:
diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp
index 66417ac630..d1f3a32493 100644
--- a/engines/titanic/core/game_object.cpp
+++ b/engines/titanic/core/game_object.cpp
@@ -35,8 +35,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CGameObject, CNamedItem)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CGameObject, CNamedItem)
CCreditText *CGameObject::_credits;
@@ -424,6 +423,10 @@ void CGameObject::soundFn5(int v1, int v2, int v3) {
warning("CGameObject::soundFn5");
}
+void CGameObject::sound8(bool flag) const {
+ getGameManager()->_sound.managerProc8(flag ? 3 : 0);
+}
+
void CGameObject::setVisible(bool val) {
if (val != _visible) {
_visible = val;
@@ -582,10 +585,6 @@ int CGameObject::getSurface45() const {
return _surface ? _surface->proc45() : 0;
}
-void CGameObject::sound8(bool flag) const {
- getGameManager()->_sound.managerProc8(flag ? 3 : 0);
-}
-
void CGameObject::loadSound(const CString &name) {
CGameManager *gameManager = getGameManager();
if (gameManager) {
@@ -855,15 +854,11 @@ void CGameObject::moveToView(const CString &name) {
view->addUnder(this);
}
-void CGameObject::incState38() {
- getGameManager()->_gameState.inc38();
-}
-
void CGameObject::stateInc14() {
getGameManager()->_gameState.inc14();
}
-int CGameObject::stateGet14() {
+int CGameObject::stateGet14() const {
return getGameManager()->_gameState._field14;
}
@@ -871,10 +866,22 @@ void CGameObject::stateSet24() {
getGameManager()->_gameState.set24(1);
}
-int CGameObject::stateGet24() {
+int CGameObject::stateGet24() const {
return getGameManager()->_gameState.get24();
}
+void CGameObject::stateInc38() {
+ getGameManager()->_gameState.inc38();
+}
+
+int CGameObject::stateGet38() const {
+ return getGameManager()->_gameState._field38;
+}
+
+void CGameObject::quitGame() {
+ getGameManager()->_gameState._quitGame = true;
+}
+
void CGameObject::inc54() {
getGameManager()->inc54();
}
diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h
index 145b81ee65..ade8800e5d 100644
--- a/engines/titanic/core/game_object.h
+++ b/engines/titanic/core/game_object.h
@@ -201,6 +201,8 @@ protected:
void soundFn5(int v1, int v2, int v3);
+ void sound8(bool flag) const;
+
/**
* Adds a timer
*/
@@ -287,8 +289,6 @@ protected:
*/
Point getControid() const;
- void sound8(bool flag) const;
-
/**
* Plays a movie
*/
@@ -440,11 +440,17 @@ protected:
void petUnlockInput();
void setState1C(bool flag);
- void incState38();
void stateInc14();
- int stateGet14();
+ int stateGet14() const;
void stateSet24();
- int stateGet24();
+ int stateGet24() const;
+ void stateInc38();
+ int stateGet38() const;
+
+ /**
+ * Flag to quit the game
+ */
+ void quitGame();
void surface39(int v1, int v2);
diff --git a/engines/titanic/core/link_item.cpp b/engines/titanic/core/link_item.cpp
index b172b9b4d0..a0460bd2c6 100644
--- a/engines/titanic/core/link_item.cpp
+++ b/engines/titanic/core/link_item.cpp
@@ -27,6 +27,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CLinkItem, CNamedItem)
+
CLinkItem::CLinkItem() : CNamedItem() {
_roomNumber = -1;
_nodeNumber = -1;
diff --git a/engines/titanic/core/link_item.h b/engines/titanic/core/link_item.h
index 25de74104b..9c376396f7 100644
--- a/engines/titanic/core/link_item.h
+++ b/engines/titanic/core/link_item.h
@@ -34,6 +34,7 @@ class CNodeItem;
class CRoomItem;
class CLinkItem : public CNamedItem {
+ DECLARE_MESSAGE_MAP
private:
/**
* Returns a new name for the link item, based on the
diff --git a/engines/titanic/core/message_target.h b/engines/titanic/core/message_target.h
index 0f43bcd2c5..e5bdf3e08a 100644
--- a/engines/titanic/core/message_target.h
+++ b/engines/titanic/core/message_target.h
@@ -68,6 +68,21 @@ protected: \
return &messageMap; \
}
+#define EMPTY_MESSAGE_MAP(theClass, baseClass) \
+ const MSGMAP *theClass::getMessageMap() const \
+ { return getThisMessageMap(); } \
+ const MSGMAP *theClass::getThisMessageMap() \
+ { \
+ typedef theClass ThisClass; \
+ typedef baseClass TheBaseClass; \
+ static const MSGMAP_ENTRY _messageEntries[] = { \
+ { (PMSG)nullptr, nullptr } \
+ }; \
+ static const MSGMAP messageMap = \
+ { &TheBaseClass::getThisMessageMap, &_messageEntries[0] }; \
+ return &messageMap; \
+ }
+
class CMessageTarget: public CSaveableObject {
DECLARE_MESSAGE_MAP
public:
diff --git a/engines/titanic/core/named_item.cpp b/engines/titanic/core/named_item.cpp
index 72d3fd9f42..981627a280 100644
--- a/engines/titanic/core/named_item.cpp
+++ b/engines/titanic/core/named_item.cpp
@@ -27,8 +27,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CNamedItem, CTreeItem)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CNamedItem, CTreeItem)
CString CNamedItem::dumpItem(int indent) const {
CString result = CTreeItem::dumpItem(indent);
diff --git a/engines/titanic/core/node_item.cpp b/engines/titanic/core/node_item.cpp
index 6b7d6452cb..57acbdb3b8 100644
--- a/engines/titanic/core/node_item.cpp
+++ b/engines/titanic/core/node_item.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CNodeItem, CNamedItem)
+
CNodeItem::CNodeItem() : CNamedItem(), _nodeNumber(0) {
}
diff --git a/engines/titanic/core/node_item.h b/engines/titanic/core/node_item.h
index 32db1c1401..85003bf97c 100644
--- a/engines/titanic/core/node_item.h
+++ b/engines/titanic/core/node_item.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CNodeItem : public CNamedItem {
+ DECLARE_MESSAGE_MAP
public:
int _nodeNumber;
Point _nodePos;
diff --git a/engines/titanic/core/project_item.cpp b/engines/titanic/core/project_item.cpp
index c6a5c2eb61..586301b9f4 100644
--- a/engines/titanic/core/project_item.cpp
+++ b/engines/titanic/core/project_item.cpp
@@ -41,6 +41,8 @@ namespace Titanic {
static const char *const SAVEGAME_STR = "TNIC";
#define SAVEGAME_STR_SIZE 4
+EMPTY_MESSAGE_MAP(CProjectItem, CFileItem)
+
void CFileListItem::save(SimpleFile *file, int indent) const {
file->writeNumberLine(0, indent);
file->writeQuotedLine(_name, indent);
diff --git a/engines/titanic/core/project_item.h b/engines/titanic/core/project_item.h
index 213fa9d638..d0b8d77598 100644
--- a/engines/titanic/core/project_item.h
+++ b/engines/titanic/core/project_item.h
@@ -73,11 +73,10 @@ public:
* Filename list
*/
class CFileList: public List<CFileListItem> {
-public:
};
-
class CProjectItem : public CFileItem {
+ DECLARE_MESSAGE_MAP
private:
CString _filename;
CFileList _files;
diff --git a/engines/titanic/core/room_item.cpp b/engines/titanic/core/room_item.cpp
index e33d0c41dd..b3a3fe41cc 100644
--- a/engines/titanic/core/room_item.cpp
+++ b/engines/titanic/core/room_item.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CRoomItem, CNamedItem)
+
CRoomItem::CRoomItem() : CNamedItem(), _roomNumber(0),
_roomDimensionX(0.0), _roomDimensionY(0.0) {
}
diff --git a/engines/titanic/core/room_item.h b/engines/titanic/core/room_item.h
index 4692318419..f44a525b60 100644
--- a/engines/titanic/core/room_item.h
+++ b/engines/titanic/core/room_item.h
@@ -32,6 +32,7 @@
namespace Titanic {
class CRoomItem : public CNamedItem {
+ DECLARE_MESSAGE_MAP
private:
/**
* Handles post-load processing
diff --git a/engines/titanic/core/static_image.cpp b/engines/titanic/core/static_image.cpp
index 54a041fff5..cc8e1ddc1a 100644
--- a/engines/titanic/core/static_image.cpp
+++ b/engines/titanic/core/static_image.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CStaticImage, CGameObject)
+
void CStaticImage::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CGameObject::save(file, indent);
diff --git a/engines/titanic/core/static_image.h b/engines/titanic/core/static_image.h
index 2b0a3ad071..953cf4d6bf 100644
--- a/engines/titanic/core/static_image.h
+++ b/engines/titanic/core/static_image.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CStaticImage : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/core/tree_item.cpp b/engines/titanic/core/tree_item.cpp
index 190dc997e7..21496ee8a5 100644
--- a/engines/titanic/core/tree_item.cpp
+++ b/engines/titanic/core/tree_item.cpp
@@ -38,8 +38,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CTreeItem, CMessageTarget)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CTreeItem, CMessageTarget)
CTreeItem::CTreeItem() : _parent(nullptr), _firstChild(nullptr),
_nextSibling(nullptr), _priorSibling(nullptr), _field14(0) {
diff --git a/engines/titanic/game/arb_background.cpp b/engines/titanic/game/arb_background.cpp
index 54e9c17e3c..07558157f0 100644
--- a/engines/titanic/game/arb_background.cpp
+++ b/engines/titanic/game/arb_background.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CArbBackground, CBackground)
+
CArbBackground::CArbBackground() : CBackground(),
_fieldE0(0), _fieldE4(61), _fieldE8(62), _fieldEC(118) {
}
diff --git a/engines/titanic/game/arb_background.h b/engines/titanic/game/arb_background.h
index 50a9075750..a5850afc0f 100644
--- a/engines/titanic/game/arb_background.h
+++ b/engines/titanic/game/arb_background.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CArbBackground : public CBackground {
+ DECLARE_MESSAGE_MAP
public:
int _fieldE0;
int _fieldE4;
diff --git a/engines/titanic/game/broken_pell_base.cpp b/engines/titanic/game/broken_pell_base.cpp
index 2d11e544e2..8b8e0b9db5 100644
--- a/engines/titanic/game/broken_pell_base.cpp
+++ b/engines/titanic/game/broken_pell_base.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CBrokenPellBase, CBackground)
+
int CBrokenPellBase::_v1;
int CBrokenPellBase::_v2;
diff --git a/engines/titanic/game/broken_pell_base.h b/engines/titanic/game/broken_pell_base.h
index 46e7a70581..45b6594301 100644
--- a/engines/titanic/game/broken_pell_base.h
+++ b/engines/titanic/game/broken_pell_base.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CBrokenPellBase : public CBackground {
+ DECLARE_MESSAGE_MAP
private:
static int _v1;
static int _v2;
diff --git a/engines/titanic/game/leave_sec_class_state.cpp b/engines/titanic/game/leave_sec_class_state.cpp
index cbeb872dc8..922bd98c70 100644
--- a/engines/titanic/game/leave_sec_class_state.cpp
+++ b/engines/titanic/game/leave_sec_class_state.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CLeaveSecClassState, CGameObject)
+
void CLeaveSecClassState::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CGameObject::save(file, indent);
diff --git a/engines/titanic/game/leave_sec_class_state.h b/engines/titanic/game/leave_sec_class_state.h
index 34ba31b6c0..5f77436ed1 100644
--- a/engines/titanic/game/leave_sec_class_state.h
+++ b/engines/titanic/game/leave_sec_class_state.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CLeaveSecClassState : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/game/music_room_phonograph.cpp b/engines/titanic/game/music_room_phonograph.cpp
index 7fa30f5dcf..c08b23006f 100644
--- a/engines/titanic/game/music_room_phonograph.cpp
+++ b/engines/titanic/game/music_room_phonograph.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CMusicRoomPhonograph, CRestaurantPhonograph)
+
void CMusicRoomPhonograph::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
file->writeNumberLine(_field118, indent);
diff --git a/engines/titanic/game/music_room_phonograph.h b/engines/titanic/game/music_room_phonograph.h
index 6660503616..cad59f35b3 100644
--- a/engines/titanic/game/music_room_phonograph.h
+++ b/engines/titanic/game/music_room_phonograph.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CMusicRoomPhonograph : public CRestaurantPhonograph {
+ DECLARE_MESSAGE_MAP
private:
int _field118;
public:
diff --git a/engines/titanic/game/musical_instrument.cpp b/engines/titanic/game/musical_instrument.cpp
index 6695104aba..6480f9f8d1 100644
--- a/engines/titanic/game/musical_instrument.cpp
+++ b/engines/titanic/game/musical_instrument.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CMusicalInstrument, CBackground)
+
void CMusicalInstrument::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CBackground::save(file, indent);
diff --git a/engines/titanic/game/musical_instrument.h b/engines/titanic/game/musical_instrument.h
index b4abe4fdb2..5bc7446f13 100644
--- a/engines/titanic/game/musical_instrument.h
+++ b/engines/titanic/game/musical_instrument.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CMusicalInstrument : public CBackground {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/game/navigation_computer.cpp b/engines/titanic/game/navigation_computer.cpp
index be2f189083..7e04f848fc 100644
--- a/engines/titanic/game/navigation_computer.cpp
+++ b/engines/titanic/game/navigation_computer.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CNavigationComputer, CGameObject)
+
void CNavigationComputer::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CGameObject::save(file, indent);
diff --git a/engines/titanic/game/navigation_computer.h b/engines/titanic/game/navigation_computer.h
index a7077f7dcd..5315c882cf 100644
--- a/engines/titanic/game/navigation_computer.h
+++ b/engines/titanic/game/navigation_computer.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CNavigationComputer : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/game/null_port_hole.cpp b/engines/titanic/game/null_port_hole.cpp
index c437dfea10..93dd7eb64e 100644
--- a/engines/titanic/game/null_port_hole.cpp
+++ b/engines/titanic/game/null_port_hole.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CNullPortHole, CClickResponder)
+
CNullPortHole::CNullPortHole() : CClickResponder() {
_string1 = "For a better view, why not visit the Promenade Deck?";
_string2 = "b#48.wav";
diff --git a/engines/titanic/game/null_port_hole.h b/engines/titanic/game/null_port_hole.h
index fb07462ea8..be335ef47c 100644
--- a/engines/titanic/game/null_port_hole.h
+++ b/engines/titanic/game/null_port_hole.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CNullPortHole : public CClickResponder {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CNullPortHole();
diff --git a/engines/titanic/game/parrot/parrot_lobby_object.cpp b/engines/titanic/game/parrot/parrot_lobby_object.cpp
index 137f3e2ff9..8090a1d46c 100644
--- a/engines/titanic/game/parrot/parrot_lobby_object.cpp
+++ b/engines/titanic/game/parrot/parrot_lobby_object.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CParrotLobbyObject, CGameObject)
+
int CParrotLobbyObject::_v1;
int CParrotLobbyObject::_v2;
int CParrotLobbyObject::_v3;
diff --git a/engines/titanic/game/parrot/parrot_lobby_object.h b/engines/titanic/game/parrot/parrot_lobby_object.h
index 9cc979cd26..5b53276eb0 100644
--- a/engines/titanic/game/parrot/parrot_lobby_object.h
+++ b/engines/titanic/game/parrot/parrot_lobby_object.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CParrotLobbyObject : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
static int _v1;
static int _v2;
diff --git a/engines/titanic/game/pet/pet_class1.cpp b/engines/titanic/game/pet/pet_class1.cpp
index 4bd25560fb..b0407ef6e5 100644
--- a/engines/titanic/game/pet/pet_class1.cpp
+++ b/engines/titanic/game/pet/pet_class1.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CPETClass1, CGameObject)
+
void CPETClass1::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CGameObject::save(file, indent);
diff --git a/engines/titanic/game/pet/pet_class1.h b/engines/titanic/game/pet/pet_class1.h
index 12dfb322b2..e22b2148b5 100644
--- a/engines/titanic/game/pet/pet_class1.h
+++ b/engines/titanic/game/pet/pet_class1.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CPETClass1 : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/game/pet/pet_class2.cpp b/engines/titanic/game/pet/pet_class2.cpp
index 8399468489..8809f84214 100644
--- a/engines/titanic/game/pet/pet_class2.cpp
+++ b/engines/titanic/game/pet/pet_class2.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CPETClass2, CGameObject)
+
void CPETClass2::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CGameObject::save(file, indent);
diff --git a/engines/titanic/game/pet/pet_class2.h b/engines/titanic/game/pet/pet_class2.h
index 5b96118c7c..529f9534e2 100644
--- a/engines/titanic/game/pet/pet_class2.h
+++ b/engines/titanic/game/pet/pet_class2.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CPETClass2 : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/game/pet/pet_class3.cpp b/engines/titanic/game/pet/pet_class3.cpp
index 96ce66461f..81ddf8adf8 100644
--- a/engines/titanic/game/pet/pet_class3.cpp
+++ b/engines/titanic/game/pet/pet_class3.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CPETClass3, CGameObject)
+
void CPETClass3::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CGameObject::save(file, indent);
diff --git a/engines/titanic/game/pet/pet_class3.h b/engines/titanic/game/pet/pet_class3.h
index d68cb098ec..d34c9d335e 100644
--- a/engines/titanic/game/pet/pet_class3.h
+++ b/engines/titanic/game/pet/pet_class3.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CPETClass3 : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/game/splash_animation.cpp b/engines/titanic/game/splash_animation.cpp
index 16cf067629..3d35929e2d 100644
--- a/engines/titanic/game/splash_animation.cpp
+++ b/engines/titanic/game/splash_animation.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CSplashAnimation, CGameObject)
+
void CSplashAnimation::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CGameObject::save(file, indent);
diff --git a/engines/titanic/game/splash_animation.h b/engines/titanic/game/splash_animation.h
index 2f4056231b..9b6322e175 100644
--- a/engines/titanic/game/splash_animation.h
+++ b/engines/titanic/game/splash_animation.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CSplashAnimation : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/game/transport/transport.cpp b/engines/titanic/game/transport/transport.cpp
index ef31a07367..e00375975b 100644
--- a/engines/titanic/game/transport/transport.cpp
+++ b/engines/titanic/game/transport/transport.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CTransport, CMobile)
+
CTransport::CTransport() : CMobile(), _string1("*.*.*") {
}
diff --git a/engines/titanic/game/transport/transport.h b/engines/titanic/game/transport/transport.h
index faa00b4dd9..b7540add0e 100644
--- a/engines/titanic/game/transport/transport.h
+++ b/engines/titanic/game/transport/transport.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CTransport : public CMobile {
+ DECLARE_MESSAGE_MAP
public:
CString _string1;
CString _string2;
diff --git a/engines/titanic/gfx/chev_left_off.cpp b/engines/titanic/gfx/chev_left_off.cpp
index 736cc0d6c4..0ce2d62af3 100644
--- a/engines/titanic/gfx/chev_left_off.cpp
+++ b/engines/titanic/gfx/chev_left_off.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CChevLeftOff, CToggleSwitch)
+
CChevLeftOff::CChevLeftOff() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/chev_left_off.h b/engines/titanic/gfx/chev_left_off.h
index 753aba3be0..36a9d2c3ad 100644
--- a/engines/titanic/gfx/chev_left_off.h
+++ b/engines/titanic/gfx/chev_left_off.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CChevLeftOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CChevLeftOff();
diff --git a/engines/titanic/gfx/chev_left_on.cpp b/engines/titanic/gfx/chev_left_on.cpp
index f233c53a43..c3264b794b 100644
--- a/engines/titanic/gfx/chev_left_on.cpp
+++ b/engines/titanic/gfx/chev_left_on.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CChevLeftOn, CToggleSwitch)
+
CChevLeftOn::CChevLeftOn() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/chev_left_on.h b/engines/titanic/gfx/chev_left_on.h
index 99126d792c..0de814bfcc 100644
--- a/engines/titanic/gfx/chev_left_on.h
+++ b/engines/titanic/gfx/chev_left_on.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CChevLeftOn : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CChevLeftOn();
diff --git a/engines/titanic/gfx/chev_right_off.cpp b/engines/titanic/gfx/chev_right_off.cpp
index 7cf3b11d19..60ed2de30c 100644
--- a/engines/titanic/gfx/chev_right_off.cpp
+++ b/engines/titanic/gfx/chev_right_off.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CChevRightOff, CToggleSwitch)
+
CChevRightOff::CChevRightOff() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/chev_right_off.h b/engines/titanic/gfx/chev_right_off.h
index 1a31007f19..3714c2b386 100644
--- a/engines/titanic/gfx/chev_right_off.h
+++ b/engines/titanic/gfx/chev_right_off.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CChevRightOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CChevRightOff();
diff --git a/engines/titanic/gfx/chev_right_on.cpp b/engines/titanic/gfx/chev_right_on.cpp
index 848abfc005..ac55100ed6 100644
--- a/engines/titanic/gfx/chev_right_on.cpp
+++ b/engines/titanic/gfx/chev_right_on.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CChevRightOn, CToggleSwitch)
+
CChevRightOn::CChevRightOn() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/chev_right_on.h b/engines/titanic/gfx/chev_right_on.h
index 084b02ea08..d72c34a895 100644
--- a/engines/titanic/gfx/chev_right_on.h
+++ b/engines/titanic/gfx/chev_right_on.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CChevRightOn : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CChevRightOn();
diff --git a/engines/titanic/gfx/chev_send_rec_switch.cpp b/engines/titanic/gfx/chev_send_rec_switch.cpp
index affe9bce8f..d0d4a819a3 100644
--- a/engines/titanic/gfx/chev_send_rec_switch.cpp
+++ b/engines/titanic/gfx/chev_send_rec_switch.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CChevSendRecSwitch, CToggleSwitch)
+
CChevSendRecSwitch::CChevSendRecSwitch() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/chev_send_rec_switch.h b/engines/titanic/gfx/chev_send_rec_switch.h
index 29d6e7ab82..2f51bae259 100644
--- a/engines/titanic/gfx/chev_send_rec_switch.h
+++ b/engines/titanic/gfx/chev_send_rec_switch.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CChevSendRecSwitch : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CChevSendRecSwitch();
diff --git a/engines/titanic/gfx/elevator_button.cpp b/engines/titanic/gfx/elevator_button.cpp
index 81c9598b03..2a599ca491 100644
--- a/engines/titanic/gfx/elevator_button.cpp
+++ b/engines/titanic/gfx/elevator_button.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CElevatorButton, CSTButton)
+
CElevatorButton::CElevatorButton() : CSTButton() {
}
diff --git a/engines/titanic/gfx/elevator_button.h b/engines/titanic/gfx/elevator_button.h
index dddb7077b3..d6bf5dc3d6 100644
--- a/engines/titanic/gfx/elevator_button.h
+++ b/engines/titanic/gfx/elevator_button.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CElevatorButton : public CSTButton {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CElevatorButton();
diff --git a/engines/titanic/gfx/get_from_succ.cpp b/engines/titanic/gfx/get_from_succ.cpp
index ad7b5dc2e8..c7a59fd97d 100644
--- a/engines/titanic/gfx/get_from_succ.cpp
+++ b/engines/titanic/gfx/get_from_succ.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CGetFromSucc, CToggleSwitch)
+
CGetFromSucc::CGetFromSucc() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/get_from_succ.h b/engines/titanic/gfx/get_from_succ.h
index f0b028afa0..dc611f140f 100644
--- a/engines/titanic/gfx/get_from_succ.h
+++ b/engines/titanic/gfx/get_from_succ.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CGetFromSucc : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CGetFromSucc();
diff --git a/engines/titanic/gfx/helmet_on_off.cpp b/engines/titanic/gfx/helmet_on_off.cpp
index e1c698932e..29131778cb 100644
--- a/engines/titanic/gfx/helmet_on_off.cpp
+++ b/engines/titanic/gfx/helmet_on_off.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CHelmetOnOff, CToggleSwitch)
+
CHelmetOnOff::CHelmetOnOff() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/helmet_on_off.h b/engines/titanic/gfx/helmet_on_off.h
index 41621f340e..f607b47c0c 100644
--- a/engines/titanic/gfx/helmet_on_off.h
+++ b/engines/titanic/gfx/helmet_on_off.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CHelmetOnOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CHelmetOnOff();
diff --git a/engines/titanic/gfx/home_photo.cpp b/engines/titanic/gfx/home_photo.cpp
index 48661fc70d..303e56d1ca 100644
--- a/engines/titanic/gfx/home_photo.cpp
+++ b/engines/titanic/gfx/home_photo.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CHomePhoto, CToggleSwitch)
+
CHomePhoto::CHomePhoto() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/home_photo.h b/engines/titanic/gfx/home_photo.h
index 6e6f4976a2..db0be89a77 100644
--- a/engines/titanic/gfx/home_photo.h
+++ b/engines/titanic/gfx/home_photo.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CHomePhoto : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CHomePhoto();
diff --git a/engines/titanic/gfx/icon_nav_action.cpp b/engines/titanic/gfx/icon_nav_action.cpp
index f8aaa72396..e66c345bf5 100644
--- a/engines/titanic/gfx/icon_nav_action.cpp
+++ b/engines/titanic/gfx/icon_nav_action.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavAction, CToggleSwitch)
+
CIconNavAction::CIconNavAction() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/icon_nav_action.h b/engines/titanic/gfx/icon_nav_action.h
index cb8fae932a..189ea357e4 100644
--- a/engines/titanic/gfx/icon_nav_action.h
+++ b/engines/titanic/gfx/icon_nav_action.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavAction : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CIconNavAction();
diff --git a/engines/titanic/gfx/icon_nav_butt.cpp b/engines/titanic/gfx/icon_nav_butt.cpp
index 85eb1304c2..820a4270d4 100644
--- a/engines/titanic/gfx/icon_nav_butt.cpp
+++ b/engines/titanic/gfx/icon_nav_butt.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavButt, CPetGraphic)
+
void CIconNavButt::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CPetGraphic::save(file, indent);
diff --git a/engines/titanic/gfx/icon_nav_butt.h b/engines/titanic/gfx/icon_nav_butt.h
index b2db4c7794..0cb2f1a3b1 100644
--- a/engines/titanic/gfx/icon_nav_butt.h
+++ b/engines/titanic/gfx/icon_nav_butt.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavButt : public CPetGraphic {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/gfx/icon_nav_down.cpp b/engines/titanic/gfx/icon_nav_down.cpp
index 947aa4c4f0..78727a3e8b 100644
--- a/engines/titanic/gfx/icon_nav_down.cpp
+++ b/engines/titanic/gfx/icon_nav_down.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavDown, CToggleSwitch)
+
CIconNavDown::CIconNavDown() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/icon_nav_down.h b/engines/titanic/gfx/icon_nav_down.h
index b7759e059d..3eef9ef7f1 100644
--- a/engines/titanic/gfx/icon_nav_down.h
+++ b/engines/titanic/gfx/icon_nav_down.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavDown : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CIconNavDown();
diff --git a/engines/titanic/gfx/icon_nav_image.cpp b/engines/titanic/gfx/icon_nav_image.cpp
index 1e8a1ca2c3..d0c6239dcd 100644
--- a/engines/titanic/gfx/icon_nav_image.cpp
+++ b/engines/titanic/gfx/icon_nav_image.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavImage, CPetGraphic)
+
void CIconNavImage::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CPetGraphic::save(file, indent);
diff --git a/engines/titanic/gfx/icon_nav_image.h b/engines/titanic/gfx/icon_nav_image.h
index 295ffe7d3b..8460733a12 100644
--- a/engines/titanic/gfx/icon_nav_image.h
+++ b/engines/titanic/gfx/icon_nav_image.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavImage : public CPetGraphic {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/gfx/icon_nav_left.cpp b/engines/titanic/gfx/icon_nav_left.cpp
index 5ec50904d2..803818f19f 100644
--- a/engines/titanic/gfx/icon_nav_left.cpp
+++ b/engines/titanic/gfx/icon_nav_left.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavLeft, CToggleSwitch)
+
CIconNavLeft::CIconNavLeft() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/icon_nav_left.h b/engines/titanic/gfx/icon_nav_left.h
index e507d2c2dd..5fd7b65a83 100644
--- a/engines/titanic/gfx/icon_nav_left.h
+++ b/engines/titanic/gfx/icon_nav_left.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavLeft : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CIconNavLeft();
diff --git a/engines/titanic/gfx/icon_nav_receive.cpp b/engines/titanic/gfx/icon_nav_receive.cpp
index ad7e0e7160..554656cf0a 100644
--- a/engines/titanic/gfx/icon_nav_receive.cpp
+++ b/engines/titanic/gfx/icon_nav_receive.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavReceive, CPetGraphic)
+
void CIconNavReceive::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CPetGraphic::save(file, indent);
diff --git a/engines/titanic/gfx/icon_nav_receive.h b/engines/titanic/gfx/icon_nav_receive.h
index 36eed5376b..f181439289 100644
--- a/engines/titanic/gfx/icon_nav_receive.h
+++ b/engines/titanic/gfx/icon_nav_receive.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavReceive : public CPetGraphic {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/gfx/icon_nav_right.cpp b/engines/titanic/gfx/icon_nav_right.cpp
index d133ed3b81..1553c9127c 100644
--- a/engines/titanic/gfx/icon_nav_right.cpp
+++ b/engines/titanic/gfx/icon_nav_right.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavRight, CToggleSwitch)
+
CIconNavRight::CIconNavRight() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/icon_nav_right.h b/engines/titanic/gfx/icon_nav_right.h
index db3bab4bb8..c088a2334a 100644
--- a/engines/titanic/gfx/icon_nav_right.h
+++ b/engines/titanic/gfx/icon_nav_right.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavRight : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CIconNavRight();
diff --git a/engines/titanic/gfx/icon_nav_send.cpp b/engines/titanic/gfx/icon_nav_send.cpp
index 856560c175..64d2a8660e 100644
--- a/engines/titanic/gfx/icon_nav_send.cpp
+++ b/engines/titanic/gfx/icon_nav_send.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavSend, CPetGraphic)
+
void CIconNavSend::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CPetGraphic::save(file, indent);
diff --git a/engines/titanic/gfx/icon_nav_send.h b/engines/titanic/gfx/icon_nav_send.h
index d25d0b9149..41c747edad 100644
--- a/engines/titanic/gfx/icon_nav_send.h
+++ b/engines/titanic/gfx/icon_nav_send.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavSend : public CPetGraphic {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/gfx/icon_nav_up.cpp b/engines/titanic/gfx/icon_nav_up.cpp
index 5b5d5ec9f0..a8f4f552b5 100644
--- a/engines/titanic/gfx/icon_nav_up.cpp
+++ b/engines/titanic/gfx/icon_nav_up.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CIconNavUp, CToggleSwitch)
+
CIconNavUp::CIconNavUp() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/icon_nav_up.h b/engines/titanic/gfx/icon_nav_up.h
index 7eeeb773b1..691e6652e7 100644
--- a/engines/titanic/gfx/icon_nav_up.h
+++ b/engines/titanic/gfx/icon_nav_up.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CIconNavUp : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CIconNavUp();
diff --git a/engines/titanic/gfx/keybrd_butt.cpp b/engines/titanic/gfx/keybrd_butt.cpp
index 3e7f5c19de..4a18d99f0a 100644
--- a/engines/titanic/gfx/keybrd_butt.cpp
+++ b/engines/titanic/gfx/keybrd_butt.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CKeybrdButt, CToggleSwitch)
+
CKeybrdButt::CKeybrdButt() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/keybrd_butt.h b/engines/titanic/gfx/keybrd_butt.h
index a4f233b209..33ff418c56 100644
--- a/engines/titanic/gfx/keybrd_butt.h
+++ b/engines/titanic/gfx/keybrd_butt.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CKeybrdButt : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CKeybrdButt();
diff --git a/engines/titanic/gfx/music_slider.cpp b/engines/titanic/gfx/music_slider.cpp
new file mode 100644
index 0000000000..f065ae6729
--- /dev/null
+++ b/engines/titanic/gfx/music_slider.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_slider.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CMusicSlider, CMusicControl)
+
+void CMusicSlider::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CMusicControl::save(file, indent);
+}
+
+void CMusicSlider::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicControl::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_slider.h b/engines/titanic/gfx/music_slider.h
index 3fd0ab341e..b396074b00 100644
--- a/engines/titanic/gfx/music_slider.h
+++ b/engines/titanic/gfx/music_slider.h
@@ -28,24 +28,19 @@
namespace Titanic {
class CMusicSlider : public CMusicControl {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
/**
* Save the data for the class to file
*/
- virtual void save(SimpleFile *file, int indent) const {
- file->writeNumberLine(1, indent);
- CMusicControl::save(file, indent);
- }
+ virtual void save(SimpleFile *file, int indent) const;
/**
* Load the data for the class from file
*/
- virtual void load(SimpleFile *file) {
- file->readNumber();
- CMusicControl::load(file);
- }
+ virtual void load(SimpleFile *file);
};
} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_switch.cpp b/engines/titanic/gfx/music_switch.cpp
new file mode 100644
index 0000000000..69e8f2eb4c
--- /dev/null
+++ b/engines/titanic/gfx/music_switch.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_switch.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CMusicSwitch, CMusicControl)
+
+void CMusicSwitch::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CMusicControl::save(file, indent);
+}
+
+void CMusicSwitch::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicControl::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_switch.h b/engines/titanic/gfx/music_switch.h
index 534eb251de..bd9397e041 100644
--- a/engines/titanic/gfx/music_switch.h
+++ b/engines/titanic/gfx/music_switch.h
@@ -28,24 +28,19 @@
namespace Titanic {
class CMusicSwitch : public CMusicControl {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
/**
* Save the data for the class to file
*/
- virtual void save(SimpleFile *file, int indent) const {
- file->writeNumberLine(1, indent);
- CMusicControl::save(file, indent);
- }
+ virtual void save(SimpleFile *file, int indent) const;
/**
* Load the data for the class from file
*/
- virtual void load(SimpleFile *file) {
- file->readNumber();
- CMusicControl::load(file);
- }
+ virtual void load(SimpleFile *file);
};
} // End of namespace Titanic
diff --git a/engines/titanic/gfx/send_to_succ.cpp b/engines/titanic/gfx/send_to_succ.cpp
index 82c923c045..938fa7c3a9 100644
--- a/engines/titanic/gfx/send_to_succ.cpp
+++ b/engines/titanic/gfx/send_to_succ.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CSendToSucc, CToggleSwitch)
+
CSendToSucc::CSendToSucc() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/send_to_succ.h b/engines/titanic/gfx/send_to_succ.h
index fb237f206d..65868cd83d 100644
--- a/engines/titanic/gfx/send_to_succ.h
+++ b/engines/titanic/gfx/send_to_succ.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CSendToSucc : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CSendToSucc();
diff --git a/engines/titanic/gfx/sgt_selector.cpp b/engines/titanic/gfx/sgt_selector.cpp
index 7ad126b60a..170b0f4712 100644
--- a/engines/titanic/gfx/sgt_selector.cpp
+++ b/engines/titanic/gfx/sgt_selector.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CSGTSelector, CPetGraphic)
+
void CSGTSelector::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CPetGraphic::save(file, indent);
diff --git a/engines/titanic/gfx/sgt_selector.h b/engines/titanic/gfx/sgt_selector.h
index 8ebd7ae255..82757fa3b9 100644
--- a/engines/titanic/gfx/sgt_selector.h
+++ b/engines/titanic/gfx/sgt_selector.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CSGTSelector : public CPetGraphic {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/gfx/small_chev_left_off.cpp b/engines/titanic/gfx/small_chev_left_off.cpp
index 8614e336e1..8647ad8fe4 100644
--- a/engines/titanic/gfx/small_chev_left_off.cpp
+++ b/engines/titanic/gfx/small_chev_left_off.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CSmallChevLeftOff, CToggleSwitch)
+
CSmallChevLeftOff::CSmallChevLeftOff() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/small_chev_left_off.h b/engines/titanic/gfx/small_chev_left_off.h
index fc500cee69..27c40017ad 100644
--- a/engines/titanic/gfx/small_chev_left_off.h
+++ b/engines/titanic/gfx/small_chev_left_off.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CSmallChevLeftOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CSmallChevLeftOff();
diff --git a/engines/titanic/gfx/small_chev_left_on.cpp b/engines/titanic/gfx/small_chev_left_on.cpp
index 7f6a4ee3db..b5031e922e 100644
--- a/engines/titanic/gfx/small_chev_left_on.cpp
+++ b/engines/titanic/gfx/small_chev_left_on.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CSmallChevLeftOn, CToggleSwitch)
+
CSmallChevLeftOn::CSmallChevLeftOn() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/small_chev_left_on.h b/engines/titanic/gfx/small_chev_left_on.h
index 8ab9417468..7b60857e67 100644
--- a/engines/titanic/gfx/small_chev_left_on.h
+++ b/engines/titanic/gfx/small_chev_left_on.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CSmallChevLeftOn : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CSmallChevLeftOn();
diff --git a/engines/titanic/gfx/small_chev_right_off.cpp b/engines/titanic/gfx/small_chev_right_off.cpp
index 1a3051bb4d..6d0c08eb8e 100644
--- a/engines/titanic/gfx/small_chev_right_off.cpp
+++ b/engines/titanic/gfx/small_chev_right_off.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CSmallChevRightOff, CToggleSwitch)
+
CSmallChevRightOff::CSmallChevRightOff() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/small_chev_right_off.h b/engines/titanic/gfx/small_chev_right_off.h
index fae9c3c674..0dadae1e07 100644
--- a/engines/titanic/gfx/small_chev_right_off.h
+++ b/engines/titanic/gfx/small_chev_right_off.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CSmallChevRightOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CSmallChevRightOff();
diff --git a/engines/titanic/gfx/small_chev_right_on.cpp b/engines/titanic/gfx/small_chev_right_on.cpp
index 714b6b314b..552990d0b8 100644
--- a/engines/titanic/gfx/small_chev_right_on.cpp
+++ b/engines/titanic/gfx/small_chev_right_on.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CSmallChevRightOn, CToggleSwitch)
+
CSmallChevRightOn::CSmallChevRightOn() : CToggleSwitch() {
}
diff --git a/engines/titanic/gfx/small_chev_right_on.h b/engines/titanic/gfx/small_chev_right_on.h
index c5cb4d792d..ea042d30ee 100644
--- a/engines/titanic/gfx/small_chev_right_on.h
+++ b/engines/titanic/gfx/small_chev_right_on.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CSmallChevRightOn : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
CSmallChevRightOn();
diff --git a/engines/titanic/gfx/text_down.cpp b/engines/titanic/gfx/text_down.cpp
index d4bdfdb72f..967d60f495 100644
--- a/engines/titanic/gfx/text_down.cpp
+++ b/engines/titanic/gfx/text_down.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CTextDown, CPetGraphic)
+
void CTextDown::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CPetGraphic::save(file, indent);
diff --git a/engines/titanic/gfx/text_down.h b/engines/titanic/gfx/text_down.h
index 189f795650..920ea8c958 100644
--- a/engines/titanic/gfx/text_down.h
+++ b/engines/titanic/gfx/text_down.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CTextDown : public CPetGraphic {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/gfx/text_skrew.cpp b/engines/titanic/gfx/text_skrew.cpp
index 8d1f026913..30cc7f407b 100644
--- a/engines/titanic/gfx/text_skrew.cpp
+++ b/engines/titanic/gfx/text_skrew.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CTextSkrew, CPetGraphic)
+
void CTextSkrew::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CPetGraphic::save(file, indent);
diff --git a/engines/titanic/gfx/text_skrew.h b/engines/titanic/gfx/text_skrew.h
index aa6c375098..6e86e70825 100644
--- a/engines/titanic/gfx/text_skrew.h
+++ b/engines/titanic/gfx/text_skrew.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CTextSkrew : public CPetGraphic {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/gfx/text_up.cpp b/engines/titanic/gfx/text_up.cpp
index ce3ff100dc..0cb4153f25 100644
--- a/engines/titanic/gfx/text_up.cpp
+++ b/engines/titanic/gfx/text_up.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CTextUp, CPetGraphic)
+
void CTextUp::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CPetGraphic::save(file, indent);
diff --git a/engines/titanic/gfx/text_up.h b/engines/titanic/gfx/text_up.h
index 103f62159c..05a54bc45a 100644
--- a/engines/titanic/gfx/text_up.h
+++ b/engines/titanic/gfx/text_up.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CTextUp : public CPetGraphic {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/gfx/toggle_button.cpp b/engines/titanic/gfx/toggle_button.cpp
index 8284d35aac..3bb2e967e9 100644
--- a/engines/titanic/gfx/toggle_button.cpp
+++ b/engines/titanic/gfx/toggle_button.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CToggleButton, CBackground)
+
void CToggleButton::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
file->writeNumberLine(_fieldE0, indent);
diff --git a/engines/titanic/gfx/toggle_button.h b/engines/titanic/gfx/toggle_button.h
index a98a94df9e..ac0bb69b9d 100644
--- a/engines/titanic/gfx/toggle_button.h
+++ b/engines/titanic/gfx/toggle_button.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CToggleButton : public CBackground {
+ DECLARE_MESSAGE_MAP
private:
int _fieldE0;
public:
diff --git a/engines/titanic/module.mk b/engines/titanic/module.mk
index 28be2495c3..3985ebfa81 100644
--- a/engines/titanic/module.mk
+++ b/engines/titanic/module.mk
@@ -298,6 +298,8 @@ MODULE_OBJS := \
gfx/keybrd_butt.o \
gfx/move_object_button.o \
gfx/music_control.o \
+ gfx/music_slider.o \
+ gfx/music_switch.o \
gfx/send_to_succ.o \
gfx/sgt_selector.o \
gfx/slider_button.o \
diff --git a/engines/titanic/npcs/mobile.cpp b/engines/titanic/npcs/mobile.cpp
index 37c1d13fee..55b37f52f1 100644
--- a/engines/titanic/npcs/mobile.cpp
+++ b/engines/titanic/npcs/mobile.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CMobile, CCharacter)
+
CMobile::CMobile() : CCharacter(), _fieldDC(0) {
}
diff --git a/engines/titanic/npcs/mobile.h b/engines/titanic/npcs/mobile.h
index 4979d54fc3..3ec19a4371 100644
--- a/engines/titanic/npcs/mobile.h
+++ b/engines/titanic/npcs/mobile.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CMobile : public CCharacter {
+ DECLARE_MESSAGE_MAP
private:
Point _pos1;
int _fieldDC;
diff --git a/engines/titanic/npcs/true_talk_npc.cpp b/engines/titanic/npcs/true_talk_npc.cpp
index c989aa3bd7..0eaf21359e 100644
--- a/engines/titanic/npcs/true_talk_npc.cpp
+++ b/engines/titanic/npcs/true_talk_npc.cpp
@@ -22,6 +22,7 @@
#include "titanic/npcs/true_talk_npc.h"
#include "titanic/core/view_item.h"
+#include "titanic/pet_control/pet_control.h"
#include "titanic/titanic.h"
namespace Titanic {
@@ -221,5 +222,16 @@ void CTrueTalkNPC::startTalker(CViewItem *view) {
gameManager->getTalkManager()->start4(this, view);
}
+void CTrueTalkNPC::performAction(bool startTalking, CViewItem *view) {
+ CPetControl *pet = getPetControl();
+ if (pet)
+ pet->resetActiveNPC();
+
+ if (startTalking)
+ startTalker(view);
+
+ if (pet)
+ pet->convResetNPC();
+}
} // End of namespace Titanic
diff --git a/engines/titanic/npcs/true_talk_npc.h b/engines/titanic/npcs/true_talk_npc.h
index 23613041d0..3126d92d3e 100644
--- a/engines/titanic/npcs/true_talk_npc.h
+++ b/engines/titanic/npcs/true_talk_npc.h
@@ -72,6 +72,11 @@ protected:
* Stop an animation timer
*/
void stopAnimTimer(int id);
+
+ /**
+ * Perform an action
+ */
+ void performAction(bool startTalking, CViewItem *view);
public:
CLASSDEF
CTrueTalkNPC();
diff --git a/engines/titanic/pet_control/pet_graphic.cpp b/engines/titanic/pet_control/pet_graphic.cpp
index 797c560ab0..25a77397c3 100644
--- a/engines/titanic/pet_control/pet_graphic.cpp
+++ b/engines/titanic/pet_control/pet_graphic.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CPetGraphic, CGameObject)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CPetGraphic, CGameObject)
void CPetGraphic::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
diff --git a/engines/titanic/pet_control/pet_graphic2.cpp b/engines/titanic/pet_control/pet_graphic2.cpp
index ef898194e8..a33a1c7d93 100644
--- a/engines/titanic/pet_control/pet_graphic2.cpp
+++ b/engines/titanic/pet_control/pet_graphic2.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CPetGraphic2, CGameObject)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CPetGraphic2, CGameObject)
void CPetGraphic2::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
diff --git a/engines/titanic/pet_control/pet_leaf.cpp b/engines/titanic/pet_control/pet_leaf.cpp
index 77b0d426a5..833f4ed8b9 100644
--- a/engines/titanic/pet_control/pet_leaf.cpp
+++ b/engines/titanic/pet_control/pet_leaf.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(PETLeaf, CGameObject)
+
void PETLeaf::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CGameObject::save(file, indent);
diff --git a/engines/titanic/pet_control/pet_leaf.h b/engines/titanic/pet_control/pet_leaf.h
index 073374970c..b9c516f6cb 100644
--- a/engines/titanic/pet_control/pet_leaf.h
+++ b/engines/titanic/pet_control/pet_leaf.h
@@ -28,6 +28,7 @@
namespace Titanic {
class PETLeaf : public CGameObject {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/pet_control/pet_mode_off.cpp b/engines/titanic/pet_control/pet_mode_off.cpp
index 3d3eb376c8..a1c9f3dd34 100644
--- a/engines/titanic/pet_control/pet_mode_off.cpp
+++ b/engines/titanic/pet_control/pet_mode_off.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CPetModeOff, CToggleSwitch)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CPetModeOff, CToggleSwitch)
CPetModeOff::CPetModeOff() : CToggleSwitch() {
}
diff --git a/engines/titanic/pet_control/pet_mode_on.cpp b/engines/titanic/pet_control/pet_mode_on.cpp
index bde318bfcf..1a7c2c26e7 100644
--- a/engines/titanic/pet_control/pet_mode_on.cpp
+++ b/engines/titanic/pet_control/pet_mode_on.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CPetModeOn, CToggleSwitch)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CPetModeOn, CToggleSwitch)
CPetModeOn::CPetModeOn() : CToggleSwitch() {
}
diff --git a/engines/titanic/pet_control/pet_mode_panel.cpp b/engines/titanic/pet_control/pet_mode_panel.cpp
index 1890f9a30a..87351bed24 100644
--- a/engines/titanic/pet_control/pet_mode_panel.cpp
+++ b/engines/titanic/pet_control/pet_mode_panel.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CPetModePanel, CToggleSwitch)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CPetModePanel, CToggleSwitch)
CPetModePanel::CPetModePanel() : CToggleSwitch() {
}
diff --git a/engines/titanic/pet_control/pet_pannel1.cpp b/engines/titanic/pet_control/pet_pannel1.cpp
index 01e2b930dd..527841f883 100644
--- a/engines/titanic/pet_control/pet_pannel1.cpp
+++ b/engines/titanic/pet_control/pet_pannel1.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CPetPannel1, CPetGraphic)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CPetPannel1, CPetGraphic)
void CPetPannel1::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
diff --git a/engines/titanic/pet_control/pet_pannel2.cpp b/engines/titanic/pet_control/pet_pannel2.cpp
index e55468d492..48675a7384 100644
--- a/engines/titanic/pet_control/pet_pannel2.cpp
+++ b/engines/titanic/pet_control/pet_pannel2.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CPetPannel2, CPetGraphic)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CPetPannel2, CPetGraphic)
void CPetPannel2::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
diff --git a/engines/titanic/pet_control/pet_pannel3.cpp b/engines/titanic/pet_control/pet_pannel3.cpp
index ea623a33a8..a0b693872a 100644
--- a/engines/titanic/pet_control/pet_pannel3.cpp
+++ b/engines/titanic/pet_control/pet_pannel3.cpp
@@ -24,8 +24,7 @@
namespace Titanic {
-BEGIN_MESSAGE_MAP(CPetPannel3, CPetGraphic)
-END_MESSAGE_MAP()
+EMPTY_MESSAGE_MAP(CPetPannel3, CPetGraphic)
void CPetPannel3::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
diff --git a/engines/titanic/sound/dome_from_top_of_well.cpp b/engines/titanic/sound/dome_from_top_of_well.cpp
index 6e31937af0..f8d946a1e3 100644
--- a/engines/titanic/sound/dome_from_top_of_well.cpp
+++ b/engines/titanic/sound/dome_from_top_of_well.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CDomeFromTopOfWell, CViewAutoSoundPlayer)
+
void CDomeFromTopOfWell::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
CViewAutoSoundPlayer::save(file, indent);
diff --git a/engines/titanic/sound/dome_from_top_of_well.h b/engines/titanic/sound/dome_from_top_of_well.h
index bb8ab6372a..24c165028a 100644
--- a/engines/titanic/sound/dome_from_top_of_well.h
+++ b/engines/titanic/sound/dome_from_top_of_well.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CDomeFromTopOfWell : public CViewAutoSoundPlayer {
+ DECLARE_MESSAGE_MAP
public:
CLASSDEF
diff --git a/engines/titanic/sound/water_lapping_sounds.cpp b/engines/titanic/sound/water_lapping_sounds.cpp
index b3f5d23a2c..f5a69e6eed 100644
--- a/engines/titanic/sound/water_lapping_sounds.cpp
+++ b/engines/titanic/sound/water_lapping_sounds.cpp
@@ -24,6 +24,8 @@
namespace Titanic {
+EMPTY_MESSAGE_MAP(CWaterLappingSounds, CRoomAutoSoundPlayer)
+
void CWaterLappingSounds::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
file->writeQuotedLine(_string1, indent);
diff --git a/engines/titanic/sound/water_lapping_sounds.h b/engines/titanic/sound/water_lapping_sounds.h
index 0d885bedd4..cf6c72146b 100644
--- a/engines/titanic/sound/water_lapping_sounds.h
+++ b/engines/titanic/sound/water_lapping_sounds.h
@@ -28,6 +28,7 @@
namespace Titanic {
class CWaterLappingSounds : public CRoomAutoSoundPlayer {
+ DECLARE_MESSAGE_MAP
public:
int _value;
public: