ScummVM API documentation
AGOS::AGOSEngine Class Referenceabstract
Inheritance diagram for AGOS::AGOSEngine:
Engine AGOS::AGOSEngine_Elvira1 AGOS::AGOSEngine_PN AGOS::AGOSEngine_Elvira2 AGOS::AGOSEngine_Waxworks AGOS::AGOSEngine_Simon1 AGOS::AGOSEngine_Simon2

Public Member Functions

virtual void setupGame ()
 
int getGameId () const
 
int getGameType () const
 
uint32 getFeatures () const
 
const char * getExtra () const
 
Common::Language getLanguage () const
 
Common::Platform getPlatform () const
 
const char * getFileName (int type) const
 
 AGOSEngine (OSystem *system, const AGOSGameDescription *gd)
 
bool getBitFlag (uint bit)
 
void setBitFlag (uint bit, bool value)
 
void vc1_fadeOut ()
 
void vc2_call ()
 
virtual void vc3_loadSprite ()
 
void vc4_fadeIn ()
 
void vc5_ifEqual ()
 
void vc6_ifObjectHere ()
 
void vc7_ifObjectNotHere ()
 
void vc8_ifObjectIsAt ()
 
void vc9_ifObjectStateIs ()
 
void vc10_draw ()
 
void vc12_delay ()
 
void vc13_addToSpriteX ()
 
void vc14_addToSpriteY ()
 
void vc15_sync ()
 
void vc16_waitSync ()
 
void vc18_jump ()
 
void vc19_loop ()
 
void vc20_setRepeat ()
 
void vc21_endRepeat ()
 
virtual void vc22_setPalette ()
 
void vc23_setPriority ()
 
void vc24_setSpriteXY ()
 
void vc25_halt_sprite ()
 
void vc26_setSubWindow ()
 
void vc27_resetSprite ()
 
void vc28_playSFX ()
 
void vc29_stopAllSounds ()
 
void vc30_setFrameRate ()
 
void vc31_setWindow ()
 
void vc33_setMouseOn ()
 
void vc34_setMouseOff ()
 
void vc35_clearWindow ()
 
virtual void vc36_setWindowImage ()
 
void vc38_ifVarNotZero ()
 
void vc39_setVar ()
 
void vc40_scrollRight ()
 
void vc41_scrollLeft ()
 
void vc42_delayIfNotEQ ()
 
void vc11_onStop ()
 
void vc36_pause ()
 
void vc39_volume ()
 
void vc44_enableBox ()
 
void vc45_disableBox ()
 
void vc46_maxBox ()
 
void vc48_specialEffect ()
 
void vc50_setBox ()
 
void vc55_scanFlag ()
 
void vc17_waitEnd ()
 
void vc32_saveScreen ()
 
void vc37_pokePalette ()
 
void vc43_ifBitSet ()
 
void vc44_ifBitClear ()
 
void vc45_setWindowPalette ()
 
void vc46_setPaletteSlot1 ()
 
void vc47_setPaletteSlot2 ()
 
void vc48_setPaletteSlot3 ()
 
void vc49_setBit ()
 
void vc50_clearBit ()
 
void vc51_enableBox ()
 
void vc52_playSound ()
 
void vc53_dissolveIn ()
 
void vc54_dissolveOut ()
 
void vc55_moveBox ()
 
void vc56_fullScreen ()
 
void vc57_blackPalette ()
 
void vc58_checkCodeWheel ()
 
void vc58_changePriority ()
 
void vc59_ifEGA ()
 
void vc60_stopAnimation ()
 
void vc61 ()
 
void vc62_fastFadeOut ()
 
virtual void vc63_fastFadeIn ()
 
void vc11_clearPathFinder ()
 
void vc17_setPathfinderItem ()
 
void vc32_copyVar ()
 
void vc37_addToSpriteY ()
 
void vc45_setSpriteX ()
 
void vc46_setSpriteY ()
 
void vc47_addToVar ()
 
virtual void vc48_setPathFinder ()
 
void vc59_ifSpeech ()
 
void vc61_setMaskImage ()
 
void vc56_delayLong ()
 
void vc59_stopAnimations ()
 
void vc64_ifSpeech ()
 
void vc65_slowFadeIn ()
 
void vc66_ifEqual ()
 
void vc67_ifLE ()
 
void vc68_ifGE ()
 
void vc69_playSeq ()
 
void vc70_joinSeq ()
 
void vc71_ifSeqWaiting ()
 
void vc72_segue ()
 
void vc73_setMark ()
 
void vc74_clearMark ()
 
void vc75_setScale ()
 
void vc76_setScaleXOffs ()
 
void vc77_setScaleYOffs ()
 
void vc78_computeXY ()
 
void vc79_computePosNum ()
 
void vc80_setOverlayImage ()
 
void vc81_setRandom ()
 
void vc82_getPathValue ()
 
void vc83_playSoundLoop ()
 
void vc84_stopSoundLoop ()
 
void setScriptCondition (bool cond)
 
bool getScriptCondition ()
 
void setScriptReturn (int ret)
 
int getScriptReturn ()
 
void o_invalid ()
 
void o_at ()
 
void o_notAt ()
 
void o_carried ()
 
void o_notCarried ()
 
void o_isAt ()
 
void o_zero ()
 
void o_notZero ()
 
void o_eq ()
 
void o_notEq ()
 
void o_gt ()
 
void o_lt ()
 
void o_eqf ()
 
void o_notEqf ()
 
void o_ltf ()
 
void o_gtf ()
 
void o_chance ()
 
void o_isRoom ()
 
void o_isObject ()
 
void o_state ()
 
void o_oflag ()
 
void o_destroy ()
 
void o_place ()
 
void o_copyff ()
 
void o_clear ()
 
void o_let ()
 
void o_add ()
 
void o_sub ()
 
void o_addf ()
 
void o_subf ()
 
void o_mul ()
 
void o_div ()
 
void o_mulf ()
 
void o_divf ()
 
void o_mod ()
 
void o_modf ()
 
void o_random ()
 
void o_goto ()
 
void o_oset ()
 
void o_oclear ()
 
void o_putBy ()
 
void o_inc ()
 
void o_dec ()
 
void o_setState ()
 
void o_print ()
 
void o_message ()
 
void o_msg ()
 
void o_end ()
 
void o_done ()
 
void o_process ()
 
void o_when ()
 
void o_if1 ()
 
void o_if2 ()
 
void o_isCalled ()
 
void o_is ()
 
void o_debug ()
 
void o_comment ()
 
void o_haltAnimation ()
 
void o_restartAnimation ()
 
void o_getParent ()
 
void o_getNext ()
 
void o_getChildren ()
 
void o_picture ()
 
void o_loadZone ()
 
void o_killAnimate ()
 
void o_defWindow ()
 
void o_window ()
 
void o_cls ()
 
void o_closeWindow ()
 
void o_addBox ()
 
void o_delBox ()
 
void o_enableBox ()
 
void o_disableBox ()
 
void o_moveBox ()
 
void o_doIcons ()
 
void o_isClass ()
 
void o_setClass ()
 
void o_unsetClass ()
 
void o_waitSync ()
 
void o_sync ()
 
void o_defObj ()
 
void o_here ()
 
void o_doClassIcons ()
 
void o_playTune ()
 
void o_setAdjNoun ()
 
void o_saveUserGame ()
 
void o_loadUserGame ()
 
void o_copysf ()
 
void o_restoreIcons ()
 
void o_freezeZones ()
 
void o_placeNoIcons ()
 
void o_clearTimers ()
 
void o_setDollar ()
 
void o_isBox ()
 
int16 moreText (Item *i)
 
void lobjFunc (Item *i, const char *f)
 
uint confirmYesOrNo (uint16 x, uint16 y)
 
uint continueOrQuit ()
 
void printScroll ()
 
virtual void printStats ()
 
void synchChain (Item *i)
 
- Public Member Functions inherited from Engine
MetaEnginegetMetaEngine () const
 
void setMetaEngine (MetaEngine *metaEngine)
 
PauseToken pauseEngine ()
 
bool isPaused () const
 
void openMainMenuDialog ()
 
uint32 getTotalPlayTime () const
 
void setTotalPlayTime (uint32 time=0)
 
Common::TimerManagergetTimerManager ()
 
Common::EventManagergetEventManager ()
 
Common::SaveFileManagergetSaveFileManager ()
 
bool existExtractedCDAudioFiles (uint track=1)
 
bool isDataAndCDAudioReadFromSameCD ()
 
void warnMissingExtractedCDAudio ()
 
void handleAutoSave ()
 
void saveAutosaveIfEnabled ()
 
virtual bool canSaveAutosaveCurrently ()
 
virtual int getAutosaveSlot () 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::DebuggergetDebugger () final
 
void setDebugger (GUI::Debugger *debugger)
 
GUI::DebuggergetOrCreateDebugger ()
 
virtual void applyGameSettings ()
 
virtual void flipMute ()
 
virtual Common::String getSaveStateName (int slot) const
 
virtual Common::Error loadGameState (int slot)
 
virtual Common::Error loadGameStream (Common::SeekableReadStream *stream)
 
void setGameToLoadSlot (int slot)
 
virtual bool canLoadGameStateCurrently (Common::U32String *msg=nullptr)
 
virtual Common::Error saveGameState (int slot, const Common::String &desc, bool isAutosave=false)
 
virtual Common::Error saveGameStream (Common::WriteStream *stream, bool isAutosave=false)
 
virtual bool canSaveGameStateCurrently (Common::U32String *msg=nullptr)
 
bool saveGameDialog ()
 
bool loadGameDialog ()
 

Public Attributes

byte * _curSfxFile
 
uint32 _curSfxFileSize
 
uint16 _sampleEnd
 
uint16 _sampleWait
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 

Protected Types

typedef void(AGOSEngine::* VgaOpcodeProc) ()
 

Protected Member Functions

virtual Common::Error init ()
 
virtual Common::Error go ()
 
Common::Error run () override
 
bool hasFeature (EngineFeature f) const override
 
void syncSoundSettings () override
 
void syncSoundSettingsIntern ()
 
void pauseEngineIntern (bool pause) override
 
virtual void setupOpcodes ()
 
void setupVgaOpcodes ()
 
virtual void setupVideoOpcodes (VgaOpcodeProc *op)
 
uint32 getTime () const
 
virtual uint16 to16Wrapper (uint value)
 
virtual uint16 readUint16Wrapper (const void *src)
 
virtual uint32 readUint32Wrapper (const void *src)
 
int allocGamePcVars (Common::SeekableReadStream *in)
 
void createPlayer ()
 
void allocateStringTable (int num)
 
void setupStringTable (byte *mem, int num)
 
void setupLocalStringTable (byte *mem, int num)
 
void readGamePcText (Common::SeekableReadStream *in)
 
virtual void readItemChildren (Common::SeekableReadStream *in, Item *item, uint tmp)
 
void readItemFromGamePc (Common::SeekableReadStream *in, Item *item)
 
virtual void loadGamePcFile ()
 
void readGamePcFile (Common::SeekableReadStream *in)
 
void decompressData (const char *srcName, byte *dst, uint32 offset, uint32 srcSize, uint32 dstSize)
 
void decompressPN (Common::Stack< uint32 > &dataList, uint8 *&dataOut, int &dataOutSize)
 
void loadOffsets (const char *filename, int number, uint32 &file, uint32 &offset, uint32 &compressedSize, uint32 &size)
 
void loadSound (uint16 sound, int16 pan, int16 vol, uint16 type)
 
void playSfx (uint16 sound, uint16 freq, uint16 flags, bool digitalOnly=false, bool midiOnly=false)
 
void loadSound (uint16 sound, uint16 freq, uint16 flags)
 
void loadMidiSfx ()
 
virtual void playMidiSfx (uint16 sound)
 
void loadVoice (uint speechId)
 
void stopAllSfx ()
 
void loadSoundFile (const char *filename)
 
int getUserFlag (Item *item, int a)
 
int getUserFlag1 (Item *item, int a)
 
int getUserItem (Item *item, int n)
 
void setUserFlag (Item *item, int a, int b)
 
void setUserItem (Item *item, int n, int m)
 
void paletteFadeOut (byte *palPtr, uint num, uint size)
 
void * allocateItem (uint size)
 
void * allocateTable (uint size)
 
void alignTableMem ()
 
ChildfindChildOfType (Item *i, uint child)
 
ChildallocateChildBlock (Item *i, uint type, uint size)
 
void allocItemHeap ()
 
void allocTablesHeap ()
 
SubroutinecreateSubroutine (uint16 a)
 
void readSubroutine (Common::SeekableReadStream *in, Subroutine *sub)
 
SubroutineLinecreateSubroutineLine (Subroutine *sub, int a)
 
void readSubroutineLine (Common::SeekableReadStream *in, SubroutineLine *newTable, Subroutine *sub)
 
byte * readSingleOpcode (Common::SeekableReadStream *in, byte *ptr)
 
void readSubroutineBlock (Common::SeekableReadStream *in)
 
SubroutinegetSubroutineByID (uint subroutineId)
 
void dumpAllSubroutines ()
 
void dumpAllVgaImageFiles ()
 
void dumpAllVgaScriptFiles ()
 
void dumpSubroutines ()
 
void dumpSubroutine (Subroutine *sub)
 
void dumpSubroutineLine (SubroutineLine *sl, Subroutine *sub)
 
const byte * dumpOpcode (const byte *p)
 
int startSubroutine (Subroutine *sub)
 
int startSubroutineEx (Subroutine *sub)
 
bool checkIfToRunSubroutineLine (SubroutineLine *sl, Subroutine *sub)
 
int runScript ()
 
virtual void executeOpcode (int opcode)=0
 
byte getByte ()
 
int getNextWord ()
 
uint getNextVarContents ()
 
uint getVarWrapper ()
 
uint getVarOrWord ()
 
uint getVarOrByte ()
 
uint readVariable (uint16 variable)
 
void writeNextVarContents (uint16 contents)
 
void writeVariable (uint16 variable, uint16 contents)
 
ItemderefItem (uint item)
 
ItemgetNextItemPtr ()
 
uint getNextItemID ()
 
uint getItem1ID ()
 
uint itemPtrToID (Item *id)
 
Itemme ()
 
Itemactor ()
 
void uncompressText (byte *ptr)
 
byte * uncompressToken (byte a, byte *ptr)
 
void showMessageFormat (MSVC_PRINTF const char *s,...) GCC_PRINTF(2
 
void const byte * getStringPtrByID (uint16 stringId, bool upperCase=false)
 
const byte * getLocalStringByID (uint16 stringId)
 
uint getNextStringID ()
 
void addTimeEvent (int32 timeout, uint16 subroutineId)
 
void delTimeEvent (TimeEvent *te)
 
ItemfindInByClass (Item *i, int16 m)
 
ItemnextInByClass (Item *i, int16 m)
 
ItemfindMaster (int16 a, int16 n)
 
ItemnextMaster (Item *item, int16 a, int16 n)
 
int wordMatch (Item *item, int16 a, int16 n)
 
bool isRoom (Item *item)
 
bool isObject (Item *item)
 
bool isPlayer (Item *item)
 
void itemChildrenChanged (Item *item)
 
void unlinkItem (Item *item)
 
void linkItem (Item *item, Item *parent)
 
void setItemParent (Item *item, Item *parent)
 
void setItemState (Item *item, int value)
 
void stopAnimate (uint16 a)
 
void stopAnimateSimon2 (uint16 a, uint16 b)
 
void enableBox (uint hitarea)
 
void disableBox (uint hitarea)
 
void moveBox (uint hitarea, int x, int y)
 
bool isBoxDead (uint hitarea)
 
void undefineBox (uint hitarea)
 
void defineBox (int id, int x, int y, int width, int height, int flags, int verb, Item *itemPtr)
 
void defineBox (uint16 id, uint16 x, uint16 y, uint16 width, uint16 height, uint16 msg1, uint16 msg2, uint16 flags)
 
HitAreafindEmptyHitArea ()
 
virtual void resetVerbs ()
 
virtual void setVerb (HitArea *ha)
 
virtual void hitarea_leave (HitArea *ha, bool state=false)
 
void leaveHitAreaById (uint hitarea_id)
 
void sendSync (uint a)
 
void waitForSync (uint a)
 
uint getOffsetOfChild2Param (SubObject *child, uint prop)
 
void scriptMouseOff ()
 
void freezeBottom ()
 
void unfreezeBottom ()
 
TextLocationgetTextLocation (uint a)
 
uint setVerbText (HitArea *ha)
 
void waitForInput ()
 
void setup_cond_c_helper ()
 
uint16 getBackExit (int n)
 
uint16 getDoorState (Item *item, uint16 d)
 
uint16 getExitOf (Item *item, uint16 d)
 
void changeDoorState (SubRoom *r, uint16 d, uint16 n)
 
void setDoorState (Item *i, uint16 d, uint16 n)
 
ItemgetDoorOf (Item *item, uint16 d)
 
ItemgetExitOf_e1 (Item *item, uint16 d)
 
virtual void moveDirn (Item *i, uint x)
 
virtual int canPlace (Item *x, Item *y)
 
int contains (Item *a, Item *b)
 
int sizeContents (Item *x)
 
virtual int sizeOfRec (Item *o, int d)
 
int sizeRec (Item *x, int d)
 
int weighUp (Item *x)
 
int weightRec (Item *x, int d)
 
virtual int weightOf (Item *x)
 
void xPlace (Item *x, Item *y)
 
void restoreMenu ()
 
void drawMenuStrip (uint windowNum, uint menuNum)
 
void lightMenuStrip (int a)
 
void unlightMenuStrip ()
 
void lightMenuBox (uint hitarea)
 
uint menuFor_e2 (Item *item)
 
uint menuFor_ww (Item *item, uint id)
 
void clearMenuStrip ()
 
void doMenuStrip (uint menuNum)
 
void mouseOff ()
 
void mouseOn ()
 
bool loadRoomItems (uint16 item)
 
virtual bool loadTablesIntoMem (uint16 subrId)
 
bool loadXTablesIntoMem (uint16 subrId)
 
void loadTextIntoMem (uint16 stringId)
 
uint loadTextFile (const char *filename, byte *dst)
 
Common::SeekableReadStreamopenTablesFile (const char *filename)
 
void closeTablesFile (Common::SeekableReadStream *in)
 
uint loadTextFile_simon1 (const char *filename, byte *dst)
 
Common::SeekableReadStreamopenTablesFile_simon1 (const char *filename)
 
Common::SeekableReadStreamopenTablesFile_pak98 (const char *filename)
 
Common::SeekableReadStreamcreatePak98FileStream (const char *filename)
 
void convertPC98Image (VC10_state &state)
 
uint loadTextFile_gme (const char *filename, byte *dst)
 
Common::SeekableReadStreamopenTablesFile_gme (const char *filename)
 
void invokeTimeEvent (TimeEvent *te)
 
bool kickoffTimeEvents ()
 
void killAllTimers ()
 
void endCutscene ()
 
virtual void runSubroutine101 ()
 
virtual void inventoryUp (WindowBlock *window)
 
virtual void inventoryDown (WindowBlock *window)
 
WindowBlockopenWindow (uint x, uint y, uint w, uint h, uint flags, uint fillColor, uint textColor)
 
uint getWindowNum (WindowBlock *window)
 
void clearWindow (WindowBlock *window)
 
void changeWindow (uint a)
 
void closeWindow (uint a)
 
void setTextColor (uint color)
 
virtual void windowPutChar (WindowBlock *window, byte c, byte b=0)
 
void waitWindow (WindowBlock *window)
 
HitAreafindBox (uint hitarea_id)
 
virtual void boxController (uint x, uint y, uint mode)
 
void handleVerbClicked (uint verb)
 
virtual void clearName ()
 
void displayName (HitArea *ha)
 
void resetNameWindow ()
 
void displayBoxStars ()
 
void invertBox (HitArea *ha, byte a, byte b, byte c, byte d)
 
virtual void handleMouseWheelUp ()
 
virtual void handleMouseWheelDown ()
 
virtual void initMouse ()
 
virtual void handleMouseMoved ()
 
virtual void drawMousePointer ()
 
void drawArrow (uint16 x, uint16 y, int8 dir)
 
virtual void addArrows (WindowBlock *window, uint8 num)
 
virtual void removeArrows (WindowBlock *window, uint num)
 
virtual void drawIcon (WindowBlock *window, uint icon, uint x, uint y)
 
virtual bool hasIcon (Item *item)
 
virtual uint itemGetIconNumber (Item *item)
 
virtual uint setupIconHitArea (WindowBlock *window, uint num, uint x, uint y, Item *itemPtr)
 
virtual void drawIconArray (uint i, Item *itemPtr, int line, int classMask)
 
void removeIconArray (uint num)
 
void loadIconData ()
 
void loadIconFile ()
 
void loadMenuFile ()
 
virtual bool processSpecialKeys ()
 
void hitarea_stuff_helper ()
 
void permitInput ()
 
uint getFeebleFontSize (byte chr)
 
void justifyStart ()
 
void justifyOutPut (byte chr)
 
void loadZone (uint16 zoneNum, bool useError=true)
 
void animate (uint16 windowNum, uint16 zoneNum, uint16 vgaSpriteId, int16 x, int16 y, uint16 palette, bool vgaScript=false)
 
void setImage (uint16 vgaSpriteId, bool vgaScript=false)
 
void setWindowImage (uint16 mode, uint16 vgaSpriteId, bool specialCase=false)
 
virtual void setWindowImageEx (uint16 mode, uint16 vgaSpriteId)
 
void drawEdging ()
 
void skipSpeech ()
 
const char * getPixelLength (const char *string, uint16 maxWidth, uint16 &pixels)
 
bool printNameOf (Item *item, uint x, uint y)
 
bool printTextOf (uint a, uint x, uint y)
 
void printVerbOf (uint hitarea_id)
 
void showActionString (const byte *string)
 
virtual void printScreenText (uint vgaSpriteId, uint color, const char *stringPtr, int16 x, int16 y, int16 width)
 
void renderStringAmiga (uint vgaSpriteId, uint color, uint width, uint height, const char *txt)
 
void renderString (uint vgaSpriteId, uint color, uint width, uint height, const char *txt)
 
void writeChar (WindowBlock *window, int x, int y, int offs, int val)
 
byte * allocBlock (uint32 size)
 
void checkNoOverWrite ()
 
void checkRunningAnims ()
 
void checkAnims (uint a)
 
void checkZonePtrs ()
 
void setZoneBuffers ()
 
void runVgaScript ()
 
bool drawImage_clip (VC10_state *state)
 
void drawImage_init (int16 image, uint16 palette, int16 x, int16 y, uint16 flags)
 
virtual void drawImage (VC10_state *state)
 
void drawBackGroundImage (VC10_state *state)
 
void drawVertImage (VC10_state *state)
 
void drawVertImageCompressed (VC10_state *state)
 
void drawVertImageUncompressed (VC10_state *state)
 
void setMoveRect (uint16 x, uint16 y, uint16 width, uint16 height)
 
void horizontalScroll (VC10_state *state)
 
void verticalScroll (VC10_state *state)
 
Graphics::SurfacegetBackendSurface () const
 
void updateBackendSurface (Common::Rect *area=0) const
 
virtual void clearHiResTextLayer ()
 
int vcReadVarOrWord ()
 
uint vcReadNextWord (bool forceLERead=false)
 
uint vcReadNextByte ()
 
uint vcReadVar (uint var)
 
void vcWriteVar (uint var, int16 value)
 
void vcSkipNextInstruction ()
 
int getScale (int16 y, int16 x)
 
void checkScrollX (int16 x, int16 xpos)
 
void checkScrollY (int16 y, int16 ypos)
 
void centerScroll ()
 
virtual void clearVideoWindow (uint16 windowNum, uint16 color)
 
void clearVideoBackGround (uint16 windowNum, uint16 color)
 
void setPaletteSlot (uint16 srcOffs, uint8 dstOffs)
 
void checkOnStopTable ()
 
void checkWaitEndTable ()
 
virtual bool ifObjectHere (uint16 val)
 
virtual bool ifObjectAt (uint16 a, uint16 b)
 
virtual bool ifObjectState (uint16 a, int16 b)
 
bool isVgaQueueEmpty ()
 
void haltAnimation ()
 
void restartAnimation ()
 
void addVgaEvent (uint16 num, uint8 type, const byte *codePtr, uint16 curSprite, uint16 curZoneNum)
 
void deleteVgaEvent (VgaTimerEntry *vte)
 
void processVgaEvents ()
 
void animateEvent (const byte *codePtr, uint16 curZoneNum, uint16 curSprite)
 
void scrollEvent ()
 
void drawStuff (const byte *src, uint offs)
 
void playerDamageEvent (VgaTimerEntry *vte, uint dx)
 
void monsterDamageEvent (VgaTimerEntry *vte, uint dx)
 
VgaSpritefindCurSprite ()
 
bool isSpriteLoaded (uint16 id, uint16 zoneNum)
 
void resetWindow (WindowBlock *window)
 
void freeBox (uint index)
 
void sendWindow (uint a)
 
virtual void colorWindow (WindowBlock *window)
 
void colorBlock (WindowBlock *window, uint16 x, uint16 y, uint16 w, uint16 h)
 
void restoreWindow (WindowBlock *window)
 
void restoreBlock (uint16 left, uint16 top, uint16 right, uint16 bottom)
 
byte * getBackBuf ()
 
byte * getBackGround ()
 
byte * getScaleBuf ()
 
byte * convertAmigaImage (VC10_state *state, bool compressed)
 
bool decrunchFile (byte *src, byte *dst, uint32 size)
 
void loadVGABeardFile (uint16 id)
 
void loadVGAVideoFile (uint16 id, uint8 type, bool useError=true)
 
bool loadVGASoundFile (uint16 id, uint8 type)
 
void openGameFile ()
 
void readGameFile (void *dst, uint32 offs, uint32 size)
 
virtual void timerProc ()
 
virtual void animateSprites ()
 
void dirtyClips ()
 
void dirtyClipCheck (int16 x, int16 y, int16 w, int16 h)
 
void dirtyBackGround ()
 
void restoreBackGround ()
 
void saveBackGround (VgaSprite *vsp)
 
void clearSurfaces ()
 
void displayScreen ()
 
void dumpVideoScript (const byte *src, bool singeOpcode)
 
virtual void dumpVgaFile (const byte *vga)
 
void dumpVgaScript (const byte *ptr, uint16 res, uint16 id)
 
void dumpVgaScriptAlways (const byte *ptr, uint16 res, uint16 id)
 
void dumpVgaBitmaps (uint16 zoneNum)
 
void dumpSingleBitmap (int file, int image, const byte *offs, int w, int h, byte base)
 
void dumpBitmap (const char *filename, const byte *offs, uint16 w, uint16 h, int flags, const byte *palette, byte base)
 
void palLoad (byte *pal, const byte *vga1, int a, int b)
 
void fillBackFromBackGround (uint16 height, uint16 width)
 
void fillBackFromFront ()
 
void fillBackGroundFromBack ()
 
void fillBackGroundFromFront ()
 
virtual void doOutput (const byte *src, uint len)
 
void clsCheck (WindowBlock *window)
 
virtual void quickLoadOrSave ()
 
byte * vc10_uncompressFlip (const byte *src, uint16 w, uint16 h)
 
byte * vc10_flip (const byte *src, uint16 w, uint16 h)
 
ItemgetNextItemPtrStrange ()
 
virtual bool loadGame (const Common::String &filename, bool restartMode=false)
 
virtual bool saveGame (uint slot, const char *caption)
 
void openTextWindow ()
 
void tidyIconArray (uint i)
 
virtual void windowNewLine (WindowBlock *window)
 
void windowScroll (WindowBlock *window)
 
virtual void windowDrawChar (WindowBlock *window, uint x, uint y, byte chr)
 
void loadMusic (uint16 track, bool forceSimon2GmData=false, bool useSimon2Remapping=false)
 
void playModule (uint16 music)
 
virtual void playMusic (uint16 music, uint16 track)
 
void stopMusic ()
 
void delay (uint delay)
 
void pause ()
 
void waitForMark (uint i)
 
void scrollScreen ()
 
void decodeColumn (byte *dst, const byte *src, uint16 height, uint16 pitch)
 
void decodeRow (byte *dst, const byte *src, uint16 width, uint16 pitch)
 
void hitarea_stuff_helper_2 ()
 
void fastFadeIn ()
 
void slowFadeIn ()
 
void fullFade ()
 
virtual void vcStopAnimation (uint16 zone, uint16 sprite)
 
virtual bool confirmOverWrite (WindowBlock *window)
 
int16 matchSaveGame (const char *name, uint16 max)
 
void disableFileBoxes ()
 
virtual void userGame (bool load)
 
void userGameBackSpace (WindowBlock *window, int x, byte b=0)
 
void fileError (WindowBlock *window, bool saveError)
 
int countSaveGames ()
 
virtual Common::String genSaveName (int slot) const
 
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
 
void defaultSyncSoundSettings ()
 

Protected Attributes

uint16 _numOpcodes
 
uint16 _opcode
 
VgaOpcodeProc _vga_opcode_table [100]
 
uint8 _numVideoOpcodes
 
const AGOSGameDescription *const _gameDescription
 
const byte * _vcPtr
 
uint16 _vcGetOutOfCode
 
uint32 * _gameOffsetsPtr
 
uint8 _numMusic
 
uint8 _numSFX
 
uint16 _numSpeech
 
uint16 _numZone
 
uint8 _numBitArray1
 
uint8 _numBitArray2
 
uint8 _numBitArray3
 
uint8 _numItemStore
 
uint16 _numVars
 
uint8 _vgaBaseDelay
 
uint8 _vgaPeriod
 
uint16 _musicIndexBase
 
uint16 _soundIndexBase
 
uint16 _tableIndexBase
 
uint16 _textIndexBase
 
uint32 _itemMemSize
 
uint32 _tableMemSize
 
uint32 _vgaMemSize
 
const GameSpecificSettingsgss
 
Common::KeyState _keyPressed
 
Common::File_gameFile
 
byte * _strippedTxtMem
 
byte * _textMem
 
uint32 _textSize
 
uint32 _stringTabNum
 
uint32 _stringTabPos
 
uint32 _stringTabSize
 
byte ** _stringTabPtr
 
Item ** _itemArrayPtr
 
uint32 _itemArraySize
 
uint32 _itemArrayInited
 
Common::Array< byte * > _itemHeap
 
byte * _iconFilePtr
 
const byte * _codePtr
 
byte ** _localStringtable
 
uint16 _stringIdLocalMin
 
uint16 _stringIdLocalMax
 
RoomState_roomStates
 
uint16 _numRoomStates
 
byte * _menuBase
 
byte * _roomsList
 
byte * _roomsListPtr
 
byte * _xtblList
 
byte * _xtablesHeapPtrOrg
 
uint32 _xtablesHeapCurPosOrg
 
Subroutine_xsubroutineListOrg
 
byte * _tblList
 
byte * _tablesHeapPtr
 
byte * _tablesHeapPtrOrg
 
byte * _tablesheapPtrNew
 
uint32 _tablesHeapSize
 
uint32 _tablesHeapCurPos
 
uint32 _tablesHeapCurPosOrg
 
uint32 _tablesHeapCurPosNew
 
Subroutine_subroutineListOrg
 
Subroutine_subroutineList
 
uint8 _recursionDepth
 
uint32 _lastVgaTick
 
uint16 _marks
 
bool _scanFlag
 
bool _scriptVar2
 
bool _runScriptReturn1
 
bool _runScriptCondition [40]
 
int16 _runScriptReturn [40]
 
bool _skipVgaWait
 
bool _noParentNotify
 
bool _beardLoaded
 
bool _litBoxFlag
 
bool _mortalFlag
 
uint16 _displayFlag
 
bool _syncFlag2
 
bool _inCallBack
 
bool _cepeFlag
 
bool _fastMode
 
bool _backFlag
 
Common::Language _language
 
bool _copyProtection
 
bool _pause
 
bool _speech
 
bool _subtitles
 
bool _vgaVar9
 
int16 _chanceModifier
 
bool _restoreWindow6
 
int16 _scrollX
 
int16 _scrollXMax
 
int16 _scrollY
 
int16 _scrollYMax
 
int16 _scrollCount
 
int16 _scrollFlag
 
uint16 _scrollWidth
 
uint16 _scrollHeight
 
const byte * _scrollImage
 
byte _boxStarHeight
 
bool _forceAscii
 
SubroutineLine_classLine
 
int16 _classMask
 
int16 _classMode1
 
int16 _classMode2
 
Item_findNextPtr
 
Subroutine_currentTable
 
SubroutineLine_currentLine
 
uint8 _agosMenu
 
byte _textMenu [10]
 
uint16 _currentRoom
 
uint16 _superRoomNumber
 
uint8 _wallOn
 
uint16 _hyperLink
 
uint16 _newLines
 
uint16 _oracleMaxScrollY
 
uint16 _noOracleScroll
 
uint16 _interactY
 
int16 _scriptVerb
 
int16 _scriptNoun1
 
int16 _scriptNoun2
 
int16 _scriptAdj1
 
int16 _scriptAdj2
 
uint16 _curWindow
 
WindowBlock_inputWindow
 
WindowBlock_textWindow
 
Item_subjectItem
 
Item_objectItem
 
Item_currentPlayer
 
Item_hitAreaObjectItem
 
HitArea_lastHitArea
 
HitArea_lastNameOn
 
HitArea_lastHitArea3
 
Item_hitAreaSubjectItem
 
HitArea_currentBox
 
HitArea_currentVerbBox
 
HitArea_lastVerbOn
 
uint16 _currentBoxNum
 
uint16 _needHitAreaRecalc
 
uint16 _verbHitArea
 
uint16 _defaultVerb
 
bool _iOverflow
 
bool _nameLocked
 
bool _dragAccept
 
bool _dragEnd
 
bool _dragFlag
 
bool _dragMode
 
uint8 _dragCount
 
HitArea_lastClickRem
 
uint16 _windowNum
 
int16 _printCharCurPos
 
int16 _printCharMaxPos
 
int16 _printCharPixelCount
 
uint16 _numLettersToPrint
 
uint8 _numTextBoxes
 
uint32 _lastMinute
 
uint32 _lastTime
 
uint32 _clockStopped
 
uint32 _gameStoppedClock
 
uint32 _timeStore
 
TimeEvent_firstTimeStruct
 
TimeEvent_pendingDeleteTimeEvent
 
bool _initMouse
 
Common::Point _mouse
 
Common::Point _mouseOld
 
byte * _mouseData
 
bool _animatePointer
 
byte _maxCursorWidth
 
byte _maxCursorHeight
 
byte _mouseAnim
 
byte _mouseAnimMax
 
byte _mouseCursor
 
byte _currentMouseAnim
 
byte _currentMouseCursor
 
byte _oldMouseAnimMax
 
byte _oldMouseCursor
 
uint16 _mouseHideCount
 
bool _mouseToggle
 
bool _leftButtonDown
 
bool _rightButtonDown
 
byte _leftButton
 
byte _leftButtonCount
 
byte _leftButtonOld
 
byte _oneClick
 
bool _clickOnly
 
bool _leftClick
 
bool _rightClick
 
bool _noRightClick
 
Item_dummyItem1
 
Item_dummyItem2
 
Item_dummyItem3
 
volatile uint16 _videoLockOut
 
uint16 _scrollUpHitArea
 
uint16 _scrollDownHitArea
 
bool _fastFadeOutFlag
 
byte _paletteFlag
 
bool _bottomPalette
 
uint16 _fastFadeCount
 
volatile uint16 _fastFadeInFlag
 
bool _neverFade
 
uint16 _screenWidth
 
uint16 _screenHeight
 
uint16 _internalWidth
 
uint16 _internalHeight
 
uint16 _noOverWrite
 
bool _rejectBlock
 
bool _exitCutscene
 
bool _picture8600
 
uint16 _soundFileId
 
int16 _lastMusicPlayed
 
int16 _nextMusicToPlay
 
bool _showPreposition
 
bool _showMessageFlag
 
bool _newDirtyClip
 
bool _wiped
 
uint16 _copyScnFlag
 
uint16 _vgaSpriteChanged
 
byte * _block
 
byte * _blockEnd
 
byte * _vgaMemPtr
 
byte * _vgaMemEnd
 
byte * _vgaMemBase
 
byte * _vgaFrozenBase
 
byte * _vgaRealBase
 
byte * _zoneBuffers
 
byte * _curVgaFile1
 
byte * _curVgaFile2
 
uint16 _syncCount
 
uint16 _frameCount
 
uint16 _zoneNumber
 
uint16 _vgaWaitFor
 
uint16 _lastVgaWaitFor
 
uint16 _vgaCurSpriteId
 
uint16 _vgaCurZoneNum
 
int16 _baseY
 
float _scale
 
Common::Rect _feebleRect
 
int16 _scaleX
 
int16 _scaleY
 
int16 _scaleWidth
 
int16 _scaleHeight
 
VgaTimerEntry_nextVgaTimerToProcess
 
uint8 _opcode177Var1
 
uint8 _opcode177Var2
 
uint8 _opcode178Var1
 
uint8 _opcode178Var2
 
Item_objectArray [50]
 
Item_itemStore [50]
 
uint16 _shortText [40]
 
uint16 _shortTextX [40]
 
uint16 _shortTextY [40]
 
uint16 _longText [40]
 
uint16 _longSound [40]
 
uint16 _bitArray [128]
 
uint16 _bitArrayTwo [16]
 
uint16 _bitArrayThree [16]
 
int16 * _variableArray
 
int16 * _variableArray2
 
int16 * _variableArrayPtr
 
WindowBlock_dummyWindow
 
WindowBlock_windowArray [80]
 
byte _fcsData1 [8]
 
bool _fcsData2 [8]
 
TextLocation _textLocation1
 
TextLocation _textLocation2
 
TextLocation _textLocation3
 
TextLocation _textLocation4
 
byte _awaitTwoByteToken
 
byte * _byteTokens
 
byte * _byteTokenStrings
 
byte * _twoByteTokens
 
byte * _twoByteTokenStrings
 
byte * _secondTwoByteTokenStrings
 
byte * _thirdTwoByteTokenStrings
 
byte _textBuffer [180]
 
int _textCount
 
int _freeStringSlot
 
byte _stringReturnBuffer [2][180]
 
HitArea _hitAreas [250]
 
HitArea_hitAreaList
 
AnimTable _screenAnim1 [90]
 
VgaPointersEntry _vgaBufferPointers [450]
 
VgaSprite _vgaSprites [200]
 
VgaSleepStruct _onStopTable [60]
 
VgaSleepStruct _waitEndTable [60]
 
VgaSleepStruct _waitSyncTable [60]
 
const uint16 * _pathFindArray [100]
 
uint8 _pathValues [400]
 
uint16 _PVCount
 
uint16 _GPVCount
 
uint8 _pathValues1 [400]
 
uint16 _PVCount1
 
uint16 _GPVCount1
 
uint8 _currentPalette [768]
 
uint8 _displayPalette [768]
 
byte * _planarBuf
 
byte _videoBuf1 [32000]
 
uint16 _videoWindows [128]
 
const byte * _pak98Buf
 
byte _paletteModNext
 
uint8 _window3Flag
 
uint8 _window4Flag
 
uint8 _window6Flag
 
uint16 _moveXMin
 
uint16 _moveYMin
 
uint16 _moveXMax
 
uint16 _moveYMax
 
VgaTimerEntry _vgaTimerList [205]
 
WindowBlock_windowList
 
byte _lettersToPrintBuf [80]
 
MidiPlayer_midi
 
bool _midiEnabled
 
int _vgaTickCounter
 
Audio::SoundHandle _modHandle
 
Sound_sound
 
bool _effectsMuted
 
bool _ambientMuted
 
bool _musicMuted
 
uint16 _musicVolume
 
uint16 _effectsVolume
 
bool _useDigitalSfx
 
uint8 _saveGameNameLen
 
uint16 _saveLoadRowCurPos
 
uint16 _numSaveGameRows
 
bool _saveDialogFlag
 
bool _saveOrLoad
 
bool _saveLoadEdit
 
byte _saveLoadType
 
byte _saveLoadSlot
 
char _saveLoadName [108]
 
char _saveBuf [200]
 
Graphics::Surface_backGroundBuf
 
Graphics::Surface_backBuf
 
Graphics::Surface_scaleBuf
 
Graphics::Surface_window4BackScn
 
Graphics::Surface_window6BackScn
 
Common::RandomSource _rnd
 
const byte * _vc10BasePtrOld
 
byte _hebrewCharWidths [32]
 
- Protected Attributes inherited from Engine
Common::TimerManager_timer
 
Common::EventManager_eventMan
 
Common::SaveFileManager_saveFileMan
 
GUI::Dialog_mainMenuDialog
 
const Common::String _targetName
 

Static Protected Attributes

static const byte SIMON1_RHYTHM_SFX []
 
static const uint16 MUSIC_INDEX_BASE_SIMON2_GM = 1128 / 4
 
static const uint16 MUSIC_INDEX_BASE_SIMON2_MT32 = (1128 + 612) / 4
 

Additional Inherited Members

- Public Types inherited from Engine
enum  EngineFeature {
  kSupportsSubtitleOptions, kSupportsReturnToLauncher, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
  kSupportsChangingOptionsDuringRuntime, kSupportsArbitraryResolutions, kSupportsHelp, kSupportsQuitDialogOverride
}
 
- Static Public Member Functions inherited from Engine
static void quitGame ()
 
static bool shouldQuit ()
 
static MetaEngineDetectiongetMetaEngineDetection ()
 
static bool warnUserAboutUnsupportedGame (Common::String msg=Common::String())
 
static void errorUnsupportedGame (Common::String extraMsg)
 

Member Function Documentation

◆ run()

Common::Error AGOS::AGOSEngine::run ( )
inlineoverrideprotectedvirtual

Initialize the engine and start its main loop.

Returns
kNoError on success, otherwise an error code.

Implements Engine.

◆ hasFeature()

bool AGOS::AGOSEngine::hasFeature ( EngineFeature  f) const
overrideprotectedvirtual

Determine whether the engine supports the specified feature.

Reimplemented from Engine.

◆ syncSoundSettings()

void AGOS::AGOSEngine::syncSoundSettings ( )
overrideprotectedvirtual

Notify the engine that the sound settings in the config manager might have changed and that it should adjust any internal volume (and other) values accordingly.

The default implementation sets the volume levels of all mixer sound types according to the config entries of the active domain. When overwriting, call the default implementation first, then adjust the volumes further (if required).

Note
When setting volume levels, respect the "mute" config entry.
The volume for the plain sound type is reset to the maximum volume. If the engine can associate its own value for this type, it needs to overwrite this member and set it accordingly.

Reimplemented from Engine.

◆ pauseEngineIntern()

void AGOS::AGOSEngine::pauseEngineIntern ( bool  pause)
overrideprotectedvirtual

Actual implementation of pauseEngine by subclasses.

See also
Engine::pauseEngine

Reimplemented from Engine.


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