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)
 
void execute ()
 
void switchStateFromWindow ()
 
void freezeState ()
 
void pushContext (const Symbol funcSym, bool allowRetVal, Datum defaultRetVal, int paramCount)
 
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 printSTUBWithArglist (const char *funcname, int nargs, const char *prefix="STUB:")
 
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)
 

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 _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::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
 

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