ScummVM
Glk::AdvSys::AdvSys Class Reference

AdvSys game interpreter. More...

#include <advsys.h>

Inheritance diagram for Glk::AdvSys::AdvSys:
Collaboration diagram for Glk::AdvSys::AdvSys:

Public Member Functions

 AdvSys (OSystem *syst, const GlkGameDescription &gameDesc)
 Constructor. More...
 
virtual void runGame () override
 Run the game. More...
 
virtual InterpreterType getInterpreterType () const override
 Returns the running interpreter type. More...
 
virtual Common::Error readSaveData (Common::SeekableReadStream *rs) override
 Load a savegame from the passed Quetzal file chunk stream. More...
 
virtual Common::Error writeGameData (Common::WriteStream *ws) override
 Save the game. More...
 
- Public Member Functions inherited from Glk::AdvSys::VM
 VM (OSystem *syst, const GlkGameDescription &gameDesc)
 Constructor. More...
 
ExecutionResult execute (int offset)
 Exeecute a script. More...
 
bool getInput ()
 Get an input line and parse it. More...
 
bool nextCommand ()
 Get the next command (next direct object) More...
 
- Public Member Functions inherited from Glk::AdvSys::GlkInterface
 GlkInterface (OSystem *syst, const GlkGameDescription &gameDesc)
 Constructor. More...
 
- Public Member Functions inherited from Glk::GlkAPI
 GlkAPI (OSystem *syst, const GlkGameDescription &gameDesc)
 Constructor. More...
 
virtual ~GlkAPI ()
 
void glk_exit (void)
 
void glk_set_interrupt_handler (void(*func)(void))
 
void glk_tick (void)
 
uint glk_gestalt (uint id, uint val)
 
uint glk_gestalt_ext (uint id, uint val, uint *arr, uint arrlen)
 
unsigned char glk_char_to_lower (unsigned char ch)
 
unsigned char glk_char_to_upper (unsigned char ch)
 
winid_t glk_window_get_root (void) const
 Get the root window of the window hierarchy. More...
 
winid_t glk_window_open (winid_t split, uint method, uint size, uint wintype, uint rock=0) const
 Open a new window. More...
 
void glk_window_close (winid_t win, stream_result_t *result=nullptr)
 
void glk_window_get_size (winid_t win, uint *width, uint *height)
 
void glk_window_set_arrangement (winid_t win, uint method, uint size, winid_t keyWin)
 
void glk_window_get_arrangement (winid_t win, uint *method, uint *size, winid_t *keyWin)
 
winid_t glk_window_iterate (winid_t win, uint *rock=0)
 
uint glk_window_get_rock (winid_t win)
 
uint glk_window_get_type (winid_t win)
 
winid_t glk_window_get_parent (winid_t win)
 
winid_t glk_window_get_sibling (winid_t win)
 
void glk_window_clear (winid_t win)
 
void glk_window_move_cursor (winid_t win, uint xpos, uint ypos)
 
strid_t glk_window_get_stream (winid_t win)
 
void glk_window_set_echo_stream (winid_t win, strid_t str)
 
strid_t glk_window_get_echo_stream (winid_t win)
 
void glk_set_window (winid_t win)
 
strid_t glk_stream_open_file (frefid_t fileref, FileMode fmode, uint rock=0)
 
strid_t glk_stream_open_memory (char *buf, uint buflen, FileMode fmode, uint rock=0)
 
void glk_stream_close (strid_t str, stream_result_t *result=nullptr)
 
strid_t glk_stream_iterate (strid_t str, uint *rockptr) const
 
uint glk_stream_get_rock (strid_t str) const
 
void glk_stream_set_position (strid_t str, int pos, uint seekMode)
 
uint glk_stream_get_position (strid_t str) const
 
void glk_stream_set_current (strid_t str)
 
strid_t glk_stream_get_current (void)
 
void glk_put_char (unsigned char ch)
 
void glk_put_char_stream (strid_t str, unsigned char ch)
 
void glk_put_string (const char *s)
 
void glk_put_string_stream (strid_t str, const char *s)
 
void glk_put_buffer (const char *buf, uint len)
 
void glk_put_buffer_stream (strid_t str, const char *buf, uint len)
 
void glk_set_style (uint styl)
 
void glk_set_style_stream (strid_t str, uint styl)
 
int glk_get_char_stream (strid_t str)
 
uint glk_get_line_stream (strid_t str, char *buf, uint len)
 
