aboutsummaryrefslogtreecommitdiff
path: root/scumm/intern.h
diff options
context:
space:
mode:
authorEugene Sandulenko2004-03-01 05:57:30 +0000
committerEugene Sandulenko2004-03-01 05:57:30 +0000
commit9e894f6bf39aaa9780fd3f27d68e0ce1b5886df8 (patch)
treecb970a72bd07ffcb68daf587e45c49781ae93ce5 /scumm/intern.h
parentb77231a9a365cdcbb268101141b99200e11173b7 (diff)
downloadscummvm-rg350-9e894f6bf39aaa9780fd3f27d68e0ce1b5886df8.tar.gz
scummvm-rg350-9e894f6bf39aaa9780fd3f27d68e0ce1b5886df8.tar.bz2
scummvm-rg350-9e894f6bf39aaa9780fd3f27d68e0ce1b5886df8.zip
Started work on Freddi Fish. Since it is SPU version 7, added new class.
Implemented some SPUv7 specific opcodes svn-id: r13108
Diffstat (limited to 'scumm/intern.h')
-rw-r--r--scumm/intern.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index f35638ad7b..9f472177e9 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -597,6 +597,29 @@ protected:
void o6_readFilePos();
};
+class ScummEngine_v7he : public ScummEngine_v6he {
+protected:
+ typedef void (ScummEngine_v7he::*OpcodeProcV7he)();
+ struct OpcodeEntryV7he {
+ OpcodeProcV7he proc;
+ const char *desc;
+ };
+
+ const OpcodeEntryV7he *_opcodesV7he;
+
+public:
+ ScummEngine_v7he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs) : ScummEngine_v6he(detector, syst, gs) {}
+
+protected:
+ virtual void setupOpcodes();
+ virtual void executeOpcode(byte i);
+ virtual const char *getOpcodeDesc(byte i);
+
+ /* Version 7 script opcodes */
+ void o7_objectX();
+ void o7_objectY();
+};
+
class ScummEngine_v7 : public ScummEngine_v6 {
public:
ScummEngine_v7(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs) : ScummEngine_v6(detector, syst, gs) {}