diff options
Diffstat (limited to 'engines/agos/agos.h')
-rw-r--r-- | engines/agos/agos.h | 66 |
1 files changed, 30 insertions, 36 deletions
diff --git a/engines/agos/agos.h b/engines/agos/agos.h index 87a1228c6a..b6b5e427e1 100644 --- a/engines/agos/agos.h +++ b/engines/agos/agos.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -25,7 +25,6 @@ #include "engines/engine.h" -#include "common/archive.h" #include "common/array.h" #include "common/error.h" #include "common/keyboard.h" @@ -62,6 +61,14 @@ struct Surface; namespace AGOS { +enum { + kDebugOpcode = 1 << 0, + kDebugVGAOpcode = 1 << 1, + kDebugSubroutine = 1 << 2, + kDebugVGAScript = 1 << 3, + kDebugImageDump = 1 << 4 +}; + uint fileReadItemID(Common::SeekableReadStream *in); #define CHECK_BOUNDS(x, y) assert((uint)(x) < ARRAYSIZE(y)) @@ -187,27 +194,6 @@ class Debugger; # define _OPCODE(ver, x) { &ver::x, "" } #endif -class ArchiveMan : public Common::SearchSet { -public: - ArchiveMan(); - - void enableFallback(bool val) { _fallBack = val; } - -#ifdef ENABLE_AGOS2 - void registerArchive(const Common::String &filename, int priority); -#endif - - virtual bool hasFile(const Common::String &name) const; - virtual int listMatchingMembers(Common::ArchiveMemberList &list, const Common::String &pattern) const; - virtual int listMembers(Common::ArchiveMemberList &list) const; - - virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const; - virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &filename) const; - -private: - bool _fallBack; -}; - class AGOSEngine : public Engine { protected: friend class Debugger; @@ -346,15 +332,9 @@ protected: bool _fastMode; bool _backFlag; - uint16 _debugMode; Common::Language _language; bool _copyProtection; bool _pause; - bool _dumpScripts; - bool _dumpOpcodes; - bool _dumpVgaScripts; - bool _dumpVgaOpcodes; - bool _dumpImages; bool _speech; bool _subtitles; bool _vgaVar9; @@ -606,6 +586,7 @@ protected: byte _saveLoadType, _saveLoadSlot; char _saveLoadName[108]; + char _saveBuf[200]; Graphics::Surface *_backGroundBuf; Graphics::Surface *_backBuf; @@ -622,8 +603,6 @@ public: AGOSEngine(OSystem *system, const AGOSGameDescription *gd); virtual ~AGOSEngine(); - ArchiveMan _archives; - byte *_curSfxFile; uint32 _curSfxFileSize; uint16 _sampleEnd, _sampleWait; @@ -858,6 +837,9 @@ protected: void displayBoxStars(); void invertBox(HitArea * ha, byte a, byte b, byte c, byte d); + virtual void handleMouseWheelUp(); + virtual void handleMouseWheelDown(); + virtual void initMouse(); virtual void handleMouseMoved(); virtual void drawMousePointer(); @@ -1730,10 +1712,13 @@ protected: void setExitState(Item *i, uint16 n, uint16 d, uint16 s); void setSRExit(Item *i, int n, int d, uint16 s); - virtual void listSaveGames(char *dst); + virtual void handleMouseWheelUp(); + virtual void handleMouseWheelDown(); + + virtual void listSaveGames(); virtual bool confirmOverWrite(WindowBlock *window); virtual void userGame(bool load); - virtual int userGameGetKey(bool *b, char *buf, uint maxChar); + virtual int userGameGetKey(bool *b, uint maxChar); virtual Common::String genSaveName(int slot) const; }; @@ -1853,6 +1838,9 @@ protected: virtual void clearName(); + virtual void handleMouseWheelUp(); + virtual void handleMouseWheelDown(); + virtual void drawIcon(WindowBlock *window, uint icon, uint x, uint y); virtual void initMouse(); @@ -1865,9 +1853,9 @@ protected: virtual void playSpeech(uint16 speechId, uint16 vgaSpriteId); - virtual void listSaveGames(char *dst); + virtual void listSaveGames(); virtual void userGame(bool load); - virtual int userGameGetKey(bool *b, char *buf, uint maxChar); + virtual int userGameGetKey(bool *b, uint maxChar); virtual void playMusic(uint16 music, uint16 track); @@ -1951,6 +1939,7 @@ public: void off_listSaveGames(); void off_checkCD(); void off_screenTextBox(); + void off_b2Set(); void off_isAdjNoun(); void off_hyperLinkOn(); void off_hyperLinkOff(); @@ -1993,12 +1982,17 @@ protected: virtual uint16 readUint16Wrapper(const void *src); virtual uint32 readUint32Wrapper(const void *src); + void setLoyaltyRating(byte rating); + void playVideo(const char *filename, bool lastSceneUsed = false); void stopInteractiveVideo(); virtual void drawImage(VC10_state *state); void scaleClip(int16 h, int16 w, int16 y, int16 x, int16 scrollY); + virtual void handleMouseWheelUp(); + virtual void handleMouseWheelDown(); + void drawMousePart(int image, byte x, byte y); virtual void initMouse(); virtual void drawMousePointer(); |