ScummVM API documentation
Adl::AdlEngine_v4 Class Reference
Inheritance diagram for Adl::AdlEngine_v4:
Adl::AdlEngine_v3 Adl::AdlEngine_v2 Adl::AdlEngine Engine Adl::AdlEngine_v5

Protected Types

enum  RegionChunkType {
  kRegionChunkUnknown, kRegionChunkMessages, kRegionChunkGlobalPics, kRegionChunkVerbs,
  kRegionChunkNouns, kRegionChunkRooms, kRegionChunkRoomCmds, kRegionChunkGlobalCmds
}
 
- Protected Types inherited from Adl::AdlEngine
typedef Common::SharedPtr< Common::Functor1< ScriptEnv &, int > > Opcode
 

Protected Member Functions

 AdlEngine_v4 (OSystem *syst, const AdlGameDescription *gd)
 
void setupOpcodeTables () override
 
void gameLoop () override
 
void loadState (Common::ReadStream &stream) override
 
void saveState (Common::WriteStream &stream) override
 
Common::String loadMessage (uint idx) const override
 
Common::String getItemDescription (const Item &item) const override
 
void switchRegion (byte region) override
 
void switchRoom (byte roomNr) override
 
void adjustDataBlockPtr (byte &track, byte &sector, byte &offset, byte &size) const override
 
void loadRegionLocations (Common::ReadStream &stream, uint regions)
 
void loadRegionInitDataOffsets (Common::ReadStream &stream, uint regions)
 
void initRegions (const byte *roomsPerRegion, uint regions)
 
void fixupDiskOffset (byte &track, byte &sector) const
 
virtual RegionChunkType getRegionChunkType (const uint16 addr) const
 
void loadRegion (byte region)
 
void loadItemPicIndex (Common::ReadStream &stream, uint items)
 
void backupRoomState (byte room)
 
virtual void initRoomState (RoomState &roomState) const
 
virtual byte restoreRoomState (byte room)
 
void backupVars ()
 
void restoreVars ()
 
int o_isItemInRoom (ScriptEnv &e) override
 
virtual int o_isVarGT (ScriptEnv &e)
 
int o_moveItem (ScriptEnv &e) override
 
virtual int o_setRegionToPrev (ScriptEnv &e)
 
int o_moveAllItems (ScriptEnv &e) override
 
virtual int o_setRegion (ScriptEnv &e)
 
int o_save (ScriptEnv &e) override
 
int o_restore (ScriptEnv &e) override
 
int o_restart (ScriptEnv &e) override
 
virtual int o_setRegionRoom (ScriptEnv &e)
 
int o_setRoomPic (ScriptEnv &e) override
 
- Protected Member Functions inherited from Adl::AdlEngine_v3
 AdlEngine_v3 (OSystem *syst, const AdlGameDescription *gd)
 
void loadItemDescriptions (Common::SeekableReadStream &stream, byte count)
 
int o_isNounNotInRoom (ScriptEnv &e) override
 
- Protected Member Functions inherited from Adl::AdlEngine_v2
 AdlEngine_v2 (OSystem *syst, const AdlGameDescription *gd)
 
void initState () override
 
byte roomArg (byte room) const override
 
void advanceClock () override
 
void printString (const Common::String &str) override
 
void drawItems () override
 
void drawItem (Item &item, const Common::Point &pos) override
 
void loadRoom (byte roomNr) override
 
void showRoom () override
 
void takeItem (byte noun) override
 
bool canSaveGameStateCurrently (Common::U32String *msg=nullptr) override
 
void mapExeStrings (const Common::StringArray &strings)
 
void insertDisk (byte volume)
 
virtual Common::DataBlockPtr readDataBlockPtr (Common::ReadStream &f) const
 
void loadItems (Common::ReadStream &stream)
 
void loadRooms (Common::ReadStream &stream, byte count)
 
void loadMessages (Common::ReadStream &stream, byte count)
 
void loadPictures (Common::ReadStream &stream)
 
void loadItemPictures (Common::ReadStream &stream, byte count)
 
virtual bool isInventoryFull ()
 
int askForSlot (const Common::String &question)
 