uint glk_get_buffer_stream (strid_t str, char *buf, uint len)
 
void glk_stylehint_set (uint wintype, uint styl, uint hint, int val)
 
void glk_stylehint_clear (uint wintype, uint style, uint hint)
 
uint glk_style_distinguish (winid_t win, uint style1, uint style2)
 
bool glk_style_measure (winid_t win, uint style, uint hint, uint *result)
 
frefid_t glk_fileref_create_temp (uint usage, uint rock=0)
 
frefid_t glk_fileref_create_by_name (uint usage, const char *name, uint rock=0)
 
frefid_t glk_fileref_create_by_prompt (uint usage, FileMode fmode, uint rock=0)
 
frefid_t glk_fileref_create_from_fileref (uint usage, frefid_t fref, uint rock=0)
 
void glk_fileref_destroy (frefid_t fref)
 
frefid_t glk_fileref_iterate (frefid_t fref, uint *rockptr)
 
uint glk_fileref_get_rock (frefid_t fref)
 
void glk_fileref_delete_file (frefid_t fref)
 
uint glk_fileref_does_file_exist (frefid_t fref)
 
void glk_select (event_t *event)
 
void glk_select_poll (event_t *event)
 
void glk_request_timer_events (uint millisecs)
 
void glk_request_line_event (winid_t win, char *buf, uint maxlen, uint initlen)
 
void glk_request_char_event (winid_t win)
 
void glk_request_mouse_event (winid_t win)
 
void glk_cancel_line_event (winid_t win, event_t *event)
 
void glk_cancel_char_event (winid_t win)
 
void glk_cancel_mouse_event (winid_t win)
 
uint glk_buffer_to_lower_case_uni (uint32 *buf, uint len, uint numchars)
 
uint glk_buffer_to_upper_case_uni (uint32 *buf, uint len, uint numchars)
 
uint glk_buffer_to_title_case_uni (uint32 *buf, uint len, uint numchars, uint lowerrest)
 
void glk_put_char_uni (uint32 ch)
 
void glk_put_string_uni (const uint32 *s)
 
void glk_put_buffer_uni (const uint32 *buf, uint len)
 
void glk_put_char_stream_uni (strid_t str, uint32 ch)
 
void glk_put_string_stream_uni (strid_t str, const uint32 *s)
 
void glk_put_buffer_stream_uni (strid_t str, const uint32 *buf, uint len)
 
int glk_get_char_stream_uni (strid_t str)
 
uint glk_get_buffer_stream_uni (strid_t str, uint32 *buf, uint len)
 
uint glk_get_line_stream_uni (strid_t str, uint32 *buf, uint len)
 
strid_t glk_stream_open_file_uni (frefid_t fileref, FileMode fmode, uint rock=0)
 
strid_t glk_stream_open_memory_uni (uint32 *buf, uint buflen, FileMode fmode, uint rock=0)
 
void glk_request_char_event_uni (winid_t win)
 
void glk_request_line_event_uni (winid_t win, uint32 *buf, uint maxlen, uint initlen)
 
const char * garglk_fileref_get_name (frefid_t fref) const
 
void garglk_set_program_name (const char *name)
 
void garglk_set_program_info (const char *info)
 
void garglk_set_story_name (const char *name)
 
void garglk_set_story_title (const char *title)
 
void garglk_set_config (const char *name)
 
void garglk_unput_string (const char *str)
 Removes the specified string from the end of the output buffer, if indeed it is there. More...
 
void garglk_unput_string_uni (const uint32 *str)
 Removes the specified string from the end of the output buffer, if indeed it is there. More...
 
void garglk_set_zcolors (uint fg, uint bg)
 
void garglk_set_zcolors_stream (strid_t str, uint fg, uint bg)
 
void garglk_set_reversevideo (uint reverse)
 
void garglk_set_reversevideo_stream (strid_t str, uint reverse)
 
void garglk_window_get_cursor (winid_t win, uint *xpos, uint *ypos)
 
void garglk_window_get_cursor_current (uint *xpos, uint *ypos)
 
void gidispatch_set_object_registry (gidispatch_rock_t(*regi)(void *obj, uint objclass), void(*unregi)(void *obj, uint objclass, gidispatch_rock_t objrock))
 
void gidispatch_set_retained_registry (gidispatch_rock_t(*regi)(void *array, uint len, const char *typecode), void(*unregi)(void *array, uint len, const char *typecode, gidispatch_rock_t objrock))
 
