22#ifndef ACCESS_ACCESS_H
23#define ACCESS_ACCESS_H
25#include "common/scummsys.h"
26#include "common/system.h"
27#include "common/error.h"
28#include "common/random.h"
29#include "common/savefile.h"
30#include "common/serializer.h"
31#include "common/util.h"
33#include "engines/engine.h"
35#include "graphics/surface.h"
37#include "access/animation.h"
38#include "access/bubble_box.h"
39#include "access/char.h"
40#include "access/data.h"
41#include "access/events.h"
42#include "access/files.h"
43#include "access/font.h"
44#include "access/inventory.h"
45#include "access/player.h"
46#include "access/resources.h"
47#include "access/room.h"
48#include "access/screen.h"
49#include "access/scripts.h"
50#include "access/sound.h"
51#include "access/video.h"
52#include "access/detection.h"
64enum AccessDebugChannels {
103 kMartianCmdGetTake = 3,
115 kAmazonCmdGetTake = 3,
119 kAmazonCmdWalkToCursor = 7,
125 ACCESSActions _action;
129#define ACCESS_SAVEGAME_VERSION 1
135 int _year, _month, _day;
143 uint32 _lastTime, _curTime;
168 void addHotspotHighlights();
242 bool _establishTable[128];
246 int _establishCtrlTblOfs;
256 uint8 _playerDataCount;
259 bool _currentCharFlag;
263 int _scaleH1, _scaleH2;
268 int _scrollX, _scrollY;
269 int _scrollCol, _scrollRow;
291 int _startTravelItem;
303 bool _clearSummaryFlag;
309 uint16 _stilScaleOff;
321 virtual void dead(
int deathId) = 0;
323 uint32 getFeatures()
const;
328 uint16 getVersion()
const;
329 AccessGameType getGameID()
const;
330 bool gameIs(AccessGameType game)
const;
331 uint32 getGameFeatures()
const;
332 bool shouldQuitOrRestart();
334 int getRandomNumber(
int maxNumber);
345 virtual void establish(
int esatabIndex,
int sub) = 0;
349 void clearPlotImagesIn(int16 x, int16 y, int16 w, int16 h);
350 void clearPlotVidsIn(int16 x, int16 y, int16 w, int16 h);
362 virtual int16 getScreenWidth()
const {
return 320; }
363 virtual int16 getScreenHeight()
const {
return 200; }
Definition: asurface.h:129
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
virtual void drawOverlays()
virtual void playGame()=0
static bool readSavegameHeader(Common::InSaveFile *in, AccessSavegameHeader &header, bool skipThumbnail=true)
Common::Error loadGameStream(Common::SeekableReadStream *stream) override
virtual void setupGame()=0
void playVideo(int videoNum, const Common::Point &pt)
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Common::Error run() override
bool hasFeature(EngineFeature f) const override
virtual void initObjects()=0
void syncSoundSettings() override
void printText(BaseSurface *s, const Common::String &msg)
Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave=false) override
virtual Common::Path getIconPath() const
Definition: access.h:212
Common::Error loadGameState(int slot) override
virtual Common::Error synchronize(Common::Serializer &s)
Definition: animation.h:38
Definition: asurface.h:42
Definition: bubble_box.h:51
Definition: asurface.h:183
Definition: inventory.h:53
Definition: resources.h:41
Definition: asurface.h:146
Definition: serializer.h:80
EngineFeature
Definition: engine.h:293
uint32 CustomEventType
Definition: events.h:212
Language
Definition: language.h:45
bool skipThumbnail(Common::SeekableReadStream &in)
Definition: detection.h:37