aboutsummaryrefslogtreecommitdiff
path: root/engines/access/scripts.h
diff options
context:
space:
mode:
authorStrangerke2015-01-05 18:15:12 +0100
committerStrangerke2015-01-05 18:15:12 +0100
commit76f681efdfc0c9389ba09d63652847e156a65364 (patch)
tree7ba63828ee9264931f02abec99c13d156b79acaf /engines/access/scripts.h
parentfa07048bc4be0339b45d650873643f941aee96b2 (diff)
downloadscummvm-rg350-76f681efdfc0c9389ba09d63652847e156a65364.tar.gz
scummvm-rg350-76f681efdfc0c9389ba09d63652847e156a65364.tar.bz2
scummvm-rg350-76f681efdfc0c9389ba09d63652847e156a65364.zip
ACCESS: Make opcodes dependant to game versions
Diffstat (limited to 'engines/access/scripts.h')
-rw-r--r--engines/access/scripts.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/access/scripts.h b/engines/access/scripts.h
index cfadf6d901..f61d35f81d 100644
--- a/engines/access/scripts.h
+++ b/engines/access/scripts.h
@@ -35,6 +35,8 @@ class Scripts;
#define SCRIPT_START_BYTE 0xE0
#define ROOM_SCRIPT 2000
+typedef void(Scripts::*ScriptMethodPtr)();
+
class Scripts : public Manager {
private:
Resource *_resource;
@@ -43,6 +45,7 @@ private:
void charLoop();
protected:
Common::SeekableReadStream *_data;
+ ScriptMethodPtr COMMAND_LIST[100];
virtual void executeSpecial(int commandIndex, int param1, int param2) = 0;
virtual void executeCommand(int commandIndex);
@@ -143,6 +146,9 @@ public:
virtual ~Scripts();
+ void setOpcodes();
+ void setOpcodes_v2();
+
void setScript(Resource *data, bool restartFlag = false);
void freeScriptData();