uint32 gidispatch_count_classes () const
 
const gidispatch_intconst_tgidispatch_get_class (uint32 index) const
 
uint32 gidispatch_count_intconst () const
 
const gidispatch_intconst_tgidispatch_get_intconst (uint32 index) const
 
const char * gidispatch_prototype (uint32 funcnum) const
 
void gidispatch_call (uint32 funcnum, uint32 numargs, gluniversal_t *arglist)
 
gidispatch_rock_t gidispatch_get_objrock (void *obj, uint objclass)
 
- Public Member Functions inherited from Glk::GlkEngine
 GlkEngine (OSystem *syst, const GlkGameDescription &gameDesc)
 
virtual ~GlkEngine ()
 
virtual bool canLoadGameStateCurrently () override
 Returns true if a savegame can be loaded. More...
 
virtual bool canSaveGameStateCurrently () override
 Returns true if the game can be saved. More...
 
Common::Language getLanguage () const
 Returns the language. More...
 
const Common::StringgetGameID () const
 Returns the game's Id. More...
 
const Common::StringgetGameMD5 () const
 Returns the game's md5. More...
 
const Common::StringgetFilename () const
 Returns the primary filename for the game. More...
 
uint getOptions () const
 Returns any options returned with the game's detection entry. More...
 
const Common::StringgetTargetName () const
 Return the game engine's target name. More...
 
Common::String getSaveName (uint slot) const
 Return the filename for a given save slot. More...
 
Common::Error loadGame ()
 Prompt the user for a savegame to load, and then load it. More...
 
Common::Error saveGame ()
 Prompt the user to save their game, and then save it. More...
 
virtual Common::Error loadGameState (int slot) override
 Load a savegame from a given slot. More...
 
virtual Common::Error saveGameState (int slot, const Common::String &desc) override
 Save the game to a given slot. More...
 
virtual void syncSoundSettings () override
 Updates sound settings. More...
 
void beep ()
 Generate a beep. More...
 
uint getRandomNumber (uint max)
 Get a random number. More...
 
void setRandomNumberSeed (uint seed)
 Set a random number seed. More...
 
void quitGame ()
 Flags to quit the game. More...
 
bool shouldQuit () const
 Returns true if the game should be quit. More...
 
- Public Member Functions inherited from Engine
void pauseEngine (bool pause)
 Pause or resume the engine. More...
 
bool isPaused () const
 Return whether the engine is currently paused or not. More...
 
void openMainMenuDialog ()
 Run the Global Main Menu Dialog. More...
 
uint32 getTotalPlayTime () const
 Get the total play time. More...
 
void setTotalPlayTime (uint32 time=0)
 Set the game time counter to the specified time. More...
 
Common::TimerManagergetTimerManager ()
 
Common::EventManagergetEventManager ()
 
Common::SaveFileManagergetSaveFileManager ()
 
void checkCD ()
 On some systems, check if the game appears to be run from CD. More...
 
 Engine (OSystem *syst)
 
virtual ~Engine ()
 
virtual void initializePath (const Common::FSNode &gamePath)
 Init SearchMan according to the game path. More...
 
virtual void errorString (const char *buf_input, char *buf_output, int buf_output_size)
 Prepare an error string, which is printed by the error() function. More...
 
virtual GUI::DebuggergetDebugger ()
 Return the engine's debugger instance, if any. More...
 
virtual void initKeymap ()
 
virtual void deinitKeymap ()
 
virtual void flipMute ()
 Flip mute all sound option. More...
 
void setGameToLoadSlot (int slot)
 Sets the game slot for a savegame to be loaded after global main menu execution. More...
 
- Public Member Functions inherited from Glk::AdvSys::Game
 Game ()
 Constructor. More...
 
 ~Game ()
 Destructor. More...
 
bool init (Common::SeekableReadStream *s)
 init data for the game More...
 
void restart ()
 Restore savegame data from the game to it's initial state. More...
 
bool shouldRestart ()
 Returns true if the game is restarting, and resets the flag. More...
 
void saveGameData (Common::WriteStream &ws)
 Save the game data to a savegame. More...
 
void loadGameData (Common::ReadStream &rs)
 Restore the game data from a savegame. More...
 
int findWord (const Common::String &word) const
 Find a word in the dictionary. More...
 
WordType getWordType (int word) const
 Return a word's type. More...
 
