diff options
Diffstat (limited to 'engines/scumm/scumm.h')
-rw-r--r-- | engines/scumm/scumm.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index aef5cfbec7..0a513b6068 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -36,6 +36,7 @@ #include "common/rect.h" #include "common/str.h" #include "graphics/surface.h" +#include "graphics/sjis.h" #include "scumm/gfx.h" #include "scumm/detection.h" @@ -66,10 +67,14 @@ namespace Common { /** * This is the namespace of the SCUMM engine. * - * Status of this engine: ??? + * Status of this engine: + * Complete support for all SCUMM based LucasArts adventures. + * Complete support for many Humongous Entertainment games, + * but for some of the newer ones, this is still work in progress. * - * Supported games: - * - ??? + * Games using this engine: + * - Classic 2D LucasArts adventures + * - numerous Humongous Entertainment games */ namespace Scumm { @@ -248,6 +253,7 @@ enum ScummGameId { GID_FUNSHOP, // Used for all three funshops GID_FOOTBALL, GID_SOCCER, + GID_BASEBALL2001, GID_BASKETBALL, GID_MOONBASE, GID_HECUP // CUP demos @@ -587,6 +593,7 @@ protected: bool _v0ObjectIndex; // V0 Use object index, instead of object number bool _v0ObjectInInventory; // V0 Use object number from inventory + byte _v0ObjectFlag; /* Global resource tables */ int _numVariables, _numBitVariables, _numLocalObjects; @@ -654,7 +661,7 @@ protected: byte _saveLoadFlag, _saveLoadSlot; uint32 _lastSaveTime; bool _saveTemporaryState; - char _saveLoadFileName[32]; + Common::String _saveLoadFileName; char _saveLoadName[32]; bool saveState(Common::OutSaveFile *out, bool writeHeader = true); @@ -693,9 +700,6 @@ protected: void saveInfos(Common::WriteStream* file); static bool loadInfos(Common::SeekableReadStream *file, InfoStuff *stuff); - int32 _engineStartTime; - int32 _pauseStartTime; - protected: /* Script VM - should be in Script class */ uint32 _localScriptOffsets[1024]; @@ -748,9 +752,10 @@ protected: void stopObjectScript(int script); void getScriptBaseAddress(); - void getScriptEntryPoint(); + void resetScriptPointer(); int getVerbEntrypoint(int obj, int entry); + void refreshScriptPointer(); byte fetchScriptByte(); virtual uint fetchScriptWord(); virtual int fetchScriptWordSigned(); @@ -770,7 +775,7 @@ protected: void endOverride(); void copyScriptString(byte *dst); - int resStrLen(const byte *src) const; + int resStrLen(const byte *src); void doSentence(int c, int b, int a); /* Should be in Resource class */ @@ -1417,6 +1422,8 @@ public: bool towns_isRectInStringBox(int x1, int y1, int x2, int y2); byte _townsPaletteFlags; byte _townsCharsetColorMap[16]; + Graphics::FontSJIS *_cjkFont; + uint16 _cjkChar; protected: void towns_drawStripToScreen(VirtScreen *vs, int dstX, int dstY, int srcX, int srcY, int w, int h); |