aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/messages.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/messages.cpp')
-rw-r--r--engines/fullpipe/messages.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/engines/fullpipe/messages.cpp b/engines/fullpipe/messages.cpp
index 953b87c6af..22343af8f8 100644
--- a/engines/fullpipe/messages.cpp
+++ b/engines/fullpipe/messages.cpp
@@ -414,10 +414,20 @@ void MessageQueue::finish() {
warning("STUB: MessageQueue::finish()");
}
+void MessageQueue::replaceKeyCode(int key1, int key2) {
+ for (uint i = 0; i < getCount(); i++) {
+ ExCommand *ex = getExCommandByIndex(i);
+ int k = ex->_messageKind;
+ if ((k == 1 || k == 20 || k == 5 || k == 6 || k == 2 || k == 18 || k == 19 || k == 22 || k == 55)
+ && ex->_keyCode == key1)
+ ex->_keyCode = key2;
+ }
+}
+
MessageQueue *GlobalMessageQueueList::getMessageQueueById(int id) {
for (CPtrList::iterator s = begin(); s != end(); ++s) {
- if (((MessageQueue *)s)->_id == id)
- return (MessageQueue *)s;
+ if (((MessageQueue *)*s)->_id == id)
+ return (MessageQueue *)*s;
}
return 0;
@@ -446,8 +456,8 @@ void GlobalMessageQueueList::removeQueueById(int id) {
void GlobalMessageQueueList::disableQueueById(int id) {
for (CPtrList::iterator s = begin(); s != end(); ++s) {
- if (((MessageQueue *)s)->_parId == id)
- ((MessageQueue *)s)->_parId = 0;
+ if (((MessageQueue *)*s)->_parId == id)
+ ((MessageQueue *)*s)->_parId = 0;
}
}