aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/illusions.h
diff options
context:
space:
mode:
authorjohndoe1232014-03-30 09:31:53 +0200
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commitbabe997295dbadd95ab497bc6b88e7a0021567e5 (patch)
treee61eb739a3d3f92f8d7e731d3684757932f70652 /engines/illusions/illusions.h
parent3b3f84c764f8cab8f54b06bbafc607cfb6899fdd (diff)
downloadscummvm-rg350-babe997295dbadd95ab497bc6b88e7a0021567e5.tar.gz
scummvm-rg350-babe997295dbadd95ab497bc6b88e7a0021567e5.tar.bz2
scummvm-rg350-babe997295dbadd95ab497bc6b88e7a0021567e5.zip
ILLUSIONS: Add more script opcodes
- Add support for duplicate keys to the dictionary - Add trigger functions support - Improve inventory, now items can be clicked
Diffstat (limited to 'engines/illusions/illusions.h')
-rw-r--r--engines/illusions/illusions.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/illusions/illusions.h b/engines/illusions/illusions.h
index 58dc519285..cf3549e8bb 100644
--- a/engines/illusions/illusions.h
+++ b/engines/illusions/illusions.h
@@ -59,6 +59,7 @@ class Control;
class Controls;
class Cursor;
class Dictionary;
+class FramesList;
class Input;
class Screen;
class ScriptResource;
@@ -66,7 +67,10 @@ class ScriptMan;
class Sequence;
class SpecialCode;
class TalkItems;
-class FramesList;
+class TriggerFunctions;
+class TriggerFunction;
+
+typedef Common::Functor2<TriggerFunction*, uint32, void> TriggerFunctionCallback;
class IllusionsEngine : public Engine {
protected:
@@ -97,6 +101,7 @@ public:
Cursor *_cursor;
TalkItems *_talkItems;
SpecialCode *_specialCode;
+ TriggerFunctions *_triggerFunctions;
int _resGetCtr;
uint32 _resGetTime;
@@ -115,6 +120,7 @@ public:
// TODO Move to ScriptMan?
bool causeIsDeclared(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId);
+ void causeDeclare(uint32 verbId, uint32 objectId2, uint32 objectId, TriggerFunctionCallback *callback);
uint32 causeTrigger(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId, uint32 callingThreadId);
int convertPanXCoord(int16 x);