ScummVM API documentation
Director::Lingo Class Reference

Public Member Functions

 Lingo (DirectorEngine *vm)
 
void resetLingo ()
 
void cleanupLingo ()
 
void resetLingoGo ()
 
int getMenuNum ()
 
int getMenuItemsNum (Datum &d)
 
int getXtrasNum ()
 
int getCastLibsNum ()
 
int getMembersNum ()
 
void executeHandler (const Common::String &name)
 
void executeScript (ScriptType type, CastMemberID id)
 
Common::String formatStack ()
 
void printStack (const char *s, uint pc)
 
Common::String formatCallStack (uint pc)
 
void printCallStack (uint pc)
 
Common::String formatFrame ()
 
Common::String formatCurrentInstruction ()
 
Common::String decodeInstruction (ScriptData *sd, uint pc, uint *newPC=NULL)
 
Common::String decodeScript (ScriptData *sd)
 
Common::String formatFunctionName (Symbol &sym)
 
Common::String formatFunctionBody (Symbol &sym)
 
void reloadBuiltIns ()
 
void initBuiltIns ()
 
void initBuiltIns (BuiltinProto protos[])
 
void cleanupBuiltIns ()
 
void cleanupBuiltIns (BuiltinProto protos[])
 
void initFuncs ()
 
void cleanupFuncs ()
 
void initBytecode ()
 
void initMethods ()
 
void cleanupMethods ()
 
void initXLibs ()
 
void cleanupXLibs ()
 
Common::String normalizeXLibName (Common::String name)
 
void openXLib (Common::String name, ObjectType type, const Common::Path &path)
 
void closeXLib (Common::String name)
 
void closeOpenXLibs ()
 
void reloadOpenXLibs ()
 
void runTests ()
 
ScriptType event2script (LEvent ev)
 
Symbol getHandler (const Common::String &name)
 
void processEvents (Common::Queue< LingoEvent > &queue, bool isInputEvent)
 
bool execute ()
 
void switchStateFromWindow ()
 
void freezeState ()
 
void freezePlayState ()
 
void pushContext (const Symbol funcSym, bool allowRetVal, Datum defaultRetVal, int paramCount, int nargs)
 
void popContext (bool aborting=false)
 
void cleanLocalVars ()
 
void varAssign (const Datum &var, const Datum &value)
 
Datum varFetch (const Datum &var, bool silent=false)
 
Common::U32String evalChunkRef (const Datum &var)
 
Datum findVarV4 (int varType, const Datum &id)
 
CastMemberID resolveCastMember (const Datum &memberID, const Datum &castLib, CastType type)
 
void exposeXObject (const char *name, Datum obj)
 
int getAlignedType (const Datum &d1, const Datum &d2, bool equality)
 
Common::String formatAllVars ()
 
void printAllVars ()
 
inst readInst ()
 
inst getInst (uint pc)
 
int readInt ()
 
int getInt (uint pc)
 
double readFloat ()
 
double getFloat (uint pc)
 
char * readString ()
 
char * getString (uint pc)
 
Datum getVoid ()
 
void pushVoid ()
 
void printArgs (const char *funcname, int nargs, const char *prefix=nullptr)
 
void printSTUBWithArglist (const char *funcname, int nargs)
 
void convertVOIDtoString (int arg, int nargs)
 
void dropStack (int nargs)
 
void drop (uint num)
 
void lingoError (const char *s,...)
 
void func_mci (const Common::String &name)
 
void func_mciwait (const Common::String &name)
 
void func_beep (int repeats)
 
void func_goto (Datum &frame, Datum &movie, bool commandgo=false)
 
void func_gotoloop ()
 
void func_gotonext ()
 
void func_gotoprevious ()
 
void func_play (Datum &frame, Datum &movie)
 
void func_playdone ()
 
void func_cursor (Datum cursorDatum)
 
int func_marker (int m)
 
uint16 func_label (Datum &label)
 
void initTheEntities ()
 
void cleanUpTheEntities ()
 
const char * entity2str (int id)
 
const char * field2str (int id)
 
Datum getTheEntity (int entity, Datum &id, int field)
 
void setTheEntity (int entity, Datum &id, int field, Datum &d)
 
Datum getTheSprite (Datum &id, int field)
 
void setTheSprite (Datum &id, int field, Datum &d)
 
Datum getTheCast (Datum &id, int field)
 
void setTheCast (Datum &id, int field, Datum &d)
 
Datum getTheField (Datum &id1, int field)
 
void setTheField (Datum &id1, int field, Datum &d)
 
Datum getTheChunk (Datum &chunk, int field)
 
void setTheChunk (Datum &chunk, int field, Datum &d)
 
void getObjectProp (Datum &obj, Common::String &propName)
 
void setObjectProp (Datum &obj, Common::String &propName, Datum &d)
 
Datum getTheDate (int field)
 
Datum getTheTime (int field)
 
Datum getTheDeskTopRectList ()
 
void push (Datum d)
 
Datum pop ()
 
Datum peek (uint offset)
 
void executeImmediateScripts (Frame *frame)
 
void executePerFrameHook (int frame, int subframe)
 
Common::String normalizeString (const Common::String &str)
 
void addBreakpoint (Breakpoint &bp)
 
bool delBreakpoint (int id)
 
BreakpointgetBreakpoint (int id)
 
const Common::Array< Breakpoint > & getBreakpoints () const
 
Common::Array< Breakpoint > & getBreakpoints ()
 

Public Attributes

Datum _actorList
 
Common::u32char_type_t _itemDelimiter
 
bool _exitLock
 
bool _preLoadEventAbort
 
Datum _searchPath
 
bool _trace
 
int _traceLoad
 
bool _updateMovieEnabled
 
bool _romanLingo
 
LingoCompiler_compiler
 
LingoState_state
 
int _currentChannelId
 
bool _freezeState
 
bool _freezePlay
 
bool _playDone
 
bool _abort
 
bool _expectError
 
bool _caughtError
 
TheEntityHash _theEntities
 
TheEntityFieldHash _theEntityFields
 
int _objectEntityId
 
SymbolHash _builtinCmds
 
SymbolHash _builtinFuncs
 
SymbolHash _builtinConsts
 
SymbolHash _builtinListHandlers
 
SymbolHash _methods
 
XLibOpenerFuncHash _xlibOpeners
 
XLibCloserFuncHash _xlibClosers
 
OpenXLibsHash _openXLibs
 
OpenXLibsStateHash _openXLibsState
 
Common::StringArray _openXtras
 
Common::String _floatPrecisionFormat
 
Common::HashMap< uint32, const char * > _eventHandlerTypes
 
Common::HashMap< Common::String, uint32, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo_eventHandlerTypeIds
 
Common::HashMap< Common::String, Audio::AudioStream * > _audioAliases
 
DatumHash _globalvars
 
FuncHash _functions
 
Common::HashMap< int, LingoV4Bytecode * > _lingoV4
 
Common::HashMap< int, LingoV4TheEntity * > _lingoV4TheEntity
 
uint _globalCounter
 
StackData _stack
 
DirectorEngine_vm
 
int _floatPrecision
 
Datum _theResult
 
bool _passEvent
 
Datum _perFrameHook
 
Datum _windowList
 
Symbol _currentInputEvent
 
struct {
   LingoExecState   _state = kRunning
 
   bool(*   _shouldPause )() = nullptr
 
_exec
 

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