aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/messages/messages.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-03-24 21:02:25 -0400
committerPaul Gilbert2016-03-24 21:02:25 -0400
commitc948e8812ebb619f22adb7794da6dcfb6d5d6b9e (patch)
tree8b87bcb0ceb513dcdd810dde682bf9c550e71251 /engines/titanic/messages/messages.cpp
parentfd78a874ccfdbc652241dc4402f6ca96ca188170 (diff)
downloadscummvm-rg350-c948e8812ebb619f22adb7794da6dcfb6d5d6b9e.tar.gz
scummvm-rg350-c948e8812ebb619f22adb7794da6dcfb6d5d6b9e.tar.bz2
scummvm-rg350-c948e8812ebb619f22adb7794da6dcfb6d5d6b9e.zip
TITANIC: Support methods needed by CTelevision
Diffstat (limited to 'engines/titanic/messages/messages.cpp')
-rw-r--r--engines/titanic/messages/messages.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/titanic/messages/messages.cpp b/engines/titanic/messages/messages.cpp
index 28b8856578..1c3d406b1b 100644
--- a/engines/titanic/messages/messages.cpp
+++ b/engines/titanic/messages/messages.cpp
@@ -24,6 +24,7 @@
#include "titanic/messages/mouse_messages.h"
#include "titanic/core/game_object.h"
#include "titanic/core/tree_item.h"
+#include "titanic/titanic.h"
namespace Titanic {
@@ -67,6 +68,17 @@ bool CMessage::execute(CTreeItem *target, const ClassDef *classDef, int flags) {
return result;
}
+bool CMessage::execute(const CString &target, const ClassDef *classDef, int flags) {
+ // Scan for the target by name
+ CProjectItem *project = g_vm->_window->_project;
+ for (CTreeItem *treeItem = project; treeItem; treeItem = treeItem->scan(project)) {
+ if (treeItem->getName().compareToIgnoreCase(target))
+ return execute(treeItem, classDef, flags);
+ }
+
+ return false;
+}
+
bool CMessage::isMouseMsg() const {
return dynamic_cast<const CMouseMsg *>(this) != nullptr;
}