void checkTextOverflow (char c)
 
void handleTextOverflow ()
 
virtual int o_isFirstTime (ScriptEnv &e)
 
virtual int o_isRandomGT (ScriptEnv &e)
 
virtual int o_isCarryingSomething (ScriptEnv &e)
 
int o_setCurPic (ScriptEnv &e) override
 
int o_setPic (ScriptEnv &e) override
 
int o_placeItem (ScriptEnv &e) override
 
virtual int o_tellTime (ScriptEnv &e)
 
virtual int o_setRoomFromVar (ScriptEnv &e)
 
virtual int o_initDisk (ScriptEnv &e)
 
- Protected Member Functions inherited from Adl::AdlEngine
 AdlEngine (OSystem *syst, const AdlGameDescription *gd)
 
Common::Error loadGameState (int slot) override
 
Common::Error saveGameState (int slot, const Common::String &desc, bool isAutosave=false) override
 
Common::String getSaveStateName (int slot) const override
 
int getAutosaveSlot () const override
 
Common::Path getDiskImageName (byte volume) const
 
GameType getGameType () const
 
GameVersion getGameVersion () const
 
Common::Language getLanguage () const
 
Common::String readString (Common::ReadStream &stream, byte until=0, const char *key="") const
 
Common::String readStringAt (Common::SeekableReadStream &stream, uint offset, byte until=0) const
 
void extractExeStrings (Common::ReadStream &stream, uint16 printAddr, Common::StringArray &strings) const
 
virtual void printMessage (uint idx)
 
void delay (uint32 ms) const
 
virtual Common::String getLine ()
 
Common::String inputString (byte prompt=0) const
 
byte inputKey (bool showCursor=true) const
 
void waitKey (uint32 ms=0, Common::KeyCode keycode=Common::KEYCODE_INVALID) const
 
virtual void getInput (uint &verb, uint &noun)
 
Common::String getWord (const Common::String &line, uint &index) const
 
virtual Common::String formatVerbError (const Common::String &verb) const
 
virtual Common::String formatNounError (const Common::String &verb, const Common::String &noun) const
 
void loadWords (Common::ReadStream &stream, WordMap &map, Common::StringArray &pri, uint count=0) const
 
void readCommands (Common::ReadStream &stream, Commands &commands)
 
void removeCommand (Commands &commands, uint idx)
 
Command & getCommand (Commands &commands, uint idx)
 
void removeMessage (uint idx)
 
void checkInput (byte verb, byte noun)
 
virtual bool isInputValid (byte verb, byte noun, bool &is_any)
 
virtual bool isInputValid (const Commands &commands, byte verb, byte noun, bool &is_any)
 
virtual void applyRoomWorkarounds (byte roomNr)
 
virtual void applyRegionWorkarounds ()
 
void loadDroppedItemOffsets (Common::ReadStream &stream, byte count)
 
void stopTextToSpeech () const
 
template<class T >
Opcode opcode (int(T::*f)(ScriptEnv &))
 
virtual int o_isMovesGT (ScriptEnv &e)
 
virtual int o_isVarEQ (ScriptEnv &e)
 
virtual int o_isCurPicEQ (ScriptEnv &e)
 
virtual int o_isItemPicEQ (ScriptEnv &e)
 
virtual int o_varAdd (ScriptEnv &e)
 
virtual int o_varSub (ScriptEnv &e)
 
virtual int o_varSet (ScriptEnv &e)
 
virtual int o_listInv (ScriptEnv &e)
 
virtual int o_setRoom (ScriptEnv &e)
 
virtual int o_printMsg (ScriptEnv &e)
 
virtual int o_setLight (ScriptEnv &e)
 
virtual int o_setDark (ScriptEnv &e)
 
virtual int o_quit (ScriptEnv &e)
 
virtual int o_setItemPic (ScriptEnv &e)
 
virtual int o_resetPic (ScriptEnv &e)
 
virtual int o_takeItem (ScriptEnv &e)
 
virtual int o_dropItem (ScriptEnv &e)
 
virtual int goDirection (ScriptEnv &e, Direction D)
 