int checkVerb (const Common::Array< int > &verbs)
 Check to see if this is a valid verb. More...
 
int findAction (const Common::Array< int > &verbs, int preposition, int flag)
 Find an action matching a given description. More...
 
int getObjectProperty (int obj, int prop)
 Get an object property. More...
 
int setObjectProperty (int obj, int prop, int val)
 Sets an object property. More...
 
int getObjectField (int obj, int offset) const
 Gets a field from an object. More...
 
int setObjectField (int obj, int offset, int val)
 Sets a field in an object. More...
 
int getActionField (int action, int offset) const
 Gets a field from an action. More...
 
int getActionByte (int action, int offset) const
 Gets a byte field from an action. More...
 
int getObjectLocation (int obj) const
 Gets the offset of an object from the object table. More...
 
int getActionLocation (int action) const
 Gets the offset of an action from the action table. More...
 
int getVariable (int variableNum)
 Get a variable value. More...
 
void setVariable (int variableNum, int value)
 Set a variable value. More...
 
int getCodeByte (int offset) const
 Gets a code byte. More...
 
int getCodeWord (int offset) const
 Gets a code byte. More...
 
int readWord (int offset) const
 Read a word. More...
 
void writeWord (int offset, int val)
 Write a word. More...
 
Common::String readString (int msg)
 Read a string from the messages section. More...
 
- Public Member Functions inherited from Glk::AdvSys::Header
 Header ()
 Constructor. More...
 
 Header (Common::SeekableReadStream *s)
 Constructor. More...
 
bool init (Common::SeekableReadStream *s)
 init the header More...
 

Private Member Functions

bool initialize ()
 Engine initialization. More...
 
void deinitialize ()
 Engine cleanup. More...
 
bool singleAction ()
 Handle a single action. More...
 

Additional Inherited Members

- Public Types inherited from Engine
enum  EngineFeature {
  kSupportsSubtitleOptions, kSupportsRTL, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
  kSupportsJoystick
}
 A feature in this context means an ability of the engine which can be either available or not. More...
 
- Static Public Member Functions inherited from Engine
static void quitGame ()
 Request the engine to quit. More...
 
static bool shouldQuit ()
 Return whether the ENGINE should quit respectively should return to the launcher. More...
 
static bool warnUserAboutUnsupportedGame ()
 Display a warning to the user that the game is not fully supported. More...
 
- Static Public Member Functions inherited from Glk::AdvSys::Decrypter
static void decrypt (byte *data, size_t size)
 Decrypt a data block. More...
 
- Public Attributes inherited from Glk::GlkEngine
Blorb_blorb
 
Clipboard_clipboard
 
Conf_conf
 
Debugger_debugger
 
Events_events
 
Pictures_pictures
 
Screen_screen
 
Selection_selection
 
Streams_streams
 
Sounds_sounds
 
Windows_windows
 
bool _copySelect
 
bool _terminated
 
gidispatch_rock_t(* gli_register_obj )(void *obj, uint objclass)
 
void(* gli_unregister_obj )(void *obj, uint objclass, gidispatch_rock_t objrock)
 
gidispatch_rock_t(* gli_register_arr )(void *array, uint len, const char *typecode)
 
void(* gli_unregister_arr )(void *array, uint len, const char *typecode, gidispatch_rock_t objrock)
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 
- Public Attributes inherited from Glk::AdvSys::Game
Common::Array< byte_data
 
int _residentOffset
 
int _wordCount
 
int _objectCount
 
int _actionCount
 
int _variableCount
 
byte_wordTable
 
byte_wordTypeTable
 
byte_objectTable
 
byte_actionTable
 
byte_variableTable
 
byte_saveArea
 
byte_dataSpace
 
byte_codeSpace
 
- Public Attributes inherited from Glk::AdvSys::Header
bool _valid
 Signals whether header is valid. More...
 
size_t _size
 Resident size in bytes. More...
 
uint _headerVersion
 Header structure version. More...
 
Common::String _name
 Adventure name. More...
 
uint _version
 Adventure version. More...
 
uint _wordTableOffset
 Word table offset. More...
 
uint _wordTypeTableOffset
 Word type table offset. More...
 
uint _objectTableOffset
 Object table offset. More...
 
uint _actionTableOffset
 Action table offset. More...
 
uint _variableTableOffset
 Variable table offset. More...
 
uint _dataSpaceOffset
 Data space offset. More...
 
uint _codeSpaceOffset
 Code space offset. More...
 
