ScummVM
Glk::Hugo::Hugo Class Reference

Hugo game interpreter. More...

#include <hugo.h>

Inheritance diagram for Glk::Hugo::Hugo:
Collaboration diagram for Glk::Hugo::Hugo:

Public Member Functions

 Hugo (OSystem *syst, const GlkGameDescription &gameDesc)
 Constructor. More...
 
void runGame ()
 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::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::Hugo::HTokens
 HTokens ()
 
- Public Member Functions inherited from Glk::Hugo::StringFunctions
 StringFunctions ()
 
char * Left (char a[], int l)
 
char * Ltrim (char a[])
 
char * Mid (char a[], int pos, int n)
 
char * Right (char a[], int l)
 
char * Rtrim (char a[])
 
char * hugo_strcpy (char *s, const char *t)
 
char * strlwr (char *s)
 
char * strupr (char *s)
 

Private Member Functions

int EvalExpr (int p)
 The new-and-improved expression evaluator. More...
 
int GetVal ()
 Called by GetValue(); does the actual dirty work of returning a value from a simple data type. More...
 
int GetValue ()
 Does any reckoning for more sophisticated constructions. More...
 
int Increment (int a, char inctype)
 Actually performs the increment given below by IsIncrement. More...
 
char IsIncrement (long addr)
 If an increment/decrement is next up (i.e. More...
 
int Precedence (int t)
 Returns the precedence ranking of the operator represented by token[t]. More...
 
void SetupExpr ()
 Reads the current expression from the current code position into eval[], using the following key: More...
 
void TrimExpr (int ptr)
 Cuts off straggling components of eval[] after an expression or sub-expression has been successfully evaluated. More...
 
void hugo_init_screen ()
 Does whatever has to be done to initially set up the display. More...
 
void hugo_cleanup_screen ()
 Does whatever has to be done to clean up the display pre-termination. More...
 
void hugo_closefiles ()
 
int hugo_getkey () const
 
void hugo_getline (const char *prmpt)
 Gets a line of input from the keyboard, storing it in <buffer>. More...
 
int hugo_waitforkey ()
 Provided to be replaced by multitasking systems where cycling while waiting for a keystroke may not be such a hot idea. More...
 
int hugo_iskeywaiting ()
 Returns true if a keypress is waiting to be retrieved. More...
 
int hugo_timewait (int n)
 Waits for 1/n seconds. More...
 
void hugo_clearfullscreen ()
 Clears everything on the screen, moving the cursor to the top-left corner of the screen. More...
 
void hugo_clearwindow ()
 Clears the currently defined window, moving the cursor to the top-left corner of the window. More...
 
void hugo_settextmode ()
 This function does whatever is necessary to set the system up for a standard text display. More...
 
void hugo_settextwindow (int left, int top, int right, int bottom)
 
int heglk_get_linelength ()
 Specially accommodated in GetProp() While the engine thinks that the linelength is 0x7fff, this tells things like the display object the actual length. More...
 
int heglk_get_screenheight ()
 Similar to heglk_get_linelength(). More...
 
void hugo_settextpos (int x, int y)
 
void hugo_print (const char *a)
 Essentially the same as printf() without formatting, since printf() generally doesn't take into account color setting, font changes, windowing, etc. More...
 
void hugo_scrollwindowup ()
 Scroll the text window. More...
 
void hugo_font (int f)
 Set the font. More...
 
void hugo_settextcolor (int c)
 Set the foreground (print) color. More...
 
void hugo_setbackcolor (int c)
 Set the background color. More...
 
int hugo_color (int c)
 Color-setting functions should always pass the color through hugo_color() in order to properly set default fore/background colors. More...
 
int hugo_charwidth (char a) const
 Get the width of a character. More...
 
int hugo_textwidth (const char *a) const
 Return the width of a string. More...
 
int hugo_strlen (const char *a) const
 Return the length of a string. More...
 
void hugo_setgametitle (const char *t)
 
int hugo_hasvideo () const
 
int hugo_playvideo (HUGO_FILE infile, long reslength, char loop_flag, char background, int volume)
 
void hugo_stopvideo ()
 
void AP (const char *a)
 The all-purpose printing routine that takes care of word-wrapping. More...
 
int CallRoutine (unsigned int addr)
 Used whenever a routine is called, assumes the routine address and begins with the arguments (if any). More...
 
void ContextCommand ()
 Adds a command to the context command list. More...
 
unsigned int Dict ()
 Dynamically creates a new dictionary entry. More...
 
void FatalError (int n)
 Generates a fatal error. More...
 
void FileIO ()
 
void Flushpbuffer ()
 
void GetCommand ()
 
char * GetString (long addr)
 From any address <addr>; the segment must be defined prior to calling the function. More...
 
char * GetText (long textaddr)
 Get text block from position <textaddr> in the text bank. More...
 
char * GetWord (unsigned int w)
 From the dictionary table. More...
 
void HandleTailRecursion (long addr)
 
void InitGame ()
 
void LoadGame ()
 
void PassLocals (int n)
 Must be called before running every new routine, i.e. More...
 
unsigned char Peek (long a)
 
unsigned int PeekWord (long a)
 
void Poke (unsigned int a, unsigned char v)
 
void PokeWord (unsigned int a, unsigned int v)
 
void Printout (char *a, int no_scrollback_linebreak)
 Print to client display taking into account cursor relocation, font changes, color setting, and window scrolling. More...
 
void PromptMore ()
 
int RecordCommands ()
 
void SaveUndo (int a, int b, int c, int d, int e)
 Formats: More...
 
void SetStackFrame (int depth, int type, long brk, long returnaddr)
 Properly sets up the code_block structure for the current stack depth depending on if this is a called block (RUNROUTINE_BLOCK) or otherwise. More...
 
void SetupDisplay ()
 
char SpecialChar (const char *a, int *i)
 The method is passed as the string and <*i> as the position in the string. More...
 
int Undo ()
 
int loadres (HUGO_FILE infile, int reslen, int type)
 
int hugo_hasgraphics ()
 
int hugo_displaypicture (HUGO_FILE infile, long reslen)
 
void initsound ()
 
void initmusic ()
 
int hugo_playmusic (HUGO_FILE infile, long reslen, char loop_flag)
 
void hugo_musicvolume (int vol)
 
void hugo_stopmusic ()
 
int hugo_playsample (HUGO_FILE infile, long reslen, char loop_flag)
 
void hugo_samplevolume (int vol)
 
void hugo_stopsample ()
 
int Child (int obj)
 
int Children (int obj)
 
int Elder (int obj)
 
unsigned long GetAttributes (int obj, int attribute_set)
 Returns one of four sets of 32 attributes. More...
 
int GetProp (int obj, int p, int n, char s)
 Returns the value of '<obj>. More...
 
int GrandParent (int obj)
 Returns the value of the last object above <obj> in the tree before object 0. More...
 
void MoveObj (int obj, int p)
 
const char * Name (int obj)
 
int Parent (int obj)
 
unsigned int PropAddr (int obj, int p, unsigned int offset)
 Returns address of <obj>. More...
 
void PutAttributes (int obj, unsigned long a, int attribute_set)
 Writes (puts) one of four sets of 32 attributes. More...
 
void SetAttribute (int obj, int attr, int c)
 Set an attribute c = 1 for set, 0 for clear. More...
 
int Sibling (int obj)
 
int TestAttribute (int obj, int attr, int nattr)
 
int Youngest (int obj)
 
void AddAllObjects (int loc)
 
void AddObj (int obj)
 Adds the object <obj> to objlist[], making all related adjustments. More...
 
void AddPossibleObject (int obj, char type, unsigned int w)
 Adds <obj> as a contender to the possible object list, noting that it was referred to as either a noun or an adjective. More...
 
void AdvanceGrammar ()
 Move the address in the grammar table past the current token. More...
 
int AnyObjWord (int wn)
 For when it's only necessary to know if word[wn] is an object word for any object, not a particular object. More...
 
int Available (int obj, char non_grammar)
 The non_grammar argument is true when called from a non-grammar function such as RunEvents(). More...
 
void CallLibraryParse ()
 
int DomainObj (int obj)
 Takes into account the preset domain for checking an object's presence; <domain> is 0, -1, or an object number. More...
 
unsigned int FindWord (const char *a)
 Returns the dictionary address of . More...
 
int InList (int obj)
 Checks to see if <obj> is in objlist[]. More...
 
void KillWord (int a)
 Deletes word[a]. More...
 
int MatchCommand ()
 Here, briefly, is how MatchCommand() works: More...
 
bool MatchObject (int *wordnum)
 The argument is the word number we're starting matching on. More...
 
int MatchWord (int *wordnum)
 
int ObjWordType (int obj, unsigned int w, int type)
 Returns true if the specified object has the specified word as an adjective or noun (as specified by type). More...
 
int ObjWord (int obj, unsigned int w)
 Returns <adjective> if the word at dictionary address <w> is an adjective of <obj>, or <noun> if it is a noun. More...
 
int Parse ()
 Turns word[] into dictionary addresses stored in wd[]. More...
 
void ParseError (int e, int a)
 
void RemoveWord (int a)
 Deletes wd[a]. More...
 
void ResetFindObject ()
 Call FindObject(0, 0) to reset library's disambiguation mechanism. More...
 
void SeparateWords ()
 Splits <buffer> into the word[] array. More...
 
void SubtractObj (int obj)
 Removes object <obj> from objlist[], making all related adjustments. More...
 
void SubtractPossibleObject (int obj)
 Removes <obj> as a possible contender for object disambiguation. More...
 
void TryObj (int obj)
 Called by MatchObject() to see if <obj> is available, and add it to or subtract it from objlist[] accordingly. More...
 
int ValidObj (int obj)
 Checks first of all to see if an object is available, then checks if it meets all the qualifications demanded by the grammar syntax. More...
 
void DisplayPicture ()
 
void PlayMusic ()
 
void PlaySample ()
 
void PlayVideo ()
 
long FindResource (char *filename, char *resname)
 Assumes that filename/resname contain a resourcefile name and a resource name. More...
 
int GetResourceParameters (char *filename, char *resname, int restype)
 Processes resourcefile/filename (and resource, if applicable). More...
 
void RunDo ()
 
void RunEvents ()
 
void playGame ()
 
void RunIf (char override)
 
void RunInput ()
 
void RunMove ()
 (All the debugger range-checking is important because invalid memory writes due to invalid object location calculations are a good way to crash the system.) More...
 
void RunPrint ()
 
int RunRestart ()
 
int RestoreGameData ()
 
int RunRestore ()
 
void RunRoutine (long addr)
 This is the main loop for running each line of code in sequence; the main switch statement is based on the first token in each line. More...
 
int RunSave ()
 
int RunScriptSet ()
 
int RunString ()
 As in 'x = string(<array>, "<string>"[, maxlen]'. More...
 
int RunSystem ()
 
void SaveWindowData (SAVED_WINDOW_DATA *spw)
 
void RestoreWindowData (SAVED_WINDOW_DATA *spw)
 
void RunWindow ()
 
void RunSet (int gotvalue)
 If gotvalue is passed as -1, then no value has already been as the (potential) object, etc. More...
 
unsigned int GetAnonymousFunction (long addr)
 
int SetCompound (int t)
 
int hugo_fseek (Common::SeekableReadStream *s, long int offset, int whence)
 
int hugo_fseek (strid_t s, long int offset, int whence)
 
int hugo_fgetc (Common::SeekableReadStream *s)
 
int hugo_fgetc (strid_t s)
 
int hugo_fputc (int c, Common::WriteStream *s)
 
int hugo_fputc (int c, strid_t s)
 
char * hugo_fgets (char *buf, int max, Common::SeekableReadStream *s)
 
char * hugo_fgets (char *buf, int max, strid_t s)
 
size_t hugo_fread (void *ptr, size_t size, size_t count, Common::SeekableReadStream *s)
 
size_t hugo_fread (void *ptr, size_t size, size_t count, strid_t s)
 
int hugo_fprintf (Common::WriteStream *s, const char *fmt,...)
 
int hugo_fprintf (strid_t s, const char *fmt,...)
 
int hugo_fputs (const char *str, Common::WriteStream *s)
 
int hugo_fputs (const char *str, strid_t s)
 
bool hugo_ferror (Common::SeekableReadStream *s) const
 
bool hugo_ferror (strid_t s) const
 
long hugo_ftell (Common::SeekableReadStream *s)
 
long hugo_ftell (strid_t s)
 
int hugo_fclose (strid_t f)
 
void hugo_exit (const char *msg)
 
uint hugo_rand ()
 
char * itoa (int value, char *str, int base)
 
voidhugo_blockalloc (size_t num)
 Allocate memory block. More...
 
void hugo_blockfree (void *block)
 

Static Private Member Functions

static const char * PrintHex (long a)
 Returns as a hex-number string in XXXXXX format. More...
 

Private Attributes

int _savegameSlot
 
winid_t mainwin
 
winid_t currentwin
 
winid_t secondwin
 
winid_t auxwin
 
bool runtime_warnings
 
int dbnest
 
int address_scale
 address_scale refers to the factor by which addresses are multiplied to get the "real" address. More...
 
int eval [MAX_EVAL_ELEMENTS]
 expression components More...
 
int evalcount
 

of expr. components

More...
 
int var [MAXLOCALS+MAXGLOBALS]
 variables More...
 
int incdec
 value is being incremented/dec. More...
 
char getaddress
 true when finding &routine More...
 
char inexpr
 true when in expression More...
 
char inobj
 true when in object compound More...
 
int last_precedence
 
schanid_t mchannel
 
schanid_t schannel
 
long resids [2][MAXRES]
 
int numres [2]
 
char gamefile [255]
 
int game_version
 
int object_size
 
Common::SeekableReadStreamgame
 
HUGO_FILE script
 
HUGO_FILE playback
 
HUGO_FILE record
 
HUGO_FILE io
 
char ioblock
 
char ioerror
 
char id [3]
 
char serial [9]
 
unsigned int codestart
 
unsigned int objtable
 
unsigned int eventtable
 
unsigned int proptable
 
unsigned int arraytable
 
unsigned int dicttable
 
unsigned int syntable
 
unsigned int initaddr
 
unsigned int mainaddr
 
unsigned int parseaddr
 
unsigned int parseerroraddr
 
unsigned int findobjectaddr
 
unsigned int endgameaddr
 
unsigned int speaktoaddr
 
unsigned int performaddr
 
int objects
 
int events
 
int dictcount
 
int syncount
 
char context_command [MAX_CONTEXT_COMMANDS][64]
 
int context_commands
 
unsigned char * mem
 
bool loaded_in_memory
 
unsigned int defseg
 
unsigned int gameseg
 
long codeptr
 
long codeend
 
char pbuffer [MAXBUFFER *2+1]
 
int currentpos
 
int currentline
 
int full
 
signed char def_fcolor
 
signed char def_bgcolor
 
signed char def_slfcolor
 
signed char def_slbgcolor
 
signed char fcolor
 
signed char bgcolor
 
signed char icolor
 
signed char default_bgcolor
 
int currentfont
 
char capital
 
unsigned int textto
 
int SCREENWIDTH
 
int SCREENHEIGHT
 
int physical_windowwidth
 
int physical_windowheight
 
int physical_windowtop
 
int physical_windowleft
 
int physical_windowbottom
 
int physical_windowright
 
int inwindow
 
int charwidth
 
int lineheight
 
int FIXEDCHARWIDTH
 
int FIXEDLINEHEIGHT
 
int current_text_x
 
int current_text_y
 
bool skipping_more
 
int undostack [MAXUNDO][5]
 
int undoptr
 
int undoturn
 
char undoinvalid
 
char undorecord
 
bool in_valid_window
 
int glk_fcolor
 
int glk_bgcolor
 
int mainwin_bgcolor
 
int glk_current_font
 
bool just_cleared_screen
 
int secondwin_bottom
 
int display_object
 i.e., non-existent (yet) More...
 
char display_needs_repaint
 for display object More...
 
int display_pointer_x
 
int display_pointer_y
 
char buffer [MAXBUFFER+MAXWORDS]
 
char errbuf [MAXBUFFER+1]
 last invalid input More...
 
char line [1025]
 line buffer More...
 
int words
 parsed word count More...
 
char * word [MAXWORDS+1]
 breakdown into words More...
 
unsigned int wd [MAXWORDS+1]
 " " dict. entries More...
 
unsigned int parsed_number
 needed for numbers in input More...
 
signed char remaining
 multiple commands in input More...
 
char parseerr [MAXBUFFER+1]
 for passing to RunPrint, etc. More...
 
char parsestr [MAXBUFFER+1]
 for passing quoted string More...
 
char xverb
 flag; 0 = regular verb More...
 
char starts_with_verb
 input line; 0 = no verb word More...
 
unsigned int grammaraddr
 address in grammar More...
 
char * obj_parselist
 objects with noun/adjective More...
 
int domain
 
int odomain
 of object(s) More...
 
int objlist [MAXOBJLIST]
 for objects of verb More...
 
char objcount
 of objlist More...
 
char parse_allflag
 for "all" in MatchObject More...
 
pobject_structure pobjlist [MAXPOBJECTS]
 for possible objects More...
 
int pobjcount
 of pobjlist More...
 
int pobj
 last remaining suspect More...
 
int obj_match_state
 see MatchCommand() for details More...
 
char objword_cache [MAXWORDS]
 for MatchWord() xobject, etc. More...
 
char object_is_number
 number used in player command More...
 
unsigned int objgrammar
 for 2nd pass More...
 
int objstart
 " " " More...
 
int objfinish
 " " " More...
 
bool addflag
 true if adding to objlist[] More...
 
int speaking
 if command is addressed to obj. More...
 
char oops [MAXBUFFER+1]
 illegal word More...
 
int oopscount
 

of corrections in a row

More...
 
char parse_called_twice
 
char reparse_everything
 
char punc_string [64]
 punctuation string More...
 
byte full_buffer
 
char recursive_call
 to MatchObject() Necessary for proper disambiguation when addressing a character; i.e., when 'held' doesn't refer to held by the player, etc. More...
 
int parse_location
 usually var[location] More...
 
HUGO_FILE resource_file
 
int extra_param
 
char loaded_filename [MAX_RES_PATH]
 
char loaded_resname [MAX_RES_PATH]
 
char resource_type
 
int passlocal [MAXLOCALS]
 locals passed to routine More...
 
int arguments_passed
 when calling routine More...
 
int ret
 return value and returning flag More...
 
char retflag
 
bool during_player_input
 
char override_full
 
bool game_reset
 for restore, undo, etc. More...
 
CODE_BLOCK code_block [MAXSTACKDEPTH]
 
int stack_depth
 
int tail_recursion
 
long tail_recursion_addr
 
int last_window_top
 
int last_window_bottom
 
int last_window_left
 
int last_window_right
 
int lowest_windowbottom
 in text lines More...
 
int physical_lowest_windowbottom
 in pixels or text lines More...
 
bool just_left_window
 
char game_title [MAX_GAME_TITLE]
 
char arrexpr
 true when assigning array More...
 
char multiprop
 true in multiple prop. assign. More...
 
int set_value
 

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...
 
- 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
 
- Static Public Attributes inherited from Glk::Hugo::HTokens
static const char *const token []
 
static int token_hash []
 
- 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 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

Hugo game interpreter.

Definition at line 40 of file hugo.h.

Constructor & Destructor Documentation

◆ Hugo()

Glk::Hugo::Hugo::Hugo ( OSystem syst,
const GlkGameDescription gameDesc 
)

Constructor.

Definition at line 29 of file hugo.cpp.

Member Function Documentation

◆ getInterpreterType()

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

Returns the running interpreter type.

Implements Glk::GlkEngine.

Definition at line 1191 of file hugo.h.

◆ hugo_blockalloc()

void* Glk::Hugo::Hugo::hugo_blockalloc ( size_t  num)
inlineprivate

Allocate memory block.

Definition at line 1134 of file hugo.h.

◆ hugo_blockfree()

void Glk::Hugo::Hugo::hugo_blockfree ( void block)
inlineprivate

Definition at line 1136 of file hugo.h.

◆ readSaveData()

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

Load a savegame from the passed Quetzal file chunk stream.

Implements Glk::GlkEngine.

Definition at line 155 of file hugo.cpp.

◆ runGame()

void Glk::Hugo::Hugo::runGame ( )
virtual

Run the game.

Implements Glk::GlkEngine.

Definition at line 134 of file hugo.cpp.

◆ writeGameData()

Common::Error Glk::Hugo::Hugo::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 242 of file hugo.cpp.

Member Data Documentation

◆ _savegameSlot

int Glk::Hugo::Hugo::_savegameSlot
private

Definition at line 42 of file hugo.h.

◆ addflag

bool Glk::Hugo::Hugo::addflag
private

true if adding to objlist[]

Definition at line 175 of file hugo.h.

◆ address_scale

int Glk::Hugo::Hugo::address_scale
private

address_scale refers to the factor by which addresses are multiplied to get the "real" address.

In this way, a 16-bit integer can reference 64K * 16 = 1024K of memory.

Definition at line 53 of file hugo.h.

◆ arguments_passed

int Glk::Hugo::Hugo::arguments_passed
private

when calling routine

Definition at line 203 of file hugo.h.

◆ arraytable

unsigned int Glk::Hugo::Hugo::arraytable
private

Definition at line 87 of file hugo.h.

◆ arrexpr

char Glk::Hugo::Hugo::arrexpr
private

true when assigning array

Definition at line 223 of file hugo.h.

◆ auxwin

winid_t Glk::Hugo::Hugo::auxwin
private

Definition at line 44 of file hugo.h.

◆ bgcolor

signed char Glk::Hugo::Hugo::bgcolor
private

Definition at line 115 of file hugo.h.

◆ buffer

char Glk::Hugo::Hugo::buffer[MAXBUFFER+MAXWORDS]
private

Definition at line 146 of file hugo.h.

◆ capital

char Glk::Hugo::Hugo::capital
private

Definition at line 117 of file hugo.h.

◆ charwidth

int Glk::Hugo::Hugo::charwidth
private

Definition at line 124 of file hugo.h.

◆ code_block

CODE_BLOCK Glk::Hugo::Hugo::code_block[MAXSTACKDEPTH]
private

Definition at line 210 of file hugo.h.

◆ codeend

long Glk::Hugo::Hugo::codeend
private

Definition at line 109 of file hugo.h.

◆ codeptr

long Glk::Hugo::Hugo::codeptr
private

Definition at line 108 of file hugo.h.

◆ codestart

unsigned int Glk::Hugo::Hugo::codestart
private

Definition at line 83 of file hugo.h.

◆ context_command

char Glk::Hugo::Hugo::context_command[MAX_CONTEXT_COMMANDS][64]
private

Definition at line 102 of file hugo.h.

◆ context_commands

int Glk::Hugo::Hugo::context_commands
private

Definition at line 103 of file hugo.h.

◆ current_text_x

int Glk::Hugo::Hugo::current_text_x
private

Definition at line 125 of file hugo.h.

◆ current_text_y

int Glk::Hugo::Hugo::current_text_y
private

Definition at line 125 of file hugo.h.

◆ currentfont

int Glk::Hugo::Hugo::currentfont
private

Definition at line 116 of file hugo.h.

◆ currentline

int Glk::Hugo::Hugo::currentline
private

Definition at line 112 of file hugo.h.

◆ currentpos

int Glk::Hugo::Hugo::currentpos
private

Definition at line 111 of file hugo.h.

◆ currentwin

winid_t Glk::Hugo::Hugo::currentwin
private

Definition at line 43 of file hugo.h.

◆ dbnest

int Glk::Hugo::Hugo::dbnest
private

Definition at line 46 of file hugo.h.

◆ def_bgcolor

signed char Glk::Hugo::Hugo::def_bgcolor
private

Definition at line 114 of file hugo.h.

◆ def_fcolor

signed char Glk::Hugo::Hugo::def_fcolor
private

Definition at line 114 of file hugo.h.

◆ def_slbgcolor

signed char Glk::Hugo::Hugo::def_slbgcolor
private

Definition at line 114 of file hugo.h.

◆ def_slfcolor

signed char Glk::Hugo::Hugo::def_slfcolor
private

Definition at line 114 of file hugo.h.

◆ default_bgcolor

signed char Glk::Hugo::Hugo::default_bgcolor
private

Definition at line 115 of file hugo.h.

◆ defseg

unsigned int Glk::Hugo::Hugo::defseg
private

Definition at line 106 of file hugo.h.

◆ dictcount

int Glk::Hugo::Hugo::dictcount
private

Definition at line 100 of file hugo.h.

◆ dicttable

unsigned int Glk::Hugo::Hugo::dicttable
private

Definition at line 88 of file hugo.h.

◆ display_needs_repaint

char Glk::Hugo::Hugo::display_needs_repaint
private

for display object

Definition at line 142 of file hugo.h.

◆ display_object

int Glk::Hugo::Hugo::display_object
private

i.e., non-existent (yet)

Definition at line 141 of file hugo.h.

◆ display_pointer_x

int Glk::Hugo::Hugo::display_pointer_x
private

Definition at line 143 of file hugo.h.

◆ display_pointer_y

int Glk::Hugo::Hugo::display_pointer_y
private

Definition at line 143 of file hugo.h.

◆ domain

int Glk::Hugo::Hugo::domain
private

Definition at line 162 of file hugo.h.

◆ during_player_input

bool Glk::Hugo::Hugo::during_player_input
private

Definition at line 206 of file hugo.h.

◆ endgameaddr

unsigned int Glk::Hugo::Hugo::endgameaddr
private

Definition at line 95 of file hugo.h.

◆ errbuf

char Glk::Hugo::Hugo::errbuf[MAXBUFFER+1]
private

last invalid input

Definition at line 147 of file hugo.h.

◆ eval

int Glk::Hugo::Hugo::eval[MAX_EVAL_ELEMENTS]
private

expression components

Definition at line 56 of file hugo.h.

◆ evalcount

int Glk::Hugo::Hugo::evalcount
private

of expr. components

Definition at line 57 of file hugo.h.

◆ events

int Glk::Hugo::Hugo::events
private

Definition at line 99 of file hugo.h.

◆ eventtable

unsigned int Glk::Hugo::Hugo::eventtable
private

Definition at line 85 of file hugo.h.

◆ extra_param

int Glk::Hugo::Hugo::extra_param
private

Definition at line 196 of file hugo.h.

◆ fcolor

signed char Glk::Hugo::Hugo::fcolor
private

Definition at line 115 of file hugo.h.

◆ findobjectaddr

unsigned int Glk::Hugo::Hugo::findobjectaddr
private

Definition at line 94 of file hugo.h.

◆ FIXEDCHARWIDTH

int Glk::Hugo::Hugo::FIXEDCHARWIDTH
private

Definition at line 124 of file hugo.h.

◆ FIXEDLINEHEIGHT

int Glk::Hugo::Hugo::FIXEDLINEHEIGHT
private

Definition at line 124 of file hugo.h.

◆ full

int Glk::Hugo::Hugo::full
private

Definition at line 113 of file hugo.h.

◆ full_buffer

byte Glk::Hugo::Hugo::full_buffer
private

Definition at line 184 of file hugo.h.

◆ game

Common::SeekableReadStream* Glk::Hugo::Hugo::game
private

Definition at line 75 of file hugo.h.

◆ game_reset

bool Glk::Hugo::Hugo::game_reset
private

for restore, undo, etc.

Definition at line 208 of file hugo.h.

◆ game_title

char Glk::Hugo::Hugo::game_title[MAX_GAME_TITLE]
private

Definition at line 222 of file hugo.h.

◆ game_version

int Glk::Hugo::Hugo::game_version
private

Definition at line 73 of file hugo.h.

◆ gamefile

char Glk::Hugo::Hugo::gamefile[255]
private

Definition at line 72 of file hugo.h.

◆ gameseg

unsigned int Glk::Hugo::Hugo::gameseg
private

Definition at line 107 of file hugo.h.

◆ getaddress

char Glk::Hugo::Hugo::getaddress
private

true when finding &routine

Definition at line 60 of file hugo.h.

◆ glk_bgcolor

int Glk::Hugo::Hugo::glk_bgcolor
private

Definition at line 134 of file hugo.h.

◆ glk_current_font

int Glk::Hugo::Hugo::glk_current_font
private

Definition at line 136 of file hugo.h.

◆ glk_fcolor

int Glk::Hugo::Hugo::glk_fcolor
private

Definition at line 134 of file hugo.h.

◆ grammaraddr

unsigned int Glk::Hugo::Hugo::grammaraddr
private

address in grammar

Definition at line 160 of file hugo.h.

◆ icolor

signed char Glk::Hugo::Hugo::icolor
private

Definition at line 115 of file hugo.h.

◆ id

char Glk::Hugo::Hugo::id[3]
private

Definition at line 81 of file hugo.h.

◆ in_valid_window

bool Glk::Hugo::Hugo::in_valid_window
private

Definition at line 133 of file hugo.h.

◆ incdec

int Glk::Hugo::Hugo::incdec
private

value is being incremented/dec.

Definition at line 59 of file hugo.h.

◆ inexpr

char Glk::Hugo::Hugo::inexpr
private

true when in expression

Definition at line 61 of file hugo.h.

◆ initaddr

unsigned int Glk::Hugo::Hugo::initaddr
private

Definition at line 90 of file hugo.h.

◆ inobj

char Glk::Hugo::Hugo::inobj
private

true when in object compound

Definition at line 62 of file hugo.h.

◆ inwindow

int Glk::Hugo::Hugo::inwindow
private

Definition at line 123 of file hugo.h.

◆ io

HUGO_FILE Glk::Hugo::Hugo::io
private

Definition at line 79 of file hugo.h.

◆ ioblock

char Glk::Hugo::Hugo::ioblock
private

Definition at line 79 of file hugo.h.

◆ ioerror

char Glk::Hugo::Hugo::ioerror
private

Definition at line 79 of file hugo.h.

◆ just_cleared_screen

bool Glk::Hugo::Hugo::just_cleared_screen
private

Definition at line 137 of file hugo.h.

◆ just_left_window

bool Glk::Hugo::Hugo::just_left_window
private

Definition at line 219 of file hugo.h.

◆ last_precedence

int Glk::Hugo::Hugo::last_precedence
private

Definition at line 63 of file hugo.h.

◆ last_window_bottom

int Glk::Hugo::Hugo::last_window_bottom
private

Definition at line 216 of file hugo.h.

◆ last_window_left

int Glk::Hugo::Hugo::last_window_left
private

Definition at line 216 of file hugo.h.

◆ last_window_right

int Glk::Hugo::Hugo::last_window_right
private

Definition at line 216 of file hugo.h.

◆ last_window_top

int Glk::Hugo::Hugo::last_window_top
private

Definition at line 216 of file hugo.h.

◆ line

char Glk::Hugo::Hugo::line[1025]
private

line buffer

Definition at line 148 of file hugo.h.

◆ lineheight

int Glk::Hugo::Hugo::lineheight
private

Definition at line 124 of file hugo.h.

◆ loaded_filename

char Glk::Hugo::Hugo::loaded_filename[MAX_RES_PATH]
private

Definition at line 197 of file hugo.h.

◆ loaded_in_memory

bool Glk::Hugo::Hugo::loaded_in_memory
private

Definition at line 105 of file hugo.h.

◆ loaded_resname

char Glk::Hugo::Hugo::loaded_resname[MAX_RES_PATH]
private

Definition at line 198 of file hugo.h.

◆ lowest_windowbottom

int Glk::Hugo::Hugo::lowest_windowbottom
private

in text lines

Definition at line 217 of file hugo.h.

◆ mainaddr

unsigned int Glk::Hugo::Hugo::mainaddr
private

Definition at line 91 of file hugo.h.

◆ mainwin

winid_t Glk::Hugo::Hugo::mainwin
private

Definition at line 43 of file hugo.h.

◆ mainwin_bgcolor

int Glk::Hugo::Hugo::mainwin_bgcolor
private

Definition at line 135 of file hugo.h.

◆ mchannel

schanid_t Glk::Hugo::Hugo::mchannel
private

Definition at line 66 of file hugo.h.

◆ mem

unsigned char* Glk::Hugo::Hugo::mem
private

Definition at line 104 of file hugo.h.

◆ multiprop

char Glk::Hugo::Hugo::multiprop
private

true in multiple prop. assign.

Definition at line 224 of file hugo.h.

◆ numres

int Glk::Hugo::Hugo::numres[2]
private

Definition at line 69 of file hugo.h.

◆ obj_match_state

int Glk::Hugo::Hugo::obj_match_state
private

see MatchCommand() for details

Definition at line 169 of file hugo.h.

◆ obj_parselist

char* Glk::Hugo::Hugo::obj_parselist
private

objects with noun/adjective

Definition at line 161 of file hugo.h.

◆ objcount

char Glk::Hugo::Hugo::objcount
private

of objlist

Definition at line 164 of file hugo.h.

◆ object_is_number

char Glk::Hugo::Hugo::object_is_number
private

number used in player command

Definition at line 171 of file hugo.h.

◆ object_size

int Glk::Hugo::Hugo::object_size
private

Definition at line 74 of file hugo.h.

◆ objects

int Glk::Hugo::Hugo::objects
private

Definition at line 98 of file hugo.h.

◆ objfinish

int Glk::Hugo::Hugo::objfinish
private

" " "

Definition at line 174 of file hugo.h.

◆ objgrammar

unsigned int Glk::Hugo::Hugo::objgrammar
private

for 2nd pass

Definition at line 172 of file hugo.h.

◆ objlist

int Glk::Hugo::Hugo::objlist[MAXOBJLIST]
private

for objects of verb

Definition at line 163 of file hugo.h.

◆ objstart

int Glk::Hugo::Hugo::objstart
private

" " "

Definition at line 173 of file hugo.h.

◆ objtable

unsigned int Glk::Hugo::Hugo::objtable
private

Definition at line 84 of file hugo.h.

◆ objword_cache

char Glk::Hugo::Hugo::objword_cache[MAXWORDS]
private

for MatchWord() xobject, etc.

Definition at line 170 of file hugo.h.

◆ odomain

int Glk::Hugo::Hugo::odomain
private

of object(s)

Definition at line 162 of file hugo.h.

◆ oops

char Glk::Hugo::Hugo::oops[MAXBUFFER+1]
private

illegal word

Definition at line 178 of file hugo.h.

◆ oopscount

int Glk::Hugo::Hugo::oopscount
private

of corrections in a row

Definition at line 179 of file hugo.h.

◆ override_full

char Glk::Hugo::Hugo::override_full
private

Definition at line 207 of file hugo.h.

◆ parse_allflag

char Glk::Hugo::Hugo::parse_allflag
private

for "all" in MatchObject

Definition at line 165 of file hugo.h.

◆ parse_called_twice

char Glk::Hugo::Hugo::parse_called_twice
private

Definition at line 181 of file hugo.h.

◆ parse_location

int Glk::Hugo::Hugo::parse_location
private

usually var[location]

Definition at line 192 of file hugo.h.

◆ parseaddr

unsigned int Glk::Hugo::Hugo::parseaddr
private

Definition at line 92 of file hugo.h.

◆ parsed_number

unsigned int Glk::Hugo::Hugo::parsed_number
private

needed for numbers in input

Definition at line 153 of file hugo.h.

◆ parseerr

char Glk::Hugo::Hugo::parseerr[MAXBUFFER+1]
private

for passing to RunPrint, etc.

Definition at line 156 of file hugo.h.

◆ parseerroraddr

unsigned int Glk::Hugo::Hugo::parseerroraddr
private

Definition at line 93 of file hugo.h.

◆ parsestr

char Glk::Hugo::Hugo::parsestr[MAXBUFFER+1]
private

for passing quoted string

Definition at line 157 of file hugo.h.

◆ passlocal

int Glk::Hugo::Hugo::passlocal[MAXLOCALS]
private

locals passed to routine

Definition at line 202 of file hugo.h.

◆ pbuffer

char Glk::Hugo::Hugo::pbuffer[MAXBUFFER *2+1]
private

Definition at line 110 of file hugo.h.

◆ performaddr

unsigned int Glk::Hugo::Hugo::performaddr
private

Definition at line 97 of file hugo.h.

◆ physical_lowest_windowbottom

int Glk::Hugo::Hugo::physical_lowest_windowbottom
private

in pixels or text lines

Definition at line 217 of file hugo.h.

◆ physical_windowbottom

int Glk::Hugo::Hugo::physical_windowbottom
private

Definition at line 120 of file hugo.h.

◆ physical_windowheight

int Glk::Hugo::Hugo::physical_windowheight
private

Definition at line 120 of file hugo.h.

◆ physical_windowleft

int Glk::Hugo::Hugo::physical_windowleft
private

Definition at line 120 of file hugo.h.

◆ physical_windowright

int Glk::Hugo::Hugo::physical_windowright
private

Definition at line 120 of file hugo.h.

◆ physical_windowtop

int Glk::Hugo::Hugo::physical_windowtop
private

Definition at line 120 of file hugo.h.

◆ physical_windowwidth

int Glk::Hugo::Hugo::physical_windowwidth
private

Definition at line 120 of file hugo.h.

◆ playback

HUGO_FILE Glk::Hugo::Hugo::playback
private

Definition at line 77 of file hugo.h.

◆ pobj

int Glk::Hugo::Hugo::pobj
private

last remaining suspect

Definition at line 168 of file hugo.h.

◆ pobjcount

int Glk::Hugo::Hugo::pobjcount
private

of pobjlist

Definition at line 167 of file hugo.h.

◆ pobjlist

pobject_structure Glk::Hugo::Hugo::pobjlist[MAXPOBJECTS]
private

for possible objects

Definition at line 166 of file hugo.h.

◆ proptable

unsigned int Glk::Hugo::Hugo::proptable
private

Definition at line 86 of file hugo.h.

◆ punc_string

char Glk::Hugo::Hugo::punc_string[64]
private

punctuation string

Definition at line 183 of file hugo.h.

◆ record

HUGO_FILE Glk::Hugo::Hugo::record
private

Definition at line 78 of file hugo.h.

◆ recursive_call

char Glk::Hugo::Hugo::recursive_call
private

to MatchObject() Necessary for proper disambiguation when addressing a character; i.e., when 'held' doesn't refer to held by the player, etc.

Definition at line 191 of file hugo.h.

◆ remaining

signed char Glk::Hugo::Hugo::remaining
private

multiple commands in input

Definition at line 155 of file hugo.h.

◆ reparse_everything

char Glk::Hugo::Hugo::reparse_everything
private

Definition at line 182 of file hugo.h.

◆ resids

long Glk::Hugo::Hugo::resids[2][MAXRES]
private

Definition at line 68 of file hugo.h.

◆ resource_file

HUGO_FILE Glk::Hugo::Hugo::resource_file
private

Definition at line 195 of file hugo.h.

◆ resource_type

char Glk::Hugo::Hugo::resource_type
private

Definition at line 199 of file hugo.h.

◆ ret

int Glk::Hugo::Hugo::ret
private

return value and returning flag

Definition at line 204 of file hugo.h.

◆ retflag

char Glk::Hugo::Hugo::retflag
private

Definition at line 205 of file hugo.h.

◆ runtime_warnings

bool Glk::Hugo::Hugo::runtime_warnings
private

Definition at line 45 of file hugo.h.

◆ schannel

schanid_t Glk::Hugo::Hugo::schannel
private

Definition at line 67 of file hugo.h.

◆ SCREENHEIGHT

int Glk::Hugo::Hugo::SCREENHEIGHT
private

Definition at line 119 of file hugo.h.

◆ SCREENWIDTH

int Glk::Hugo::Hugo::SCREENWIDTH
private

Definition at line 119 of file hugo.h.

◆ script

HUGO_FILE Glk::Hugo::Hugo::script
private

Definition at line 76 of file hugo.h.

◆ secondwin

winid_t Glk::Hugo::Hugo::secondwin
private

Definition at line 44 of file hugo.h.

◆ secondwin_bottom

int Glk::Hugo::Hugo::secondwin_bottom
private

Definition at line 138 of file hugo.h.

◆ serial

char Glk::Hugo::Hugo::serial[9]
private

Definition at line 82 of file hugo.h.

◆ set_value

int Glk::Hugo::Hugo::set_value
private

Definition at line 225 of file hugo.h.

◆ skipping_more

bool Glk::Hugo::Hugo::skipping_more
private

Definition at line 126 of file hugo.h.

◆ speaking

int Glk::Hugo::Hugo::speaking
private

if command is addressed to obj.

Definition at line 176 of file hugo.h.

◆ speaktoaddr

unsigned int Glk::Hugo::Hugo::speaktoaddr
private

Definition at line 96 of file hugo.h.

◆ stack_depth

int Glk::Hugo::Hugo::stack_depth
private

Definition at line 211 of file hugo.h.

◆ starts_with_verb

char Glk::Hugo::Hugo::starts_with_verb
private

input line; 0 = no verb word

Definition at line 159 of file hugo.h.

◆ syncount

int Glk::Hugo::Hugo::syncount
private

Definition at line 101 of file hugo.h.

◆ syntable

unsigned int Glk::Hugo::Hugo::syntable
private

Definition at line 89 of file hugo.h.

◆ tail_recursion

int Glk::Hugo::Hugo::tail_recursion
private

Definition at line 212 of file hugo.h.

◆ tail_recursion_addr

long Glk::Hugo::Hugo::tail_recursion_addr
private

Definition at line 213 of file hugo.h.

◆ textto

unsigned int Glk::Hugo::Hugo::textto
private

Definition at line 118 of file hugo.h.

◆ undoinvalid

char Glk::Hugo::Hugo::undoinvalid
private

Definition at line 130 of file hugo.h.

◆ undoptr

int Glk::Hugo::Hugo::undoptr
private

Definition at line 128 of file hugo.h.

◆ undorecord

char Glk::Hugo::Hugo::undorecord
private

Definition at line 131 of file hugo.h.

◆ undostack

int Glk::Hugo::Hugo::undostack[MAXUNDO][5]
private

Definition at line 127 of file hugo.h.

◆ undoturn

int Glk::Hugo::Hugo::undoturn
private

Definition at line 129 of file hugo.h.

◆ var

int Glk::Hugo::Hugo::var[MAXLOCALS+MAXGLOBALS]
private

variables

Definition at line 58 of file hugo.h.

◆ wd

unsigned int Glk::Hugo::Hugo::wd[MAXWORDS+1]
private

" " dict. entries

Definition at line 152 of file hugo.h.

◆ word

char* Glk::Hugo::Hugo::word[MAXWORDS+1]
private

breakdown into words

Definition at line 151 of file hugo.h.

◆ words

int Glk::Hugo::Hugo::words
private

parsed word count

Definition at line 150 of file hugo.h.

◆ xverb

char Glk::Hugo::Hugo::xverb
private

flag; 0 = regular verb

Definition at line 158 of file hugo.h.


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