int o_goNorth (ScriptEnv &e)
 
int o_goSouth (ScriptEnv &e)
 
int o_goEast (ScriptEnv &e)
 
int o_goWest (ScriptEnv &e)
 
int o_goUp (ScriptEnv &e)
 
int o_goDown (ScriptEnv &e)
 
void drawPic (byte pic, Common::Point pos=Common::Point()) const
 
bool playTones (const Tones &tones, bool isMusic, bool allowSkip=false) const
 
const Region & getRegion (uint i) const
 
Region & getRegion (uint i)
 
const Room & getRoom (uint i) const
 
Room & getRoom (uint i)
 
const Region & getCurRegion () const
 
Region & getCurRegion ()
 
const Room & getCurRoom () const
 
Room & getCurRoom ()
 
const Item & getItem (uint i) const
 
Item & getItem (uint i)
 
byte getVar (uint i) const
 
void setVar (uint i, byte value)
 
virtual void dropItem (byte noun)
 
bool matchCommand (ScriptEnv &env) const
 
void doActions (ScriptEnv &env)
 
bool doOneCommand (const Commands &commands, byte verb, byte noun)
 
void doAllCommands (const Commands &commands, byte verb, byte noun)
 
virtual ScriptEnv * createScriptEnv (const Command &cmd, byte room, byte verb, byte noun)
 
Common::String itemStr (uint i) const
 
Common::String roomStr (uint i) const
 
Common::String itemRoomStr (uint i) const
 
Common::String verbStr (uint i) const
 
Common::String nounStr (uint i) const
 
Common::String msgStr (uint i) const
 
Common::String dirStr (Direction dir) const
 
bool op_debug (const char *fmt,...) const
 
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
 
void defaultSyncSoundSettings ()
 
virtual void pauseEngineIntern (bool pause)
 
virtual void getHotspotPositions (Common::Array< Graphics::HotspotInfo > &hotspots)
 
virtual void drawHotspots ()
 
virtual bool hotspotDirty () const
 

Protected Attributes

Common::Array< RegionLocation > _regionLocations
 
Common::Array< RegionInitDataOffset > _regionInitDataOffsets
 
Common::SeekableReadStream * _itemPicIndex
 
- Protected Attributes inherited from Adl::AdlEngine_v3
Common::Array< Common::String > _itemDesc
 
- Protected Attributes inherited from Adl::AdlEngine_v2
struct {
   Common::String   time
 
   Common::String   saveInsert
 
   Common::String   saveReplace
 
   Common::String   restoreInsert
 
   Common::String   restoreReplace
 
} _strings_v2
 
uint _maxLines
 
Common::DiskImage * _disk
 
byte _currentVolume
 
Common::Array< Common::DataBlockPtr > _itemPics
 
bool _itemRemoved
 
byte _roomOnScreen
 
byte _picOnScreen
 
byte _itemsOnScreen
 
Common::Array< byte > _brokenRooms
 
- Protected Attributes inherited from Adl::AdlEngine
Common::DumpFile * _dumpFile
 
Display * _display
 
GraphicsMan * _graphics
 
bool _textMode
 
Common::Array< Opcode > _condOpcodes
 
Common::Array< Opcode > _actOpcodes
 
Common::Array< Common::DataBlockPtr > _messages
 
PictureMap _pictures
 
Common::Array< Common::Point > _itemOffsets
 
Commands _roomCommands
 
Commands _globalCommands
 
RoomData _roomData
 
WordMap _verbs
 
WordMap _nouns
 
Common::StringArray _priVerbs
 
Common::StringArray _priNouns
 
struct {
   Common::String   enterCommand
 
   Common::String   verbError
 
   Common::String   nounError
 
   Common::String   playAgain
 
   Common::String   pressReturn
 
   Common::String   lineFeeds
 
} _strings
 
uint32 _verbErrorPos
 
uint32 _nounErrorPos
 
struct {
   uint   cantGoThere
 
   uint   dontUnderstand
 
   uint   itemDoesntMove
 
   uint   itemNotHere
 
   uint   thanksForPlaying
 
} _messageIds
 
State _state
 