uint _dataBlockOffset
 First data block offset. More...
 
uint _messageBlockOffset
 First message block offset. More...
 
uint _initCodeOffset
 Initialization code offset. More...
 
uint _updateCodeOffset
 Update code offset. More...
 
uint _beforeOffset
 Code offset before verb handler. More...
 
uint _afterOffset
 Code offset after verb handler. More...
 
uint _errorHandlerOffset
 Error handler code offset. More...
 
uint _saveAreaOffset
 Save area offset. More...
 
uint _saveSize
 Save area size. More...
 
- Protected Member Functions inherited from Glk::AdvSys::GlkInterface
bool initialize ()
 GLK initialization. More...
 
void print (const Common::String &msg)
 Print a string. More...
 
void print (int number)
 Print a number. More...
 
Common::String readLine ()
 Get an input line. More...
 
- Protected Member Functions inherited from Glk::GlkEngine
virtual Common::Error run ()
 Init the engine and start its main loop. More...
 
virtual bool hasFeature (EngineFeature f) const override
 Returns true whether a given feature is supported by the engine. More...
 
virtual void initGraphicsMode ()
 Setup the video mode. More...
 
virtual ScreencreateScreen ()
 Create the screen. More...
 
virtual DebuggercreateDebugger ()
 Creates a debugger instance. More...
 
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
 
bool shouldPerformAutoSave (int lastSaveTime)
 Indicate whether an autosave should be performed. More...
 
virtual void pauseEngineIntern (bool pause)
 Actual implementation of pauseEngine by subclasses. More...
 
- Protected Member Functions inherited from Glk::AdvSys::Game
bool hasNoun (int obj, int noun) const
 Returns true if an object has a given noun. More...
 
bool hasAdjective (int obj, int adjective) const
 Returns true if an object has a given adjective. More...
 
- Protected Attributes inherited from Glk::AdvSys::GlkInterface
int _saveSlot
 
Common::String _pendingLine
 
- Protected Attributes inherited from Glk::GlkEngine
const GlkGameDescription _gameDescription
 
Common::RandomSource _random
 
int _loadSaveSlot
 
Common::File _gameFile
 
PCSpeaker_pcSpeaker
 
bool _quitFlag
 
- Protected Attributes inherited from Engine
Common::TimerManager_timer
 
Common::EventManager_eventMan
 
Common::SaveFileManager_saveFileMan
 
GUI::Dialog_mainMenuDialog
 
const Common::String _targetName
 

Detailed Description

AdvSys game interpreter.

Definition at line 35 of file advsys.h.

Constructor & Destructor Documentation

◆ AdvSys()

Glk::AdvSys::AdvSys::AdvSys ( OSystem syst,
const GlkGameDescription gameDesc 
)
inline

Constructor.

Definition at line 55 of file advsys.h.

Member Function Documentation

◆ deinitialize()

void Glk::AdvSys::AdvSys::deinitialize ( )
private

Engine cleanup.

Definition at line 82 of file advsys.cpp.

◆ getInterpreterType()

virtual InterpreterType Glk::AdvSys::AdvSys::getInterpreterType ( ) const
inlineoverridevirtual

Returns the running interpreter type.

Implements Glk::GlkEngine.

Definition at line 65 of file advsys.h.

◆ initialize()

bool Glk::AdvSys::AdvSys::initialize ( )
private

Engine initialization.

Definition at line 70 of file advsys.cpp.

◆ readSaveData()

Common::Error Glk::AdvSys::AdvSys::readSaveData ( Common::SeekableReadStream rs)
overridevirtual

Load a savegame from the passed Quetzal file chunk stream.

Implements Glk::GlkEngine.

Definition at line 110 of file advsys.cpp.

◆ runGame()

void Glk::AdvSys::AdvSys::runGame ( )
overridevirtual

Run the game.

Implements Glk::GlkEngine.

Definition at line 30 of file advsys.cpp.

◆ singleAction()

bool Glk::AdvSys::AdvSys::singleAction ( )
private

Handle a single action.

Definition at line 85 of file advsys.cpp.

◆ writeGameData()

Common::Error Glk::AdvSys::AdvSys::writeGameData ( Common::WriteStream ws)
overridevirtual

Save the game.

The passed write stream represents access to the UMem chunk in the Quetzal save file that will be created

Implements Glk::GlkEngine.

Definition at line 118 of file advsys.cpp.


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