diff options
author | Travis Howell | 2007-12-27 11:40:29 +0000 |
---|---|---|
committer | Travis Howell | 2007-12-27 11:40:29 +0000 |
commit | 410a4a974ef78324ba6d8bd5535b2b46b231b0f7 (patch) | |
tree | 0d51afe35658e4b7d880d8a495a2760b958b43ff /engines/scumm/he/intern_he.h | |
parent | 1bafd03a698130c21c222edb0bc011fc39a6e003 (diff) | |
download | scummvm-rg350-410a4a974ef78324ba6d8bd5535b2b46b231b0f7.tar.gz scummvm-rg350-410a4a974ef78324ba6d8bd5535b2b46b231b0f7.tar.bz2 scummvm-rg350-410a4a974ef78324ba6d8bd5535b2b46b231b0f7.zip |
Enable Windows version of early HE games by default, to match already enabled 3DO/DOS/Macintosh versions of early HE games. Adding only the minimum code required for HE70 games.
svn-id: r30011
Diffstat (limited to 'engines/scumm/he/intern_he.h')
-rw-r--r-- | engines/scumm/he/intern_he.h | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/engines/scumm/he/intern_he.h b/engines/scumm/he/intern_he.h index 5f474b6c68..5e79b04357 100644 --- a/engines/scumm/he/intern_he.h +++ b/engines/scumm/he/intern_he.h @@ -39,8 +39,8 @@ class WriteStream; namespace Scumm { -#ifndef DISABLE_HE class ResExtractor; +#ifndef DISABLE_HE class LogicHE; class MoviePlayer; class Sprite; @@ -109,7 +109,6 @@ protected: void o60_readFilePos(); }; -#ifndef DISABLE_HE class ScummEngine_v70he : public ScummEngine_v60he { friend class ResExtractor; friend class Wiz; @@ -138,8 +137,6 @@ public: ScummEngine_v70he(OSystem *syst, const DetectorResult &dr); ~ScummEngine_v70he(); - Wiz *_wiz; - byte *heFindResourceData(uint32 tag, byte *ptr); byte *heFindResource(uint32 tag, byte *ptr); byte *findWrappedBlock(uint32 tag, byte *ptr, int state, bool flagError); @@ -177,17 +174,12 @@ protected: virtual void setCursorFromImg(uint img, uint room, uint imgindex); virtual void setDefaultCursor(); - virtual void clearDrawQueues(); - - void remapHEPalette(const uint8 *src, uint8 *dst); - /* HE version 70 script opcodes */ void o70_startSound(); void o70_pickupObject(); void o70_getActorRoom(); void o70_resourceRoutines(); void o70_systemOps(); - void o70_kernelSetFunctions(); void o70_copyString(); void o70_getStringWidth(); void o70_getStringLen(); @@ -202,18 +194,33 @@ protected: void o70_createDirectory(); void o70_findBox(); void o70_setSystemMessage(); - void o70_polygonOps(); - void o70_polygonHit(); byte VAR_NUM_SOUND_CHANNELS; byte VAR_WIZ_TCOLOR; }; +#ifndef DISABLE_HE class ScummEngine_v71he : public ScummEngine_v70he { +protected: + typedef void (ScummEngine_v71he::*OpcodeProcv71he)(); + struct OpcodeEntryv71he { + OpcodeProcv71he proc; + const char *desc; + }; + + const OpcodeEntryv71he *_opcodesv71he; + public: ScummEngine_v71he(OSystem *syst, const DetectorResult &dr); + ~ScummEngine_v71he(); + + Wiz *_wiz; protected: + virtual void setupOpcodes(); + virtual void executeOpcode(byte i); + virtual const char *getOpcodeDesc(byte i); + virtual void saveOrLoad(Serializer *s); virtual void redrawBGAreas(); @@ -222,6 +229,13 @@ protected: void preProcessAuxQueue(); void postProcessAuxQueue(); + virtual void clearDrawQueues(); + + /* HE version 70 script opcodes */ + void o71_kernelSetFunctions(); + void o71_polygonOps(); + void o71_polygonHit(); + public: /* Actor AuxQueue stuff (HE) */ AuxBlock _auxBlocks[16]; @@ -231,6 +245,8 @@ public: void queueAuxBlock(Actor *a); void queueAuxEntry(int actorNum, int subIndex); + + void remapHEPalette(const uint8 *src, uint8 *dst); }; class ScummEngine_v72he : public ScummEngine_v71he { |