uint _linesPrinted
 
bool _isRestarting
 
bool _isRestoring
 
bool _isQuitting
 
bool _canSaveNow
 
bool _canRestoreNow
 
bool _abortScript
 
Common::RandomSource * _random
 
const AdlGameDescription * _gameDescription
 
Common::File * _inputScript
 
uint _scriptDelay
 
bool _scriptPaused
 
- Protected Attributes inherited from Engine
Common::TimerManager * _timer
 
Common::EventManager * _eventMan
 
Common::SaveFileManager * _saveFileMan
 
GUI::Dialog * _mainMenuDialog
 
const Common::String _targetName
 
int32 _activeEnhancements = kEnhGameBreakingBugFixes
 
bool _showHotspots
 
bool _hotspotForceRedraw
 
bool _hotspotPrevCursorVisible
 

Additional Inherited Members

- Public Types inherited from Engine
enum  EngineFeature {
  kSupportsSubtitleOptions, kSupportsReturnToLauncher, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
  kSupportsChangingOptionsDuringRuntime, kSupportsArbitraryResolutions, kSupportsHelp, kSupportsQuitDialogOverride
}
 
- Public Member Functions inherited from Adl::AdlEngine
bool pollEvent (Common::Event &event) const
 
void bell (uint count=1) const
 
- Public Member Functions inherited from Engine
virtual void showHotspots (bool show)
 
MetaEngine * getMetaEngine () const
 
void setMetaEngine (MetaEngine *metaEngine)
 
PauseToken pauseEngine ()
 
bool isPaused () const
 
void openMainMenuDialog ()
 
uint32 getTotalPlayTime () const
 
void setTotalPlayTime (uint32 time=0)
 
Common::TimerManager * getTimerManager ()
 
Common::EventManager * getEventManager ()
 
Common::SaveFileManager * getSaveFileManager ()
 
bool existExtractedCDAudioFiles (uint track=1)
 
bool isDataAndCDAudioReadFromSameCD ()
 
void warnMissingExtractedCDAudio ()
 
void handleAutoSave ()
 
void saveAutosaveIfEnabled ()
 
virtual bool canSaveAutosaveCurrently ()
 
virtual bool gameTypeHasAddOns () const
 
virtual bool dirCanBeGameAddOn (const Common::FSDirectory &dir) const
 
virtual bool dirMustBeGameAddOn (const Common::FSDirectory &dir) const
 
Common::ErrorCode updateAddOns (const MetaEngine *metaEngine) const
 
 Engine (OSystem *syst)
 
virtual ~Engine ()
 
virtual void initializePath (const Common::FSNode &gamePath)
 
virtual void errorString (const char *buf_input, char *buf_output, int buf_output_size)
 
virtual GUI::Debugger * getDebugger () final
 
void setDebugger (GUI::Debugger *debugger)
 
GUI::Debugger * getOrCreateDebugger ()
 
bool enhancementEnabled (int32 cls) const
 
virtual void syncSoundSettings ()
 
virtual void applyGameSettings ()
 
virtual void flipMute ()
 
virtual Common::Error loadGameStream (Common::SeekableReadStream *stream)
 
void setGameToLoadSlot (int slot)
 
virtual Common::Error saveGameStream (Common::WriteStream *stream, bool isAutosave=false)
 
bool saveGameDialog ()
 
bool loadGameDialog ()
 
- Static Public Member Functions inherited from Engine
static void quitGame ()
 
static bool shouldQuit ()
 
static bool warnUserAboutUnsupportedGame (Common::String msg=Common::String())
 
static bool warnUserAboutUnsupportedAddOn (Common::String addOnName)
 
static void warnUserAboutTestingMode ()
 
static void errorAddingAddOnWithoutBaseGame (Common::String addOnName, Common::String gameId)
 
static void errorUnsupportedGame (Common::String extraMsg)
 
- Public Attributes inherited from Engine
OSystem * _system
 
Audio::Mixer * _mixer
 
- Static Protected Member Functions inherited from Adl::AdlEngine
static Common::String toAscii (const Common::String &str)
 

The documentation for this class was generated from the following file: