ScummVM
Scumm::ScummEngine Class Referenceabstract

Base class for all SCUMM engines. More...

#include <scumm.h>

Inheritance diagram for Scumm::ScummEngine:
Collaboration diagram for Scumm::ScummEngine:

Classes

struct  ScaleSlot
 

Public Member Functions

 ScummEngine (OSystem *syst, const DetectorResult &dr)
 
virtual ~ScummEngine ()
 
Common::Error init ()
 
Common::Error go ()
 
virtual Common::Error run ()
 Init the engine and start its main loop. 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 bool hasFeature (EngineFeature f) const
 Determine whether the engine supports the specified feature. More...
 
virtual void syncSoundSettings ()
 Notify the engine that the sound settings in the config manager may have changed and that it hence should adjust any internal volume etc. More...
 
virtual Common::Error loadGameState (int slot)
 Load a game state. More...
 
virtual bool canLoadGameStateCurrently ()
 Indicates whether a game state can be loaded. More...
 
virtual Common::Error saveGameState (int slot, const Common::String &desc)
 Save a game state. More...
 
virtual bool canSaveGameStateCurrently ()
 Indicates whether a game state can be saved. More...
 
virtual void pauseEngineIntern (bool pause)
 Actual implementation of pauseEngine by subclasses. More...
 
void parseEvents ()
 
void pauseGame ()
 
void restart ()
 
char displayMessage (const char *altButton, const char *message,...) GCC_PRINTF(3
 
int32scummVar (byte var, const char *varName, const char *file, int line)
 
int32 scummVar (byte var, const char *varName, const char *file, int line) const
 
void NES_loadCostumeSet (int n)
 
virtual Common::String generateFilename (const int room) const
 
bool getSavegameName (int slot, Common::String &desc)
 
void listSavegames (bool *marks, int num)
 
void requestSave (int slot, const Common::String &name)
 
void requestLoad (int slot)
 
Common::String getTargetName () const
 
void runScript (int script, bool freezeResistant, bool recursive, int *lvarptr, int cycle=0)
 
void stopScript (int script)
 
void nukeArrays (byte scriptSlot)
 
bool openFile (BaseScummFile &file, const Common::String &filename, bool resourceFile=false)
 
bool isMacM68kIMuse () const
 Is this game a Mac m68k v5 game with iMuse? More...
 
int getResourceSize (ResType type, ResId idx)
 
bytegetResourceAddress (ResType type, ResId idx)
 
virtual bytegetStringAddress (ResId idx)
 
bytegetStringAddressVar (int i)
 
void ensureResourceLoaded (ResType type, ResId idx)
 
const bytefindResourceData (uint32 tag, const byte *ptr)
 
const bytefindResource (uint32 tag, const byte *ptr)
 
int getResourceDataSize (const byte *ptr) const
 
void dumpResource (const char *tag, int index, const byte *ptr, int length=-1)
 
int getInventorySlot ()
 
int findInventory (int owner, int index)
 
int getInventoryCount (int owner)
 
bool getClass (int obj, int cls) const
 
int getObjectOrActorXY (int object, int &x, int &y)
 
int getDist (int x, int y, int x2, int y2)
 
bool isValidActor (int id) const
 
ActorderefActor (int id, const char *errmsg=0) const
 
ActorderefActorSafe (int id, const char *errmsg) const
 
virtual void actorTalk (const byte *msg)
 
void stopTalk ()
 
int getTalkingActor ()
 
void setTalkingActor (int variable)
 
bool isCostumeInUse (int i) const
 
bool isLightOn () const
 
virtual int getCurrentLights () const
 
uint8getHEPaletteSlot (uint16 palSlot)
 
uint16 get16BitColor (uint8 r, uint8 g, uint8 b)
 
int remapPaletteColor (int r, int g, int b, int threshold)
 
void readPCEPalette (const byte **ptr, byte **dest, int numEntries)
 
void colorPCEToRGB (uint16 color, byte *r, byte *g, byte *b)
 
void setPCETextPalette (uint8 color)
 
void markRectAsDirty (VirtScreenNumber virt, int left, int right, int top, int bottom, int dirtybit=0)
 
void markRectAsDirty (VirtScreenNumber virt, const Common::Rect &rect, int dirtybit=0)
 
VirtScreenfindVirtScreen (int y)
 
bytegetMaskBuffer (int x, int y, int z)
 
byte getNumBoxes ()
 
bytegetBoxMatrixBaseAddr ()
 
bytegetBoxConnectionBase (int box)
 
int getNextBox (byte from, byte to)
 Compute if there is a way that connects box 'from' with box 'to'. More...
 
void setBoxFlags (int box, int val)
 
void setBoxScale (int box, int b)
 
bool checkXYInBoxBounds (int box, int x, int y)
 
BoxCoords getBoxCoordinates (int boxnum)
 
byte getMaskFromBox (int box)
 
BoxgetBoxBaseAddr (int box)
 
byte getBoxFlags (int box)
 
int getBoxScale (int box)
 
int getScale (int box, int x, int y)
 
int getScaleFromSlot (int slot, int x, int y)
 
virtual void translateText (const byte *text, byte *trans_buff)
 
byteget2byteCharPtr (int idx)
 
bool towns_isRectInStringBox (int x1, int y1, int x2, int y2)
 
- 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 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 Common::Serializable
virtual ~Serializable ()
 

Static Public Member Functions

static Common::String makeSavegameName (const Common::String &target, int slot, bool temporary)
 
static bool querySaveMetaInfos (const char *target, int slot, int heversion, Common::String &desc, Graphics::Surface *&thumbnail, SaveStateMetaInfos *&timeInfos)
 
- 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

IMuse_imuse
 
IMuseDigital_imuseDigital
 
MusicEngine_musicEngine
 
Player_Towns_townsPlayer
 
Sound_sound
 
VerbSlot_verbs
 
ObjectData_objs
 
ScummDebugger_debugger
 
GameSettings _game
 
uint8 _gameMD5 [16]
 
Common::RandomSource _rnd
 Random number generator. More...
 
Gdi_gdi
 Graphics manager. More...
 
ResourceManager_res
 Central resource data. More...
 
int _numLocalScripts
 
int _numImages
 
int _numRooms
 
int _numScripts
 
int _numSounds
 
int _numCostumes
 
int32 _numCharsets
 
BaseCostumeLoader_costumeLoader
 
BaseCostumeRenderer_costumeRenderer
 
int _NESCostumeSet
 
byte_NEScostdesc
 
byte_NEScostlens
 
byte_NEScostoffs
 
byte_NEScostdata
 
byte _NESPatTable [2][4096]
 
byte _NESPalette [2][16]
 
byte _NESBaseTiles
 
int _NESStartStrip
 
byte _currentRoom
 
int _roomResource
 
bool _egoPositioned
 
FilenamePattern _filenamePattern
 
Common::String _containerFile
 The name of the (macintosh/rescumm style) container file, if any. More...
 
byte OF_OWNER_ROOM
 
uint32_classData
 
byte _actorToPrintStrFor
 
byte _V1TalkingActor
 
int _sentenceNum
 
SentenceTab _sentence [NUM_SENTENCE]
 
StringTab _string [6]
 
byte _haveMsg
 
int16 _talkDelay
 
int _NES_lastTalkingActor
 
int _NES_talkColor
 
int _roomHeight
 
int _roomWidth
 
int _screenHeight
 
int _screenWidth
 
VirtScreen _virtscr [4]
 
CameraData camera
 
int _screenStartStrip
 
int _screenEndStrip
 
int _screenTop
 
Common::RenderMode _renderMode
 
uint8 _bytesPerPixel
 
Graphics::PixelFormat _outputPixelFormat
 
byte _roomPalette [256]
 
byte_shadowPalette
 
bool _skipDrawObject
 
int _voiceMode
 
byte _HEV7ActorPalette [256]
 
uint8_hePalettes
 
uint16 _hePaletteSlot
 
uint16_16BitPalette
 
byte_verbPalette
 
ScummEngine_v0_Delays _V0Delay
 
uint16 _extraBoxFlags [65]
 
CharsetRenderer_charset
 
byte _charsetColorMap [16]
 
Graphics::Surface _textSurface
 All text is normally rendered into this overlay surface. More...
 
int _textSurfaceMultiplier
 
Common::Language _language
 
bool _useCJKMode
 
int _2byteHeight
 
int _2byteWidth
 
byte _newLineCharacter
 
byte VAR_KEYPRESS
 
byte VAR_SYNC
 
byte VAR_EGO
 
byte VAR_CAMERA_POS_X
 
byte VAR_HAVE_MSG
 
byte VAR_ROOM
 
byte VAR_OVERRIDE
 
byte VAR_MACHINE_SPEED
 
byte VAR_ME
 
byte VAR_NUM_ACTOR
 
byte VAR_CURRENT_LIGHTS
 
byte VAR_CURRENTDRIVE
 
byte VAR_CURRENTDISK
 
byte VAR_TMR_1
 
byte VAR_TMR_2
 
byte VAR_TMR_3
 
byte VAR_MUSIC_TIMER
 
byte VAR_ACTOR_RANGE_MIN
 
byte VAR_ACTOR_RANGE_MAX
 
byte VAR_CAMERA_MIN_X
 
byte VAR_CAMERA_MAX_X
 
byte VAR_TIMER_NEXT
 
byte VAR_VIRT_MOUSE_X
 
byte VAR_VIRT_MOUSE_Y
 
byte VAR_ROOM_RESOURCE
 
byte VAR_LAST_SOUND
 
byte VAR_CUTSCENEEXIT_KEY
 
byte VAR_OPTIONS_KEY
 
byte VAR_TALK_ACTOR
 
byte VAR_CAMERA_FAST_X
 
byte VAR_SCROLL_SCRIPT
 
byte VAR_ENTRY_SCRIPT
 
byte VAR_ENTRY_SCRIPT2
 
byte VAR_EXIT_SCRIPT
 
byte VAR_EXIT_SCRIPT2
 
byte VAR_VERB_SCRIPT
 
byte VAR_SENTENCE_SCRIPT
 
byte VAR_INVENTORY_SCRIPT
 
byte VAR_CUTSCENE_START_SCRIPT
 
byte VAR_CUTSCENE_END_SCRIPT
 
byte VAR_CHARINC
 
byte VAR_WALKTO_OBJ
 
byte VAR_DEBUGMODE
 
byte VAR_HEAPSPACE
 
byte VAR_RESTART_KEY
 
byte VAR_PAUSE_KEY
 
byte VAR_MOUSE_X
 
byte VAR_MOUSE_Y
 
byte VAR_TIMER
 
byte VAR_TIMER_TOTAL
 
byte VAR_SOUNDCARD
 
byte VAR_VIDEOMODE
 
byte VAR_MAINMENU_KEY
 
byte VAR_FIXEDDISK
 
byte VAR_CURSORSTATE
 
byte VAR_USERPUT
 
byte VAR_SOUNDRESULT
 
byte VAR_TALKSTOP_KEY
 
byte VAR_FADE_DELAY
 
byte VAR_NOSUBTITLES
 
byte VAR_SOUNDPARAM
 
byte VAR_SOUNDPARAM2
 
byte VAR_SOUNDPARAM3
 
byte VAR_INPUTMODE
 
byte VAR_MEMORY_PERFORMANCE
 
byte VAR_VIDEO_PERFORMANCE
 
byte VAR_ROOM_FLAG
 
byte VAR_GAME_LOADED
 
byte VAR_NEW_ROOM
 
byte VAR_V5_TALK_STRING_Y
 
byte VAR_ROOM_WIDTH
 
byte VAR_ROOM_HEIGHT
 
byte VAR_SUBTITLES
 
byte VAR_V6_EMSSPACE
 
byte VAR_CAMERA_POS_Y
 
byte VAR_CAMERA_MIN_Y
 
byte VAR_CAMERA_MAX_Y
 
byte VAR_CAMERA_THRESHOLD_X
 
byte VAR_CAMERA_THRESHOLD_Y
 
byte VAR_CAMERA_SPEED_X
 
byte VAR_CAMERA_SPEED_Y
 
byte VAR_CAMERA_ACCEL_X
 
byte VAR_CAMERA_ACCEL_Y
 
byte VAR_CAMERA_DEST_X
 
byte VAR_CAMERA_DEST_Y
 
byte VAR_CAMERA_FOLLOWED_ACTOR
 
byte VAR_VERSION_KEY
 
byte VAR_DEFAULT_TALK_DELAY
 
byte VAR_CUSTOMSCALETABLE
 
byte VAR_BLAST_ABOVE_TEXT
 
byte VAR_VOICE_MODE
 
byte VAR_MUSIC_BUNDLE_LOADED
 
byte VAR_VOICE_BUNDLE_LOADED
 
byte VAR_LEFTBTN_DOWN
 
byte VAR_RIGHTBTN_DOWN
 
byte VAR_LEFTBTN_HOLD
 
byte VAR_RIGHTBTN_HOLD
 
byte VAR_SAVELOAD_SCRIPT
 
byte VAR_SAVELOAD_SCRIPT2
 
byte VAR_CHARSET_MASK
 
byte VAR_V6_SOUNDMODE
 
byte VAR_CHARCOUNT
 
byte VAR_VERB_ALLOWED
 
byte VAR_ACTIVE_VERB
 
byte VAR_ACTIVE_OBJECT1
 
byte VAR_ACTIVE_OBJECT2
 
byte VAR_REDRAW_ALL_ACTORS
 
byte VAR_SKIP_RESET_TALK_ACTOR
 
byte VAR_SOUND_CHANNEL
 
byte VAR_TALK_CHANNEL
 
byte VAR_SOUNDCODE_TMR
 
byte VAR_RESERVED_SOUND_CHANNELS
 
byte VAR_MAIN_SCRIPT
 
byte VAR_SCRIPT_CYCLE
 
byte VAR_NUM_SCRIPT_CYCLES
 
byte VAR_QUIT_SCRIPT
 
byte VAR_NUM_GLOBAL_OBJS
 
Graphics::FontSJIS_cjkFont
 
byte _townsPaletteFlags
 
byte _townsCharsetColorMap [16]
 
int hotspotX
 
int hotspotY
 
int width
 
int height
 
byte animate
 
byte animateIndex
 
int8 state
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 

Protected Member Functions

virtual void setupScumm ()
 
virtual void resetScumm ()
 
virtual void setupScummVars ()
 
virtual void resetScummVars ()
 
void setupCharsetRenderer ()
 
void setupCostumeRenderer ()
 
virtual void loadLanguageBundle ()
 
void loadCJKFont ()
 
void setupMusic (int midi)
 
void setTalkSpeed (int talkspeed)
 
int getTalkSpeed ()
 
virtual void scummLoop (int delta)
 
virtual void scummLoop_updateScummVars ()
 
virtual void scummLoop_handleSaveLoad ()
 
virtual void scummLoop_handleDrawing ()
 
virtual void scummLoop_handleActors ()=0
 
virtual void scummLoop_handleEffects ()
 
virtual void scummLoop_handleSound ()
 
virtual void runBootscript ()
 
virtual void parseEvent (Common::Event event)
 
void waitForTimer (int msec_delay)
 
virtual void processInput ()
 
virtual void processKeyboard (Common::KeyState lastKeyHit)
 
virtual void clearClickedStatus ()
 
void updateCursor ()
 
virtual void animateCursor ()
 
virtual void updatePalette ()
 
virtual void resetCursors ()
 
virtual int runDialog (Dialog &dialog)
 
void confirmExitDialog ()
 
void confirmRestartDialog ()
 
void pauseDialog ()
 
void messageDialog (const char *message)
 
void versionDialog ()
 
bool saveState (Common::WriteStream *out, bool writeHeader=true)
 
bool saveState (int slot, bool compat, Common::String &fileName)
 
bool loadState (int slot, bool compat)
 
bool loadState (int slot, bool compat, Common::String &fileName)
 
virtual void saveLoadWithSerializer (Common::Serializer &s)
 
void saveResource (Common::Serializer &ser, ResType type, ResId idx)
 
void loadResource (Common::Serializer &ser, ResType type, ResId idx)
 
void loadResourceOLD (Common::Serializer &ser, ResType type, ResId idx)
 
virtual Common::SeekableReadStreamopenSaveFileForReading (int slot, bool compat, Common::String &fileName)
 
virtual Common::WriteStreamopenSaveFileForWriting (int slot, bool compat, Common::String &fileName)
 
Common::String makeSavegameName (int slot, bool temporary) const
 
int getKeyState (int key)
 
void saveInfos (Common::WriteStream *file)
 
virtual void setupOpcodes ()=0
 
void executeOpcode (byte i)
 
const char * getOpcodeDesc (byte i)
 
void initializeLocals (int slot, int *vars)
 
int getScriptSlot ()
 
void startScene (int room, Actor *a, int b)
 Start a 'scene' by loading the specified room with the given main actor. More...
 
bool startManiac ()
 
void runObjectScript (int script, int entry, bool freezeResistant, bool recursive, int *vars, int slot=-1, int cycle=0)
 
void runScriptNested (int script)
 
void executeScript ()
 Execute a script - Read opcode, and execute it from the table. More...
 
void updateScriptPtr ()
 
virtual void runInventoryScript (int i)
 
void inventoryScriptIndy3Mac ()
 
virtual void checkAndRunSentenceScript ()
 
void runExitScript ()
 
void runEntryScript ()
 
void runQuitScript ()
 
void runAllScripts ()
 
void freezeScripts (int scr)
 
void unfreezeScripts ()
 
bool isScriptInUse (int script) const
 
bool isRoomScriptRunning (int script) const
 
bool isScriptRunning (int script) const
 
void killAllScriptsExceptCurrent ()
 
void killScriptsAndResources ()
 
void decreaseScriptDelay (int amount)
 
void stopObjectCode ()
 
void stopObjectScript (int script)
 
void getScriptBaseAddress ()
 
void resetScriptPointer ()
 
int getVerbEntrypoint (int obj, int entry)
 
void refreshScriptPointer ()
 This method checks whether the resource that contains the active script moved, and if so, updates the script pointer accordingly. More...
 
byte fetchScriptByte ()
 
virtual uint fetchScriptWord ()
 
virtual int fetchScriptWordSigned ()
 
uint fetchScriptDWord ()
 
int fetchScriptDWordSigned ()
 
void ignoreScriptWord ()
 
void ignoreScriptByte ()
 
void push (int a)
 
int pop ()
 
virtual int readVar (uint var)
 
virtual void writeVar (uint var, int value)
 
void beginCutscene (int *args)
 
void endCutscene ()
 
void abortCutscene ()
 
void beginOverride ()
 
void endOverride ()
 
void copyScriptString (byte *dst)
 
int resStrLen (const byte *src)
 Given a pointer to a Scumm string, this function returns the total byte length of the string data in that resource. More...
 
void doSentence (int c, int b, int a)
 
virtual void allocateArrays ()
 
void openRoom (int room)
 
void closeRoom ()
 
void deleteRoomOffsets ()
 Delete the currently loaded room offsets. More...
 
virtual void readRoomsOffsets ()
 Read room offsets. More...
 
void askForDisk (const char *filename, int disknum)
 
bool openResourceFile (const Common::String &filename, byte encByte)
 
void loadPtrToResource (ResType type, ResId idx, const byte *ptr)
 
virtual int readResTypeList (ResType type)
 
int loadResource (ResType type, ResId idx)
 
int getResourceRoomNr (ResType type, ResId idx)
 
virtual uint32 getResourceRoomOffset (ResType type, ResId idx)
 
int readSoundResource (ResId idx)
 
int readSoundResourceSmallHeader (ResId idx)
 
bool isResourceInUse (ResType type, ResId idx) const
 
virtual void setupRoomSubBlocks ()
 Init some static room data after a room has been loaded. More...
 
virtual void resetRoomSubBlocks ()
 Init some dynamic room data after a room has been loaded. More...
 
virtual void clearRoomObjects ()
 
virtual void resetRoomObjects ()
 
virtual void resetRoomObject (ObjectData *od, const byte *room, const byte *searchptr=NULL)
 
virtual void readArrayFromIndexFile ()
 
virtual void readMAXS (int blockSize)=0
 
virtual void readGlobalObjects ()
 
virtual void readIndexFile ()
 
virtual void readIndexBlock (uint32 block, uint32 itemsize)
 
virtual void loadCharset (int i)
 
void nukeCharset (int i)
 
void markObjectRectAsDirty (int obj)
 Mark the rectangle covered by the given object as dirty, thus eventually ensuring a redraw of that area. More...
 
virtual void loadFlObject (uint object, uint room)
 
void nukeFlObjects (int min, int max)
 
int findFlObjectSlot ()
 
int findLocalObjectSlot ()
 
void addObjectToInventory (uint obj, uint room)
 
void updateObjectStates ()
 
void putClass (int obj, int cls, bool set)
 
int getState (int obj)
 
void putState (int obj, int state)
 
void setObjectState (int obj, int state, int x, int y)
 
int getOwner (int obj) const
 
void putOwner (int obj, int owner)
 
void setOwnerOf (int obj, int owner)
 
void clearOwnerOf (int obj)
 
int getObjectRoom (int obj) const
 
virtual bool objIsActor (int obj)
 
virtual int objToActor (int obj)
 
virtual int actorToObj (int actor)
 
int getObjX (int obj)
 
int getObjY (int obj)
 
void getObjectXYPos (int object, int &x, int &y)
 
void getObjectXYPos (int object, int &x, int &y, int &dir)
 Return the position of an object. More...
 
int getObjOldDir (int obj)
 
int getObjNewDir (int obj)
 
int getObjectIndex (int object) const
 
int getObjectImageCount (int object)
 
int whereIsObject (int object) const
 
int findObject (int x, int y)
 
void findObjectInRoom (FindObjectInRoom *fo, byte findWhat, uint object, uint room)
 
int getObjActToObjActDist (int a, int b)
 
const bytegetObjOrActorName (int obj)
 
void setObjectName (int obj)
 
void addObjectToDrawQue (int object)
 
void removeObjectFromDrawQue (int object)
 
void clearDrawObjectQueue ()
 
void processDrawQue ()
 
virtual void clearDrawQueues ()
 
uint32 getOBCDOffs (int object) const
 
bytegetOBCDFromObject (int obj, bool v0CheckInventory=true)
 
const bytegetOBIMFromObjectData (const ObjectData &od)
 
const bytegetObjectImage (const byte *ptr, int state)
 
virtual int getObjectIdFromOBIM (const byte *obim)
 
virtual void handleMouseOver (bool updateInventory)
 
virtual void redrawVerbs ()
 
virtual void checkExecVerbs ()
 
void verbMouseOver (int verb)
 
int findVerbAtPos (int x, int y) const
 
virtual void drawVerb (int verb, int mode)
 
virtual void runInputScript (int clickArea, int val, int mode)
 
void restoreVerbBG (int verb)
 
void drawVerbBitmap (int verb, int x, int y)
 
int getVerbSlot (int id, int mode) const
 
void killVerb (int slot)
 
void setVerbObject (uint room, uint object, uint verb)
 
void walkActors ()
 
void playActorSounds ()
 
void redrawAllActors ()
 
void setActorRedrawFlags ()
 
void putActors ()
 
void showActors ()
 
void resetV1ActorTalkColor ()
 
void resetActorBgs ()
 
virtual void processActors ()
 
void processUpperActors ()
 
virtual int getActorFromPos (int x, int y)
 
void initScreens (int b, int h)
 
void initVirtScreen (VirtScreenNumber slot, int top, int width, int height, bool twobufs, bool scrollable)
 
void initBGBuffers (int height)
 
void initCycl (const byte *ptr)
 
void decodeNESBaseTiles ()
 
void drawObject (int obj, int arg)
 
void drawRoomObjects (int arg)
 
void drawRoomObject (int i, int arg)
 
void drawBox (int x, int y, int x2, int y2, int color)
 
void moveScreen (int dx, int dy, int height)
 Moves the screen content by the offset specified via dx/dy. More...
 
void restoreBackground (Common::Rect rect, byte backcolor=0)
 
void redrawBGStrip (int start, int num)
 
virtual void redrawBGAreas ()
 Redraw background as needed, i.e. More...
 
void cameraMoved ()
 
void setCameraAtEx (int at)
 
virtual void setCameraAt (int pos_x, int pos_y)
 
virtual void setCameraFollows (Actor *a, bool setCamera=false)
 
virtual void moveCamera ()
 
virtual void panCameraTo (int x, int y)
 
void clampCameraPos (Common::Point *pt)
 
void actorFollowCamera (int act)
 
const bytegetPalettePtr (int palindex, int room)
 
void setPaletteFromTable (const byte *ptr, int numcolor, int firstIndex=0)
 
void resetPalette ()
 
void setCurrentPalette (int pal)
 
void setRoomPalette (int pal, int room)
 
void setPCEPaletteFromPtr (const byte *ptr)
 
void setAmigaPaletteFromPtr (const byte *ptr)
 
virtual void setPaletteFromPtr (const byte *ptr, int numcolor=-1)
 
virtual void setPalColor (int index, int r, int g, int b)
 
void setDirtyColors (int min, int max)
 
const bytefindPalInPals (const byte *pal, int index)
 
void swapPalColors (int a, int b)
 
virtual void copyPalColor (int dst, int src)
 
void cyclePalette ()
 
void stopCycle (int i)
 
virtual void palManipulateInit (int resID, int start, int end, int time)
 
void palManipulate ()
 
void moveMemInPalRes (int start, int end, byte direction)
 Perform color cycling on the palManipulate data, too, otherwise color cycling will be disturbed by the palette fade. More...
 
void setShadowPalette (int slot, int redScale, int greenScale, int blueScale, int startColor, int endColor)
 
void setShadowPalette (int redScale, int greenScale, int blueScale, int startColor, int endColor, int start, int end)
 
virtual void darkenPalette (int redScale, int greenScale, int blueScale, int startColor, int endColor)
 
void setCursorFromBuffer (const byte *ptr, int width, int height, int pitch)
 
virtual void drawDirtyScreenParts ()
 Update all dirty screen areas. More...
 
void updateDirtyScreen (VirtScreenNumber slot)
 Blit the dirty data from the given VirtScreen to the display. More...
 
void drawStripToScreen (VirtScreen *vs, int x, int w, int t, int b)
 Blit the specified rectangle from the given virtual screen to the display. More...
 
void ditherCGA (byte *dst, int dstPitch, int x, int y, int width, int height) const
 
void fadeIn (int effect)
 
void fadeOut (int effect)
 
void setScrollBuffer ()
 
void unkScreenEffect6 ()
 
void transitionEffect (int a)
 Perform a transition effect. More...
 
void dissolveEffect (int width, int height)
 Update width*height areas of the screen, in random order, until the whole screen has been updated. More...
 
void scrollEffect (int dir)
 
void setShake (int mode)
 
void upgradeGfxUsageBits ()
 
void setGfxUsageBit (int strip, int bit)
 
void clearGfxUsageBit (int strip, int bit)
 
bool testGfxUsageBit (int strip, int bit)
 
bool testGfxAnyUsageBits (int strip)
 
bool testGfxOtherUsageBits (int strip, int bit)
 
void amigaPaletteFindFirstUsedColor ()
 
void mapRoomPalette (int idx)
 
int remapRoomPaletteColor (int r, int g, int b)
 
void mapVerbPalette (int idx)
 
int remapVerbPaletteColor (int r, int g, int b)
 
void setScaleSlot (int slot, int x1, int y1, int scale1, int x2, int y2, int scale2)
 
void setBoxScaleSlot (int box, int slot)
 
void convertScaleTableToScaleSlot (int slot)
 Convert a rtScaleTable resource to a corresponding scale slot entry. More...
 
void calcItineraryMatrix (byte *itineraryMatrix, int num)
 Computes shortest paths and stores them in the itinerary matrix. More...
 
void createBoxMatrix ()
 
virtual bool areBoxesNeighbors (int i, int j)
 Check if two boxes are neighbors. More...
 
void restoreCharsetBg ()
 
void clearCharsetMask ()
 
void clearTextSurface ()
 
virtual void initCharset (int charset)
 
virtual void printString (int m, const byte *msg)
 
virtual bool handleNextCharsetCode (Actor *a, int *c)
 
virtual void CHARSET_1 ()
 
bool newLine ()
 
void drawString (int a, const byte *msg)
 
void debugMessage (const byte *msg)
 
void showMessageDialog (const byte *msg)
 
virtual int convertMessageToString (const byte *msg, byte *dst, int dstSize)
 
int convertIntMessage (byte *dst, int dstSize, int var)
 
int convertVerbMessage (byte *dst, int dstSize, int var)
 
int convertNameMessage (byte *dst, int dstSize, int var)
 
int convertStringMessage (byte *dst, int dstSize, int var)
 
void towns_drawStripToScreen (VirtScreen *vs, int dstX, int dstY, int srcX, int srcY, int w, int h)
 
void towns_setPaletteFromPtr (const byte *ptr, int numcolor=-1)
 
void towns_setTextPaletteFromPtr (const byte *ptr)
 
void towns_setupPalCycleField (int x1, int y1, int x2, int y2)
 
void towns_processPalCycleField ()
 
void towns_resetPalCycleFields ()
 
void towns_restoreCharsetBg ()
 
- Protected Member Functions inherited from Engine
bool shouldPerformAutoSave (int lastSaveTime)
 Indicate whether an autosave should be performed. More...
 

Static Protected Member Functions

static bool loadInfos (Common::SeekableReadStream *file, SaveStateMetaInfos *stuff)
 

Protected Attributes

VirtualMachineState vm
 
bool _oldSoundsPaused
 
Dialog_pauseDialog
 
Dialog_messageDialog
 
Dialog_versionDialog
 
byte _fastMode
 
byte _numActors
 
Actor ** _actors
 
Actor ** _sortedActors
 
byte_arraySlot
 
uint16_inventory
 
uint16_newNames
 
int16 _varwatch
 
int32_roomVars
 
int32_scummVars
 
byte_bitVars
 
int _numVariables
 
int _numBitVariables
 
int _numLocalObjects
 
int _numGlobalObjects
 
int _numArray
 
int _numVerbs
 
int _numFlObject
 
int _numInventory
 
int _numNewNames
 
int _numGlobalScripts
 
int _numRoomVariables
 
int _numPalettes
 
int _numSprites
 
int _numTalkies
 
int _numUnk
 
int _HEHeapSize
 
int _curPalIndex
 
Common::KeyState _keyPressed
 
bool _keyDownMap [512]
 
Common::Point _mouse
 
Common::Point _virtualMouse
 
uint16 _mouseAndKeyboardStat
 
byte _leftBtnPressed
 
byte _rightBtnPressed
 
uint32 _lastInputScriptTime
 Last time runInputScript was run (measured in terms of OSystem::getMillis()). More...
 
int _bootParam
 The bootparam, to be passed to the script 1, the bootscript. More...
 
bool _dumpScripts
 
bool _hexdumpScripts
 
bool _showStack
 
bool _debugMode
 
byte _saveLoadFlag
 
byte _saveLoadSlot
 
uint32 _lastSaveTime
 
bool _saveTemporaryState
 
Common::String _saveLoadFileName
 
Common::String _saveLoadDescription
 
uint32 _localScriptOffsets [1024]
 
const byte_scriptPointer
 
const byte_scriptOrgPointer
 
const byte *const * _lastCodePtr
 
byte _opcode
 
byte _currentScript
 
int _scummStackPos
 
int _vmStack [256]
 
OpcodeEntry _opcodes [256]
 
BaseScummFile_fileHandle
 
uint32 _fileOffset
 
int _resourceHeaderSize
 
byte _resourceMapper [128]
 
const byte_resourceLastSearchBuf
 
uint32 _resourceLastSearchSize
 
int _lastLoadedRoom
 
byte_objectOwnerTable
 
byte_objectRoomTable
 
byte_objectStateTable
 
int _numObjectsInRoom
 
uint16 _verbMouseOver
 
int8 _userPut
 
uint16 _userState
 
uint16 _screenB
 
uint16 _screenH
 
ColorCycle _colorCycle [16]
 
uint8 _colorUsedByCycle [256]
 
uint32 _ENCD_offs
 
uint32 _EXCD_offs
 
uint32 _CLUT_offs
 
uint32 _EPAL_offs
 
uint32 _IM00_offs
 
uint32 _PALS_offs
 
bool _fullRedraw
 
bool _bgNeedsRedraw
 
bool _screenEffectFlag
 
bool _completeScreenRedraw
 
bool _disableFadeInEffect
 
struct {
   int   hotspotX
 
   int   hotspotY
 
   int   width
 
   int   height
 
   byte   animate
 
   byte   animateIndex
 
   int8   state
 
_cursor
 
byte _grabbedCursor [16384]
 
byte _currentCursor
 
byte _newEffect
 
byte _switchRoomEffect2
 
byte _switchRoomEffect
 
bool _doEffect
 
bool _snapScroll
 
byte_compositeBuf
 
byte_herculesBuf
 
bool _shakeEnabled
 
uint _shakeFrame
 
int _drawObjectQueNr
 
byte _drawObjectQue [200]
 
uint32 gfxUsageBits [410 *3]
 
int _shadowPaletteSize
 
byte _currentPalette [3 *256]
 
byte _darkenPalette [3 *256]
 
int _palDirtyMin
 
int _palDirtyMax
 
byte _palManipStart
 
byte _palManipEnd
 
uint16 _palManipCounter
 
byte_palManipPalette
 
byte_palManipIntermediatePal
 
bool _haveActorSpeechMsg
 
bool _useTalkAnims
 
uint16 _defaultTalkDelay
 
int _saveSound
 
bool _native_mt32
 
bool _enable_gs
 
bool _copyProtection
 
uint16 _amigaFirstUsedColor
 
byte _amigaPalette [3 *64]
 
ScaleSlot _scaleSlots [20]
 
byte _charsetColor
 
byte _charsetData [23][16]
 
int _charsetBufPos
 
byte _charsetBuffer [512]
 
bool _keepText
 
byte _msgCount
 
int _nextLeft
 
int _nextTop
 
byte_2byteFontPtr
 
Common::Rect _cyclRects [16]
 
int _numCyclRects
 
Common::Rect _curStringRect
 
byte _townsOverrideShadowColor
 
byte _textPalette [48]
 
byte _townsClearLayerFlag
 
byte _townsActiveLayerFlags
 
TownsScreen_townsScreen
 
- 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 uint8 _townsLayer2Mask []
 

Friends

class ScummDebugger
 
class CharsetRenderer
 
class CharsetRendererTownsClassic
 
class ResourceManager
 
void syncWithSerializer (Common::Serializer &, ScaleSlot &)
 

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...
 

Detailed Description

Base class for all SCUMM engines.

Definition at line 378 of file scumm.h.

Constructor & Destructor Documentation

◆ ScummEngine()

Scumm::ScummEngine::ScummEngine ( OSystem syst,
const DetectorResult dr 
)

Definition at line 116 of file scumm.cpp.

◆ ~ScummEngine()

Scumm::ScummEngine::~ScummEngine ( )
virtual

Definition at line 602 of file scumm.cpp.

Member Function Documentation

◆ abortCutscene()

void Scumm::ScummEngine::abortCutscene ( )
protected

Definition at line 1533 of file script.cpp.

◆ actorFollowCamera()

void Scumm::ScummEngine::actorFollowCamera ( int  act)
protected

Definition at line 201 of file camera.cpp.

◆ actorTalk()

void Scumm::ScummEngine::actorTalk ( const byte msg)
virtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 2808 of file actor.cpp.

◆ actorToObj()

int Scumm::ScummEngine::actorToObj ( int  actor)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v0.

Definition at line 1533 of file object.cpp.

◆ addObjectToDrawQue()

void Scumm::ScummEngine::addObjectToDrawQue ( int  object)
protected

Definition at line 1093 of file object.cpp.

◆ addObjectToInventory()

void Scumm::ScummEngine::addObjectToInventory ( uint  obj,
uint  room 
)
protected

Definition at line 35 of file object.cpp.

◆ allocateArrays()

void Scumm::ScummEngine::allocateArrays ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v90he, and Scumm::ScummEngine_v70he.

Definition at line 1331 of file resource.cpp.

◆ amigaPaletteFindFirstUsedColor()

void Scumm::ScummEngine::amigaPaletteFindFirstUsedColor ( )
protected

Definition at line 419 of file palette.cpp.

◆ animateCursor()

virtual void Scumm::ScummEngine::animateCursor ( )
inlineprotectedvirtual

Reimplemented in Scumm::ScummEngine_v5.

Definition at line 483 of file scumm.h.

◆ areBoxesNeighbors()

bool Scumm::ScummEngine::areBoxesNeighbors ( int  box1nr,
int  box2nr 
)
protectedvirtual

Check if two boxes are neighbors.

Reimplemented in Scumm::ScummEngine_v0.

Definition at line 1078 of file boxes.cpp.

◆ askForDisk()

void Scumm::ScummEngine::askForDisk ( const char *  filename,
int  disknum 
)
protected

Definition at line 213 of file resource.cpp.

◆ beginCutscene()

void Scumm::ScummEngine::beginCutscene ( int args)
protected

Definition at line 1489 of file script.cpp.

◆ beginOverride()

void Scumm::ScummEngine::beginOverride ( )
protected

Definition at line 1552 of file script.cpp.

◆ calcItineraryMatrix()

void Scumm::ScummEngine::calcItineraryMatrix ( byte itineraryMatrix,
int  num 
)
protected

Computes shortest paths and stores them in the itinerary matrix.

Parameter "num" holds the number of rows (= number of columns).

Definition at line 969 of file boxes.cpp.

◆ cameraMoved()

void Scumm::ScummEngine::cameraMoved ( )
protected

Definition at line 170 of file camera.cpp.

◆ canLoadGameStateCurrently()

bool Scumm::ScummEngine::canLoadGameStateCurrently ( )
virtual

Indicates whether a game state can be loaded.

Reimplemented from Engine.

Definition at line 81 of file saveload.cpp.

◆ canSaveGameStateCurrently()

bool Scumm::ScummEngine::canSaveGameStateCurrently ( )
virtual

Indicates whether a game state can be saved.

Reimplemented from Engine.

Definition at line 110 of file saveload.cpp.

◆ CHARSET_1()

void Scumm::ScummEngine::CHARSET_1 ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 457 of file string.cpp.

◆ checkAndRunSentenceScript()

void Scumm::ScummEngine::checkAndRunSentenceScript ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v0.

Definition at line 1075 of file script.cpp.

◆ checkExecVerbs()

void Scumm::ScummEngine::checkExecVerbs ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v72he, Scumm::ScummEngine_v0, and Scumm::ScummEngine_v2.

Definition at line 546 of file verbs.cpp.

◆ checkXYInBoxBounds()

bool Scumm::ScummEngine::checkXYInBoxBounds ( int  box,
int  x,
int  y 
)

Definition at line 515 of file boxes.cpp.

◆ clampCameraPos()

void Scumm::ScummEngine::clampCameraPos ( Common::Point pt)
protected

Definition at line 89 of file camera.cpp.

◆ clearCharsetMask()

void Scumm::ScummEngine::clearCharsetMask ( )
protected

Definition at line 1129 of file gfx.cpp.

◆ clearClickedStatus()

void Scumm::ScummEngine::clearClickedStatus ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v90he.

Definition at line 249 of file input.cpp.

◆ clearDrawObjectQueue()

void Scumm::ScummEngine::clearDrawObjectQueue ( )
protected

Definition at line 1110 of file object.cpp.

◆ clearDrawQueues()

void Scumm::ScummEngine::clearDrawQueues ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v80he, Scumm::ScummEngine_v71he, and Scumm::ScummEngine_v6.

Definition at line 1114 of file object.cpp.

◆ clearGfxUsageBit()

void Scumm::ScummEngine::clearGfxUsageBit ( int  strip,
int  bit 
)
protected

Definition at line 51 of file usage_bits.cpp.

◆ clearOwnerOf()

void Scumm::ScummEngine::clearOwnerOf ( int  obj)
protected

Definition at line 170 of file object.cpp.

◆ clearRoomObjects()

void Scumm::ScummEngine::clearRoomObjects ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v70he.

Definition at line 665 of file object.cpp.

◆ clearTextSurface()

void Scumm::ScummEngine::clearTextSurface ( )
protected

Definition at line 1133 of file gfx.cpp.

◆ closeRoom()

void Scumm::ScummEngine::closeRoom ( )
protected

Definition at line 150 of file resource.cpp.

◆ colorPCEToRGB()

void Scumm::ScummEngine::colorPCEToRGB ( uint16  color,
byte r,
byte g,
byte b 
)

Definition at line 240 of file palette.cpp.

◆ confirmExitDialog()

void Scumm::ScummEngine::confirmExitDialog ( )
protected

Definition at line 2838 of file scumm.cpp.

◆ confirmRestartDialog()

void Scumm::ScummEngine::confirmRestartDialog ( )
protected

Definition at line 2846 of file scumm.cpp.

◆ convertIntMessage()

int Scumm::ScummEngine::convertIntMessage ( byte dst,
int  dstSize,
int  var 
)
protected

Definition at line 1214 of file string.cpp.

◆ convertMessageToString()

int Scumm::ScummEngine::convertMessageToString ( const byte msg,
byte dst,
int  dstSize 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v72he.

Definition at line 1029 of file string.cpp.

◆ convertNameMessage()

int Scumm::ScummEngine::convertNameMessage ( byte dst,
int  dstSize,
int  var 
)
protected

Definition at line 1237 of file string.cpp.

◆ convertScaleTableToScaleSlot()

void Scumm::ScummEngine::convertScaleTableToScaleSlot ( int  slot)
protected

Convert a rtScaleTable resource to a corresponding scale slot entry.

At some point, we discovered that the old scale items (stored in rtScaleTable resources) are in fact the same as (or rather, a predecessor of) the scale slots used in COMI. While not being precomputed (and thus slightly slower), scale slots are more flexible, and most importantly, can cope with rooms higher than 200 pixels. That's an essential feature for DIG and FT and in fact the lack of it caused various bugs in the past.

Hence, we decided to switch all games to use the more powerful scale slots. To accomodate old savegames, we attempt here to convert rtScaleTable resources to scale slots.

Definition at line 334 of file boxes.cpp.

◆ convertStringMessage()

int Scumm::ScummEngine::convertStringMessage ( byte dst,
int  dstSize,
int  var 
)
protected

Definition at line 1250 of file string.cpp.

◆ convertVerbMessage()

int Scumm::ScummEngine::convertVerbMessage ( byte dst,
int  dstSize,
int  var 
)
protected

Definition at line 1221 of file string.cpp.

◆ copyPalColor()

void Scumm::ScummEngine::copyPalColor ( int  dst,
int  src 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v99he.

Definition at line 1193 of file palette.cpp.

◆ copyScriptString()

void Scumm::ScummEngine::copyScriptString ( byte dst)
protected

Definition at line 1441 of file script.cpp.

◆ createBoxMatrix()

void Scumm::ScummEngine::createBoxMatrix ( )
protected

Definition at line 1022 of file boxes.cpp.

◆ cyclePalette()

void Scumm::ScummEngine::cyclePalette ( )
protected

Definition at line 658 of file palette.cpp.

◆ darkenPalette()

void Scumm::ScummEngine::darkenPalette ( int  redScale,
int  greenScale,
int  blueScale,
int  startColor,
int  endColor 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v99he.

Definition at line 906 of file palette.cpp.

◆ debugMessage()

void Scumm::ScummEngine::debugMessage ( const byte msg)
protected

Definition at line 80 of file string.cpp.

◆ decodeNESBaseTiles()

void Scumm::ScummEngine::decodeNESBaseTiles ( )
protected

Definition at line 2541 of file gfx.cpp.

◆ decreaseScriptDelay()

void Scumm::ScummEngine::decreaseScriptDelay ( int  amount)
protected

Definition at line 1400 of file script.cpp.

◆ deleteRoomOffsets()

void Scumm::ScummEngine::deleteRoomOffsets ( )
protected

Delete the currently loaded room offsets.

Definition at line 159 of file resource.cpp.

◆ derefActor()

Actor * Scumm::ScummEngine::derefActor ( int  id,
const char *  errmsg = 0 
) const

Definition at line 2002 of file actor.cpp.

◆ derefActorSafe()

Actor * Scumm::ScummEngine::derefActorSafe ( int  id,
const char *  errmsg 
) const

Definition at line 2016 of file actor.cpp.

◆ displayMessage()

char Scumm::ScummEngine::displayMessage ( const char *  altButton,
const char *  message,
  ... 
)

Definition at line 2854 of file scumm.cpp.

◆ dissolveEffect()

void Scumm::ScummEngine::dissolveEffect ( int  width,
int  height 
)
protected

Update width*height areas of the screen, in random order, until the whole screen has been updated.

For instance:

dissolveEffect(1, 1) produces a pixel-by-pixel dissolve dissolveEffect(8, 8) produces a square-by-square dissolve dissolveEffect(virtsrc[0].width, 1) produces a line-by-line dissolve

Definition at line 3929 of file gfx.cpp.

◆ ditherCGA()

void Scumm::ScummEngine::ditherCGA ( byte dst,
int  dstPitch,
int  x,
int  y,
int  width,
int  height 
) const
protected

Definition at line 788 of file gfx.cpp.

◆ doSentence()

void Scumm::ScummEngine::doSentence ( int  c,
int  b,
int  a 
)
protected

Definition at line 1046 of file script.cpp.

◆ drawBox()

void Scumm::ScummEngine::drawBox ( int  x,
int  y,
int  x2,
int  y2,
int  color 
)
protected

Definition at line 1241 of file gfx.cpp.

◆ drawDirtyScreenParts()

void Scumm::ScummEngine::drawDirtyScreenParts ( )
protectedvirtual

Update all dirty screen areas.

This method blits all of the internal engine graphics to the actual display, as needed. In addition, the 'shaking' code in the backend is controlled from here.

Reimplemented in Scumm::ScummEngine_v6.

Definition at line 506 of file gfx.cpp.

◆ drawObject()

void Scumm::ScummEngine::drawObject ( int  obj,
int  arg 
)
protected

Definition at line 595 of file object.cpp.

◆ drawRoomObject()

void Scumm::ScummEngine::drawRoomObject ( int  i,
int  arg 
)
protected

Definition at line 548 of file object.cpp.

◆ drawRoomObjects()

void Scumm::ScummEngine::drawRoomObjects ( int  arg)
protected

Definition at line 568 of file object.cpp.

◆ drawString()

void Scumm::ScummEngine::drawString ( int  a,
const byte msg 
)
protected

Definition at line 860 of file string.cpp.

◆ drawStripToScreen()

void Scumm::ScummEngine::drawStripToScreen ( VirtScreen vs,
int  x,
int  width,
int  top,
int  bottom 
)
protected

Blit the specified rectangle from the given virtual screen to the display.

Note: t and b are in virtual screen coordinates, while x is relative to the real screen. This is due to the way tdirty/vdirty work: they are arrays which map 'strips' (sections of the real screen) to dirty areas as specified by top/bottom coordinate in the virtual screen.

Definition at line 607 of file gfx.cpp.

◆ drawVerb()

void Scumm::ScummEngine::drawVerb ( int  verb,
int  mode 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 1056 of file verbs.cpp.

◆ drawVerbBitmap()

void Scumm::ScummEngine::drawVerbBitmap ( int  verb,
int  x,
int  y 
)
protected

Definition at line 1125 of file verbs.cpp.

◆ dumpResource()

void Scumm::ScummEngine::dumpResource ( const char *  tag,
int  index,
const byte ptr,
int  length = -1 
)

Definition at line 1379 of file resource.cpp.

◆ endCutscene()

void Scumm::ScummEngine::endCutscene ( )
protected

Definition at line 1507 of file script.cpp.

◆ endOverride()

void Scumm::ScummEngine::endOverride ( )
protected

Definition at line 1569 of file script.cpp.

◆ ensureResourceLoaded()

void Scumm::ScummEngine::ensureResourceLoaded ( ResType  type,
ResId  idx 
)

Definition at line 591 of file resource.cpp.

◆ errorString()

void Scumm::ScummEngine::errorString ( const char *  buf_input,
char *  buf_output,
int  buf_output_size 
)
virtual

Prepare an error string, which is printed by the error() function.

Reimplemented from Engine.

Definition at line 2875 of file scumm.cpp.

◆ executeOpcode()

void Scumm::ScummEngine::executeOpcode ( byte  i)
protected

Definition at line 491 of file script.cpp.

◆ executeScript()

void Scumm::ScummEngine::executeScript ( )
protected

Execute a script - Read opcode, and execute it from the table.

Definition at line 460 of file script.cpp.

◆ fadeIn()

void Scumm::ScummEngine::fadeIn ( int  effect)
protected

Definition at line 3736 of file gfx.cpp.

◆ fadeOut()

void Scumm::ScummEngine::fadeOut ( int  effect)
protected

Definition at line 3791 of file gfx.cpp.

◆ fetchScriptByte()

byte Scumm::ScummEngine::fetchScriptByte ( )
protected

Definition at line 507 of file script.cpp.

◆ fetchScriptDWord()

uint Scumm::ScummEngine::fetchScriptDWord ( )
protected

Definition at line 523 of file script.cpp.

◆ fetchScriptDWordSigned()

int Scumm::ScummEngine::fetchScriptDWordSigned ( )
protected

Definition at line 530 of file script.cpp.

◆ fetchScriptWord()

uint Scumm::ScummEngine::fetchScriptWord ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v0, and Scumm::ScummEngine_v8.

Definition at line 512 of file script.cpp.

◆ fetchScriptWordSigned()

int Scumm::ScummEngine::fetchScriptWordSigned ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v8.

Definition at line 519 of file script.cpp.

◆ findFlObjectSlot()

int Scumm::ScummEngine::findFlObjectSlot ( )
protected

Definition at line 1827 of file object.cpp.

◆ findInventory()

int Scumm::ScummEngine::findInventory ( int  owner,
int  index 
)

Definition at line 78 of file object.cpp.

◆ findLocalObjectSlot()

int Scumm::ScummEngine::findLocalObjectSlot ( )
protected

Definition at line 1814 of file object.cpp.

◆ findObject()

int Scumm::ScummEngine::findObject ( int  x,
int  y 
)
protected

Definition at line 511 of file object.cpp.

◆ findObjectInRoom()

void Scumm::ScummEngine::findObjectInRoom ( FindObjectInRoom fo,
byte  findWhat,
uint  object,
uint  room 
)
protected

Definition at line 1388 of file object.cpp.

◆ findPalInPals()

const byte * Scumm::ScummEngine::findPalInPals ( const byte pal,
int  index 
)
protected

Definition at line 1296 of file palette.cpp.

◆ findResource()

const byte * Scumm::ScummEngine::findResource ( uint32  tag,
const byte ptr 
)

Definition at line 1453 of file resource.cpp.

◆ findResourceData()

const byte * Scumm::ScummEngine::findResourceData ( uint32  tag,
const byte ptr 
)

Definition at line 905 of file resource.cpp.

◆ findVerbAtPos()

int Scumm::ScummEngine::findVerbAtPos ( int  x,
int  y 
) const
protected

Definition at line 949 of file verbs.cpp.

◆ findVirtScreen()

VirtScreen * Scumm::ScummEngine::findVirtScreen ( int  y)

Definition at line 437 of file gfx.cpp.

◆ freezeScripts()

void Scumm::ScummEngine::freezeScripts ( int  scr)
protected

Definition at line 835 of file script.cpp.

◆ generateFilename()

Common::String Scumm::ScummEngine::generateFilename ( const int  room) const
virtual

Reimplemented in Scumm::ScummEngine_v70he, and Scumm::ScummEngine_v60he.

Definition at line 70 of file detection.cpp.

◆ get16BitColor()

uint16 Scumm::ScummEngine::get16BitColor ( uint8  r,
uint8  g,
uint8  b 
)

Definition at line 51 of file palette.cpp.

◆ get2byteCharPtr()

byte * Scumm::ScummEngine::get2byteCharPtr ( int  idx)

Definition at line 158 of file charset.cpp.

◆ getActorFromPos()

int Scumm::ScummEngine::getActorFromPos ( int  x,
int  y 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v70he.

Definition at line 1859 of file actor.cpp.

◆ getBoxBaseAddr()

Box * Scumm::ScummEngine::getBoxBaseAddr ( int  box)

Definition at line 453 of file boxes.cpp.

◆ getBoxConnectionBase()

byte * Scumm::ScummEngine::getBoxConnectionBase ( int  box)

Definition at line 695 of file boxes.cpp.

◆ getBoxCoordinates()

BoxCoords Scumm::ScummEngine::getBoxCoordinates ( int  boxnum)

Definition at line 574 of file boxes.cpp.

◆ getBoxFlags()

byte Scumm::ScummEngine::getBoxFlags ( int  box)

Definition at line 211 of file boxes.cpp.

◆ getBoxMatrixBaseAddr()

byte * Scumm::ScummEngine::getBoxMatrixBaseAddr ( )

Definition at line 687 of file boxes.cpp.

◆ getBoxScale()

int Scumm::ScummEngine::getBoxScale ( int  box)

Definition at line 308 of file boxes.cpp.

◆ getClass()

bool Scumm::ScummEngine::getClass ( int  obj,
int  cls 
) const

Definition at line 216 of file object.cpp.

◆ getCurrentLights()

int Scumm::ScummEngine::getCurrentLights ( ) const
virtual

Reimplemented in Scumm::ScummEngine_v0.

Definition at line 1505 of file gfx.cpp.

◆ getDebugger()

GUI::Debugger * Scumm::ScummEngine::getDebugger ( )
virtual

Return the engine's debugger instance, if any.

Used by error() to invoke the debugger when a severe error is reported.

Reimplemented from Engine.

Definition at line 2871 of file scumm.cpp.

◆ getDist()

int Scumm::ScummEngine::getDist ( int  x,
int  y,
int  x2,
int  y2 
)

Definition at line 470 of file object.cpp.

◆ getHEPaletteSlot()

uint8 * Scumm::ScummEngine::getHEPaletteSlot ( uint16  palSlot)

Definition at line 38 of file palette.cpp.

◆ getInventoryCount()

int Scumm::ScummEngine::getInventoryCount ( int  owner)

Definition at line 88 of file object.cpp.

◆ getInventorySlot()

int Scumm::ScummEngine::getInventorySlot ( )

Definition at line 68 of file object.cpp.

◆ getKeyState()

int Scumm::ScummEngine::getKeyState ( int  key)
protected

Definition at line 2786 of file script_v6.cpp.

◆ getMaskBuffer()

byte * Scumm::ScummEngine::getMaskBuffer ( int  x,
int  y,
int  z 
)

Definition at line 1146 of file gfx.cpp.

◆ getMaskFromBox()

byte Scumm::ScummEngine::getMaskFromBox ( int  box)

Definition at line 166 of file boxes.cpp.

◆ getNextBox()

int Scumm::ScummEngine::getNextBox ( byte  from,
byte  to 
)

Compute if there is a way that connects box 'from' with box 'to'.

Returns the number of a box adjacent to 'from' that is the next on the way to 'to' (this can be 'to' itself or a third box). If there is no connection -1 is return.

Definition at line 717 of file boxes.cpp.

◆ getNumBoxes()

byte Scumm::ScummEngine::getNumBoxes ( )

Definition at line 441 of file boxes.cpp.

◆ getOBCDFromObject()

byte * Scumm::ScummEngine::getOBCDFromObject ( int  obj,
bool  v0CheckInventory = true 
)
protected

Definition at line 1244 of file object.cpp.

◆ getOBCDOffs()

uint32 Scumm::ScummEngine::getOBCDOffs ( int  object) const
protected

Definition at line 1227 of file object.cpp.

◆ getOBIMFromObjectData()

const byte * Scumm::ScummEngine::getOBIMFromObjectData ( const ObjectData od)
protected

Definition at line 1275 of file object.cpp.

◆ getObjActToObjActDist()

int Scumm::ScummEngine::getObjActToObjActDist ( int  a,
int  b 
)
protected

Definition at line 476 of file object.cpp.

◆ getObjectIdFromOBIM()

int Scumm::ScummEngine::getObjectIdFromOBIM ( const byte obim)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7, and Scumm::ScummEngine_v8.

Definition at line 1380 of file object.cpp.

◆ getObjectImage()

const byte * Scumm::ScummEngine::getObjectImage ( const byte ptr,
int  state 
)
protected

Definition at line 1309 of file object.cpp.

◆ getObjectImageCount()

int Scumm::ScummEngine::getObjectImageCount ( int  object)
protected

Definition at line 1340 of file object.cpp.

◆ getObjectIndex()

int Scumm::ScummEngine::getObjectIndex ( int  object) const
protected

Definition at line 325 of file object.cpp.

◆ getObjectOrActorXY()

int Scumm::ScummEngine::getObjectOrActorXY ( int  object,
int x,
int y 
)

Definition at line 368 of file object.cpp.

◆ getObjectRoom()

int Scumm::ScummEngine::getObjectRoom ( int  obj) const
protected

Definition at line 320 of file object.cpp.

◆ getObjectXYPos() [1/2]

void Scumm::ScummEngine::getObjectXYPos ( int  object,
int x,
int y 
)
inlineprotected

Definition at line 836 of file scumm.h.

◆ getObjectXYPos() [2/2]

void Scumm::ScummEngine::getObjectXYPos ( int  object,
int x,
int y,
int dir 
)
protected

Return the position of an object.

Returns X, Y and direction in angles

Definition at line 403 of file object.cpp.

◆ getObjNewDir()

int Scumm::ScummEngine::getObjNewDir ( int  obj)
protected

Definition at line 1573 of file object.cpp.

◆ getObjOldDir()

int Scumm::ScummEngine::getObjOldDir ( int  obj)
protected

Definition at line 1569 of file object.cpp.

◆ getObjOrActorName()

const byte * Scumm::ScummEngine::getObjOrActorName ( int  obj)
protected

Definition at line 1163 of file object.cpp.

◆ getObjX()

int Scumm::ScummEngine::getObjX ( int  obj)
protected

Definition at line 1537 of file object.cpp.

◆ getObjY()

int Scumm::ScummEngine::getObjY ( int  obj)
protected

Definition at line 1553 of file object.cpp.

◆ getOpcodeDesc()

const char * Scumm::ScummEngine::getOpcodeDesc ( byte  i)
protected

Definition at line 499 of file script.cpp.

◆ getOwner()

int Scumm::ScummEngine::getOwner ( int  obj) const
protected

Definition at line 283 of file object.cpp.

◆ getPalettePtr()

const byte * Scumm::ScummEngine::getPalettePtr ( int  palindex,
int  room 
)
protected

Definition at line 1315 of file palette.cpp.

◆ getResourceAddress()

byte * Scumm::ScummEngine::getResourceAddress ( ResType  type,
ResId  idx 
)

Definition at line 729 of file resource.cpp.

◆ getResourceDataSize()

int Scumm::ScummEngine::getResourceDataSize ( const byte ptr) const

Definition at line 918 of file resource.cpp.

◆ getResourceRoomNr()

int Scumm::ScummEngine::getResourceRoomNr ( ResType  type,
ResId  idx 
)
protected

Definition at line 703 of file resource.cpp.

◆ getResourceRoomOffset()

uint32 Scumm::ScummEngine::getResourceRoomOffset ( ResType  type,
ResId  idx 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v70he.

Definition at line 709 of file resource.cpp.

◆ getResourceSize()

int Scumm::ScummEngine::getResourceSize ( ResType  type,
ResId  idx 
)

Definition at line 723 of file resource.cpp.

◆ getSavegameName()

bool Scumm::ScummEngine::getSavegameName ( int  slot,
Common::String desc 
)

Definition at line 630 of file saveload.cpp.

◆ getScale()

int Scumm::ScummEngine::getScale ( int  box,
int  x,
int  y 
)

Definition at line 242 of file boxes.cpp.

◆ getScaleFromSlot()

int Scumm::ScummEngine::getScaleFromSlot ( int  slot,
int  x,
int  y 
)

Definition at line 272 of file boxes.cpp.

◆ getScriptBaseAddress()

void Scumm::ScummEngine::getScriptBaseAddress ( )
protected

Definition at line 382 of file script.cpp.

◆ getScriptSlot()

int Scumm::ScummEngine::getScriptSlot ( )
protected

Definition at line 297 of file script.cpp.

◆ getState()

int Scumm::ScummEngine::getState ( int  obj)
protected

Definition at line 294 of file object.cpp.

◆ getStringAddress()

byte * Scumm::ScummEngine::getStringAddress ( ResId  idx)
virtual

Reimplemented in Scumm::ScummEngine_v72he, and Scumm::ScummEngine_v6.

Definition at line 755 of file resource.cpp.

◆ getStringAddressVar()

byte * Scumm::ScummEngine::getStringAddressVar ( int  i)

Definition at line 768 of file resource.cpp.

◆ getTalkingActor()

int Scumm::ScummEngine::getTalkingActor ( )

Definition at line 2712 of file actor.cpp.

◆ getTalkSpeed()

int Scumm::ScummEngine::getTalkSpeed ( )
protected

Definition at line 2101 of file scumm.cpp.

◆ getTargetName()

Common::String Scumm::ScummEngine::getTargetName ( ) const
inline

Definition at line 636 of file scumm.h.

◆ getVerbEntrypoint()

int Scumm::ScummEngine::getVerbEntrypoint ( int  obj,
int  entry 
)
protected

Definition at line 151 of file script.cpp.

◆ getVerbSlot()

int Scumm::ScummEngine::getVerbSlot ( int  id,
int  mode 
) const
protected

Definition at line 1199 of file verbs.cpp.

◆ go()

Common::Error Scumm::ScummEngine::go ( )

Definition at line 2110 of file scumm.cpp.

◆ handleMouseOver()

void Scumm::ScummEngine::handleMouseOver ( bool  updateInventory)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v0, and Scumm::ScummEngine_v2.

Definition at line 507 of file verbs.cpp.

◆ handleNextCharsetCode()

bool Scumm::ScummEngine::handleNextCharsetCode ( Actor a,
int c 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v72he.

Definition at line 266 of file string.cpp.

◆ hasFeature()

bool ScummEngine::hasFeature ( EngineFeature  f) const
virtual

Determine whether the engine supports the specified feature.

Reimplemented from Engine.

Definition at line 1000 of file detection.cpp.

◆ ignoreScriptByte()

void Scumm::ScummEngine::ignoreScriptByte ( )
inlineprotected

Definition at line 711 of file scumm.h.

◆ ignoreScriptWord()

void Scumm::ScummEngine::ignoreScriptWord ( )
inlineprotected

Definition at line 710 of file scumm.h.

◆ init()

Common::Error Scumm::ScummEngine::init ( void  )

Definition at line 1058 of file scumm.cpp.

◆ initBGBuffers()

void Scumm::ScummEngine::initBGBuffers ( int  height)
protected

Definition at line 852 of file gfx.cpp.

◆ initCharset()

void Scumm::ScummEngine::initCharset ( int  charset)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v80he.

Definition at line 1291 of file string.cpp.

◆ initCycl()

void Scumm::ScummEngine::initCycl ( const byte ptr)
protected

Definition at line 520 of file palette.cpp.

◆ initializeLocals()

void Scumm::ScummEngine::initializeLocals ( int  slot,
int vars 
)
protected

Definition at line 140 of file script.cpp.

◆ initScreens()

void Scumm::ScummEngine::initScreens ( int  b,
int  h 
)
protected

Definition at line 325 of file gfx.cpp.

◆ initVirtScreen()

void Scumm::ScummEngine::initVirtScreen ( VirtScreenNumber  slot,
int  top,
int  width,
int  height,
bool  twobufs,
bool  scrollable 
)
protected

Definition at line 377 of file gfx.cpp.

◆ inventoryScriptIndy3Mac()

void Scumm::ScummEngine::inventoryScriptIndy3Mac ( )
protected

Definition at line 772 of file script.cpp.

◆ isCostumeInUse()

bool Scumm::ScummEngine::isCostumeInUse ( int  i) const

Definition at line 79 of file base-costume.cpp.

◆ isLightOn()

bool Scumm::ScummEngine::isLightOn ( ) const

Definition at line 1512 of file gfx.cpp.

◆ isMacM68kIMuse()

bool Scumm::ScummEngine::isMacM68kIMuse ( ) const

Is this game a Mac m68k v5 game with iMuse?

Definition at line 288 of file detection.cpp.

◆ isResourceInUse()

bool Scumm::ScummEngine::isResourceInUse ( ResType  type,
ResId  idx 
) const
protected

Definition at line 960 of file resource.cpp.

◆ isRoomScriptRunning()

bool Scumm::ScummEngine::isRoomScriptRunning ( int  script) const
protected

Definition at line 1432 of file script.cpp.

◆ isScriptInUse()

bool Scumm::ScummEngine::isScriptInUse ( int  script) const
protected

Definition at line 1414 of file script.cpp.

◆ isScriptRunning()

bool Scumm::ScummEngine::isScriptRunning ( int  script) const
protected

Definition at line 1423 of file script.cpp.

◆ isValidActor()

bool Scumm::ScummEngine::isValidActor ( int  id) const

Definition at line 1998 of file actor.cpp.

◆ killAllScriptsExceptCurrent()

void Scumm::ScummEngine::killAllScriptsExceptCurrent ( )
protected

Definition at line 1037 of file script.cpp.

◆ killScriptsAndResources()

void Scumm::ScummEngine::killScriptsAndResources ( )
protected

Definition at line 987 of file script.cpp.

◆ killVerb()

void Scumm::ScummEngine::killVerb ( int  slot)
protected

Definition at line 1209 of file verbs.cpp.

◆ listSavegames()

void Scumm::ScummEngine::listSavegames ( bool *  marks,
int  num 
)

Definition at line 603 of file saveload.cpp.

◆ loadCharset()

void Scumm::ScummEngine::loadCharset ( int  i)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v2, Scumm::ScummEngine_v4, and Scumm::ScummEngine_v3.

Definition at line 560 of file resource.cpp.

◆ loadCJKFont()

void Scumm::ScummEngine::loadCJKFont ( )
protected

Definition at line 46 of file charset.cpp.

◆ loadFlObject()

void Scumm::ScummEngine::loadFlObject ( uint  object,
uint  room 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v70he.

Definition at line 1847 of file object.cpp.

◆ loadGameState()

Common::Error Scumm::ScummEngine::loadGameState ( int  slot)
virtual

Load a game state.

Parameters
slotthe slot from which a savestate should be loaded
Returns
returns kNoError on success, else an error code.

Reimplemented from Engine.

Definition at line 76 of file saveload.cpp.

◆ loadInfos()

bool Scumm::ScummEngine::loadInfos ( Common::SeekableReadStream file,
SaveStateMetaInfos stuff 
)
staticprotected

Definition at line 726 of file saveload.cpp.

◆ loadLanguageBundle()

virtual void Scumm::ScummEngine::loadLanguageBundle ( )
inlineprotectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 453 of file scumm.h.

◆ loadPtrToResource()

void Scumm::ScummEngine::loadPtrToResource ( ResType  type,
ResId  idx,
const byte ptr 
)
protected

Definition at line 1093 of file resource.cpp.

◆ loadResource() [1/2]

void Scumm::ScummEngine::loadResource ( Common::Serializer ser,
ResType  type,
ResId  idx 
)
protected

Definition at line 1716 of file saveload.cpp.

◆ loadResource() [2/2]

int Scumm::ScummEngine::loadResource ( ResType  type,
ResId  idx 
)
protected

Definition at line 621 of file resource.cpp.

◆ loadResourceOLD()

void Scumm::ScummEngine::loadResourceOLD ( Common::Serializer ser,
ResType  type,
ResId  idx 
)
protected

Definition at line 1666 of file saveload.cpp.

◆ loadState() [1/2]

bool Scumm::ScummEngine::loadState ( int  slot,
bool  compat 
)
protected

Definition at line 316 of file saveload.cpp.

◆ loadState() [2/2]

bool Scumm::ScummEngine::loadState ( int  slot,
bool  compat,
Common::String fileName 
)
protected

Definition at line 322 of file saveload.cpp.

◆ makeSavegameName() [1/2]

Common::String Scumm::ScummEngine::makeSavegameName ( int  slot,
bool  temporary 
) const
inlineprotected

Definition at line 621 of file scumm.h.

◆ makeSavegameName() [2/2]

Common::String Scumm::ScummEngine::makeSavegameName ( const Common::String target,
int  slot,
bool  temporary 
)
static

Definition at line 597 of file saveload.cpp.

◆ mapRoomPalette()

void Scumm::ScummEngine::mapRoomPalette ( int  idx)
protected

Definition at line 431 of file palette.cpp.

◆ mapVerbPalette()

void Scumm::ScummEngine::mapVerbPalette ( int  idx)
protected

Definition at line 473 of file palette.cpp.

◆ markObjectRectAsDirty()

void Scumm::ScummEngine::markObjectRectAsDirty ( int  obj)
protected

Mark the rectangle covered by the given object as dirty, thus eventually ensuring a redraw of that area.

This function is typically invoked when an object gets removed from the current room, or when its state changed.

Definition at line 1143 of file object.cpp.

◆ markRectAsDirty() [1/2]

void Scumm::ScummEngine::markRectAsDirty ( VirtScreenNumber  virt,
int  left,
int  right,
int  top,
int  bottom,
int  dirtybit = 0 
)

Definition at line 449 of file gfx.cpp.

◆ markRectAsDirty() [2/2]

void Scumm::ScummEngine::markRectAsDirty ( VirtScreenNumber  virt,
const Common::Rect rect,
int  dirtybit = 0 
)
inline

Definition at line 1040 of file scumm.h.

◆ messageDialog()

void Scumm::ScummEngine::messageDialog ( const char *  message)
protected

Definition at line 2819 of file scumm.cpp.

◆ moveCamera()

void Scumm::ScummEngine::moveCamera ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 94 of file camera.cpp.

◆ moveMemInPalRes()

void Scumm::ScummEngine::moveMemInPalRes ( int  start,
int  end,
byte  direction 
)
protected

Perform color cycling on the palManipulate data, too, otherwise color cycling will be disturbed by the palette fade.

Definition at line 704 of file palette.cpp.

◆ moveScreen()

void Scumm::ScummEngine::moveScreen ( int  dx,
int  dy,
int  height 
)
protected

Moves the screen content by the offset specified via dx/dy.

Only the region from x=0 till x=height-1 is affected.

Parameters
dxthe horizontal offset.
dythe vertical offset.
heightthe number of lines which in which the move will be done.

Definition at line 1387 of file gfx.cpp.

◆ NES_loadCostumeSet()

void Scumm::ScummEngine::NES_loadCostumeSet ( int  n)

Definition at line 2553 of file gfx.cpp.

◆ newLine()

bool Scumm::ScummEngine::newLine ( )
protected

Definition at line 430 of file string.cpp.

◆ nukeArrays()

void Scumm::ScummEngine::nukeArrays ( byte  scriptSlot)

Definition at line 367 of file script.cpp.

◆ nukeCharset()

void Scumm::ScummEngine::nukeCharset ( int  i)
protected

Definition at line 586 of file resource.cpp.

◆ nukeFlObjects()

void Scumm::ScummEngine::nukeFlObjects ( int  min,
int  max 
)
protected

Definition at line 1647 of file object.cpp.

◆ objIsActor()

bool Scumm::ScummEngine::objIsActor ( int  obj)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v0.

Definition at line 1525 of file object.cpp.

◆ objToActor()

int Scumm::ScummEngine::objToActor ( int  obj)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v0.

Definition at line 1529 of file object.cpp.

◆ openFile()

bool Scumm::ScummEngine::openFile ( BaseScummFile file,
const Common::String filename,
bool  resourceFile = false 
)

Definition at line 184 of file resource.cpp.

◆ openResourceFile()

bool Scumm::ScummEngine::openResourceFile ( const Common::String filename,
byte  encByte 
)
protected

Definition at line 203 of file resource.cpp.

◆ openRoom()

void Scumm::ScummEngine::openRoom ( int  room)
protected

Definition at line 65 of file resource.cpp.

◆ openSaveFileForReading()

Common::SeekableReadStream * Scumm::ScummEngine::openSaveFileForReading ( int  slot,
bool  compat,
Common::String fileName 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v60he.

Definition at line 155 of file saveload.cpp.

◆ openSaveFileForWriting()

Common::WriteStream * Scumm::ScummEngine::openSaveFileForWriting ( int  slot,
bool  compat,
Common::String fileName 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v60he.

Definition at line 160 of file saveload.cpp.

◆ palManipulate()

void Scumm::ScummEngine::palManipulate ( )
protected

Definition at line 795 of file palette.cpp.

◆ palManipulateInit()

void Scumm::ScummEngine::palManipulateInit ( int  resID,
int  start,
int  end,
int  time 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v6.

Definition at line 712 of file palette.cpp.

◆ panCameraTo()

void Scumm::ScummEngine::panCameraTo ( int  x,
int  y 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 195 of file camera.cpp.

◆ parseEvent()

void Scumm::ScummEngine::parseEvent ( Common::Event  event)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v80he.

Definition at line 107 of file input.cpp.

◆ parseEvents()

void Scumm::ScummEngine::parseEvents ( )

Definition at line 225 of file input.cpp.

◆ pauseDialog()

void Scumm::ScummEngine::pauseDialog ( )
protected

Definition at line 2826 of file scumm.cpp.

◆ pauseEngineIntern()

void Scumm::ScummEngine::pauseEngineIntern ( bool  pause)
virtual

Actual implementation of pauseEngine by subclasses.

See there for details.

Reimplemented from Engine.

Reimplemented in Scumm::ScummEngine_v60he.

Definition at line 2774 of file scumm.cpp.

◆ pauseGame()

void Scumm::ScummEngine::pauseGame ( )

Definition at line 2649 of file scumm.cpp.

◆ playActorSounds()

void Scumm::ScummEngine::playActorSounds ( )
protected

Definition at line 1974 of file actor.cpp.

◆ pop()

int Scumm::ScummEngine::pop ( void  )
protected

Definition at line 717 of file script.cpp.

◆ printString()

void Scumm::ScummEngine::printString ( int  m,
const byte msg 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v8.

Definition at line 52 of file string.cpp.

◆ processActors()

void Scumm::ScummEngine::processActors ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v90he, Scumm::ScummEngine_v71he, and Scumm::ScummEngine_v6.

Definition at line 2035 of file actor.cpp.

◆ processDrawQue()

void Scumm::ScummEngine::processDrawQue ( )
protected

Definition at line 1083 of file object.cpp.

◆ processInput()

void Scumm::ScummEngine::processInput ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v90he, Scumm::ScummEngine_v7, and Scumm::ScummEngine_v0.

Definition at line 278 of file input.cpp.

◆ processKeyboard()

void Scumm::ScummEngine::processKeyboard ( Common::KeyState  lastKeyHit)
protectedvirtual

◆ processUpperActors()

void Scumm::ScummEngine::processUpperActors ( )
protected

Definition at line 2208 of file actor.cpp.

◆ push()

void Scumm::ScummEngine::push ( int  a)
protected

Definition at line 712 of file script.cpp.

◆ putActors()

void Scumm::ScummEngine::putActors ( )
protected

Definition at line 1495 of file actor.cpp.

◆ putClass()

void Scumm::ScummEngine::putClass ( int  obj,
int  cls,
bool  set 
)
protected

Definition at line 246 of file object.cpp.

◆ putOwner()

void Scumm::ScummEngine::putOwner ( int  obj,
int  owner 
)
protected

Definition at line 288 of file object.cpp.

◆ putState()

void Scumm::ScummEngine::putState ( int  obj,
int  state 
)
protected

Definition at line 314 of file object.cpp.

◆ querySaveMetaInfos()

bool Scumm::ScummEngine::querySaveMetaInfos ( const char *  target,
int  slot,
int  heversion,
Common::String desc,
Graphics::Surface *&  thumbnail,
SaveStateMetaInfos *&  timeInfos 
)
static

Definition at line 688 of file saveload.cpp.

◆ readArrayFromIndexFile()

void Scumm::ScummEngine::readArrayFromIndexFile ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v72he, Scumm::ScummEngine_v6, and Scumm::ScummEngine_v8.

Definition at line 482 of file resource.cpp.

◆ readGlobalObjects()

void Scumm::ScummEngine::readGlobalObjects ( )
protectedvirtual

◆ readIndexBlock()

void Scumm::ScummEngine::readIndexBlock ( uint32  block,
uint32  itemsize 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v70he, and Scumm::ScummEngine_v7.

Definition at line 411 of file resource.cpp.

◆ readIndexFile()

void Scumm::ScummEngine::readIndexFile ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v2, Scumm::ScummEngine_v3old, and Scumm::ScummEngine_v4.

Definition at line 241 of file resource.cpp.

◆ readMAXS()

◆ readPCEPalette()

void Scumm::ScummEngine::readPCEPalette ( const byte **  ptr,
byte **  dest,
int  numEntries 
)

Definition at line 258 of file palette.cpp.

◆ readResTypeList()

int Scumm::ScummEngine::readResTypeList ( ResType  type)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v70he, Scumm::ScummEngine_v3old, and Scumm::ScummEngine_v4.

Definition at line 486 of file resource.cpp.

◆ readRoomsOffsets()

void Scumm::ScummEngine::readRoomsOffsets ( )
protectedvirtual

Read room offsets.

Reimplemented in Scumm::ScummEngine_v70he, and Scumm::ScummEngine_v3.

Definition at line 167 of file resource.cpp.

◆ readSoundResource()

int Scumm::ScummEngine::readSoundResource ( ResId  idx)
protected

Definition at line 1148 of file sound.cpp.

◆ readSoundResourceSmallHeader()

int Scumm::ScummEngine::readSoundResourceSmallHeader ( ResId  idx)
protected

Definition at line 1888 of file sound.cpp.

◆ readVar()

int Scumm::ScummEngine::readVar ( uint  var)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v2, and Scumm::ScummEngine_v8.

Definition at line 534 of file script.cpp.

◆ redrawAllActors()

void Scumm::ScummEngine::redrawAllActors ( )
protected

Definition at line 2616 of file actor.cpp.

◆ redrawBGAreas()

void Scumm::ScummEngine::redrawBGAreas ( )
protectedvirtual

Redraw background as needed, i.e.

the left/right sides if scrolling took place etc. Note that this only updated the virtual screen, not the actual display.

Reimplemented in Scumm::ScummEngine_v72he, and Scumm::ScummEngine_v71he.

Definition at line 920 of file gfx.cpp.

◆ redrawBGStrip()

void Scumm::ScummEngine::redrawBGStrip ( int  start,
int  num 
)
protected

Definition at line 998 of file gfx.cpp.

◆ redrawVerbs()

void Scumm::ScummEngine::redrawVerbs ( )
protectedvirtual

Definition at line 485 of file verbs.cpp.

◆ refreshScriptPointer()

void Scumm::ScummEngine::refreshScriptPointer ( )
protected

This method checks whether the resource that contains the active script moved, and if so, updates the script pointer accordingly.

The script resource may have moved because it might have been garbage collected by ResourceManager::expireResources.

Definition at line 451 of file script.cpp.

◆ remapPaletteColor()

int Scumm::ScummEngine::remapPaletteColor ( int  r,
int  g,
int  b,
int  threshold 
)

Definition at line 1106 of file palette.cpp.

◆ remapRoomPaletteColor()

int Scumm::ScummEngine::remapRoomPaletteColor ( int  r,
int  g,
int  b 
)
protected

Definition at line 447 of file palette.cpp.

◆ remapVerbPaletteColor()

int Scumm::ScummEngine::remapVerbPaletteColor ( int  r,
int  g,
int  b 
)
protected

Definition at line 488 of file palette.cpp.

◆ removeObjectFromDrawQue()

void Scumm::ScummEngine::removeObjectFromDrawQue ( int  object)
protected

Definition at line 1099 of file object.cpp.

◆ requestLoad()

void Scumm::ScummEngine::requestLoad ( int  slot)

Definition at line 149 of file saveload.cpp.

◆ requestSave()

void Scumm::ScummEngine::requestSave ( int  slot,
const Common::String name 
)

Definition at line 142 of file saveload.cpp.

◆ resetActorBgs()

void Scumm::ScummEngine::resetActorBgs ( )
protected

Definition at line 2655 of file actor.cpp.

◆ resetCursors()

virtual void Scumm::ScummEngine::resetCursors ( )
inlineprotectedvirtual

Reimplemented in Scumm::ScummEngine_v5.

Definition at line 486 of file scumm.h.

◆ resetPalette()

void Scumm::ScummEngine::resetPalette ( )
protected

Definition at line 55 of file palette.cpp.

◆ resetRoomObject()

void Scumm::ScummEngine::resetRoomObject ( ObjectData od,
const byte room,
const byte searchptr = NULL 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v0, and Scumm::ScummEngine_v4.

Definition at line 979 of file object.cpp.

◆ resetRoomObjects()

void Scumm::ScummEngine::resetRoomObjects ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v70he, Scumm::ScummEngine_v3old, and Scumm::ScummEngine_v4.

Definition at line 737 of file object.cpp.

◆ resetRoomSubBlocks()

void Scumm::ScummEngine::resetRoomSubBlocks ( )
protectedvirtual

Init some dynamic room data after a room has been loaded.

E.g. the initial box data is loaded, the initial palette is set etc. All of the things setup in here can be modified later on by scripts. So it is not appropriate to call it after loading a savegame.

Reimplemented in Scumm::ScummEngine_v3old.

Definition at line 467 of file room.cpp.

◆ resetScriptPointer()

void Scumm::ScummEngine::resetScriptPointer ( )
protected

Definition at line 438 of file script.cpp.

◆ resetScumm()

◆ resetScummVars()

◆ resetV1ActorTalkColor()

void Scumm::ScummEngine::resetV1ActorTalkColor ( )
protected

Definition at line 2746 of file actor.cpp.

◆ resStrLen()

int Scumm::ScummEngine::resStrLen ( const byte src)
protected

Given a pointer to a Scumm string, this function returns the total byte length of the string data in that resource.

To do so it has to understand certain special characters embedded into the string. The reason for this function is that sometimes this embedded data contains zero bytes, thus we can't just use strlen.

Definition at line 1456 of file script.cpp.

◆ restart()

void Scumm::ScummEngine::restart ( )

Definition at line 2653 of file scumm.cpp.

◆ restoreBackground()

void Scumm::ScummEngine::restoreBackground ( Common::Rect  rect,
byte  backcolor = 0 
)
protected

Definition at line 1014 of file gfx.cpp.

◆ restoreCharsetBg()

void Scumm::ScummEngine::restoreCharsetBg ( )
protected

Definition at line 1090 of file gfx.cpp.

◆ restoreVerbBG()

void Scumm::ScummEngine::restoreVerbBG ( int  verb)
protected

Definition at line 1109 of file verbs.cpp.

◆ run()

virtual Common::Error Scumm::ScummEngine::run ( )
inlinevirtual

Init the engine and start its main loop.

Returns
returns kNoError on success, else an error code.

Implements Engine.

Definition at line 424 of file scumm.h.

◆ runAllScripts()

void Scumm::ScummEngine::runAllScripts ( )
protected

Definition at line 888 of file script.cpp.

◆ runBootscript()

void Scumm::ScummEngine::runBootscript ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v90he.

Definition at line 2697 of file scumm.cpp.

◆ runDialog()

int Scumm::ScummEngine::runDialog ( Dialog dialog)
protectedvirtual

Reimplemented from Engine.

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 2796 of file scumm.cpp.

◆ runEntryScript()

void Scumm::ScummEngine::runEntryScript ( )
protected

Definition at line 954 of file script.cpp.

◆ runExitScript()

void Scumm::ScummEngine::runExitScript ( )
protected

Definition at line 909 of file script.cpp.

◆ runInputScript()

void Scumm::ScummEngine::runInputScript ( int  clickArea,
int  val,
int  mode 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v2.

Definition at line 1350 of file script.cpp.

◆ runInventoryScript()

void Scumm::ScummEngine::runInventoryScript ( int  i)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v2.

Definition at line 759 of file script.cpp.

◆ runObjectScript()

void Scumm::ScummEngine::runObjectScript ( int  script,
int  entry,
bool  freezeResistant,
bool  recursive,
int vars,
int  slot = -1,
int  cycle = 0 
)
protected

Definition at line 93 of file script.cpp.

◆ runQuitScript()

void Scumm::ScummEngine::runQuitScript ( )
protected

Definition at line 975 of file script.cpp.

◆ runScript()

void Scumm::ScummEngine::runScript ( int  script,
bool  freezeResistant,
bool  recursive,
int lvarptr,
int  cycle = 0 
)

Definition at line 39 of file script.cpp.

◆ runScriptNested()

void Scumm::ScummEngine::runScriptNested ( int  script)
protected

Definition at line 311 of file script.cpp.

◆ saveGameState()

Common::Error Scumm::ScummEngine::saveGameState ( int  slot,
const Common::String desc 
)
virtual

Save a game state.

Parameters
slotthe slot into which the savestate should be stored
desca description for the savestate, entered by the user
Returns
returns kNoError on success, else an error code.

Reimplemented from Engine.

Definition at line 105 of file saveload.cpp.

◆ saveInfos()

void Scumm::ScummEngine::saveInfos ( Common::WriteStream file)
protected

Definition at line 776 of file saveload.cpp.

◆ saveLoadWithSerializer()

◆ saveResource()

void Scumm::ScummEngine::saveResource ( Common::Serializer ser,
ResType  type,
ResId  idx 
)
protected

Definition at line 1697 of file saveload.cpp.

◆ saveState() [1/2]

bool Scumm::ScummEngine::saveState ( Common::WriteStream out,
bool  writeHeader = true 
)
protected

Definition at line 177 of file saveload.cpp.

◆ saveState() [2/2]

bool Scumm::ScummEngine::saveState ( int  slot,
bool  compat,
Common::String fileName 
)
protected

Definition at line 195 of file saveload.cpp.

◆ scrollEffect()

void Scumm::ScummEngine::scrollEffect ( int  dir)
protected

Definition at line 4035 of file gfx.cpp.

◆ scummLoop()

void Scumm::ScummEngine::scummLoop ( int  delta)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v90he, and Scumm::ScummEngine_v0.

Definition at line 2215 of file scumm.cpp.

◆ scummLoop_handleActors()

virtual void Scumm::ScummEngine::scummLoop_handleActors ( )
protectedpure virtual

◆ scummLoop_handleDrawing()

void Scumm::ScummEngine::scummLoop_handleDrawing ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v90he, and Scumm::ScummEngine_v7.

Definition at line 2526 of file scumm.cpp.

◆ scummLoop_handleEffects()

void Scumm::ScummEngine::scummLoop_handleEffects ( )
protectedvirtual

Definition at line 2579 of file scumm.cpp.

◆ scummLoop_handleSaveLoad()

void Scumm::ScummEngine::scummLoop_handleSaveLoad ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v5, Scumm::ScummEngine_v4, and Scumm::ScummEngine_v8.

Definition at line 2447 of file scumm.cpp.

◆ scummLoop_handleSound()

void Scumm::ScummEngine::scummLoop_handleSound ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 2590 of file scumm.cpp.

◆ scummLoop_updateScummVars()

void Scumm::ScummEngine::scummLoop_updateScummVars ( )
protectedvirtual

Definition at line 2397 of file scumm.cpp.

◆ scummVar() [1/2]

int32& Scumm::ScummEngine::scummVar ( byte  var,
const char *  varName,
const char *  file,
int  line 
)
inline

Definition at line 521 of file scumm.h.

◆ scummVar() [2/2]

int32 Scumm::ScummEngine::scummVar ( byte  var,
const char *  varName,
const char *  file,
int  line 
) const
inline

Definition at line 527 of file scumm.h.

◆ setActorRedrawFlags()

void Scumm::ScummEngine::setActorRedrawFlags ( )
protected

Definition at line 2625 of file actor.cpp.

◆ setAmigaPaletteFromPtr()

void Scumm::ScummEngine::setAmigaPaletteFromPtr ( const byte ptr)
protected

Definition at line 376 of file palette.cpp.

◆ setBoxFlags()

void Scumm::ScummEngine::setBoxFlags ( int  box,
int  val 
)

Definition at line 191 of file boxes.cpp.

◆ setBoxScale()

void Scumm::ScummEngine::setBoxScale ( int  box,
int  b 
)

Definition at line 225 of file boxes.cpp.

◆ setBoxScaleSlot()

void Scumm::ScummEngine::setBoxScaleSlot ( int  box,
int  slot 
)
protected

Definition at line 236 of file boxes.cpp.

◆ setCameraAt()

void Scumm::ScummEngine::setCameraAt ( int  pos_x,
int  pos_y 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 41 of file camera.cpp.

◆ setCameraAtEx()

void Scumm::ScummEngine::setCameraAtEx ( int  at)
protected

Definition at line 32 of file camera.cpp.

◆ setCameraFollows()

void Scumm::ScummEngine::setCameraFollows ( Actor a,
bool  setCamera = false 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 63 of file camera.cpp.

◆ setCurrentPalette()

void Scumm::ScummEngine::setCurrentPalette ( int  pal)
protected

Definition at line 1266 of file palette.cpp.

◆ setCursorFromBuffer()

void Scumm::ScummEngine::setCursorFromBuffer ( const byte ptr,
int  width,
int  height,
int  pitch 
)
protected

Definition at line 150 of file cursor.cpp.

◆ setDirtyColors()

void Scumm::ScummEngine::setDirtyColors ( int  min,
int  max 
)
protected

Definition at line 513 of file palette.cpp.

◆ setGfxUsageBit()

void Scumm::ScummEngine::setGfxUsageBit ( int  strip,
int  bit 
)
protected

Definition at line 44 of file usage_bits.cpp.

◆ setObjectName()

void Scumm::ScummEngine::setObjectName ( int  obj)
protected

Definition at line 1201 of file object.cpp.

◆ setObjectState()

void Scumm::ScummEngine::setObjectState ( int  obj,
int  state,
int  x,
int  y 
)
protected

Definition at line 1584 of file object.cpp.

◆ setOwnerOf()

void Scumm::ScummEngine::setOwnerOf ( int  obj,
int  owner 
)
protected

Definition at line 99 of file object.cpp.

◆ setPalColor()

void Scumm::ScummEngine::setPalColor ( int  index,
int  r,
int  g,
int  b 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v99he.

Definition at line 1212 of file palette.cpp.

◆ setPaletteFromPtr()

void Scumm::ScummEngine::setPaletteFromPtr ( const byte ptr,
int  numcolor = -1 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v99he.

Definition at line 320 of file palette.cpp.

◆ setPaletteFromTable()

void Scumm::ScummEngine::setPaletteFromTable ( const byte ptr,
int  numcolor,
int  firstIndex = 0 
)
protected

Definition at line 235 of file palette.cpp.

◆ setPCEPaletteFromPtr()

void Scumm::ScummEngine::setPCEPaletteFromPtr ( const byte ptr)
protected

Definition at line 277 of file palette.cpp.

◆ setPCETextPalette()

void Scumm::ScummEngine::setPCETextPalette ( uint8  color)

Definition at line 247 of file palette.cpp.

◆ setRoomPalette()

void Scumm::ScummEngine::setRoomPalette ( int  pal,
int  room 
)
protected

Definition at line 1286 of file palette.cpp.

◆ setScaleSlot()

void Scumm::ScummEngine::setScaleSlot ( int  slot,
int  x1,
int  y1,
int  scale1,
int  x2,
int  y2,
int  scale2 
)
protected

Definition at line 430 of file boxes.cpp.

◆ setScrollBuffer()

void Scumm::ScummEngine::setScrollBuffer ( )
protected

◆ setShadowPalette() [1/2]

void Scumm::ScummEngine::setShadowPalette ( int  slot,
int  redScale,
int  greenScale,
int  blueScale,
int  startColor,
int  endColor 
)
protected

Definition at line 819 of file palette.cpp.

◆ setShadowPalette() [2/2]

void Scumm::ScummEngine::setShadowPalette ( int  redScale,
int  greenScale,
int  blueScale,
int  startColor,
int  endColor,
int  start,
int  end 
)
protected

Definition at line 849 of file palette.cpp.

◆ setShake()

void Scumm::ScummEngine::setShake ( int  mode)
protected

Definition at line 1516 of file gfx.cpp.

◆ setTalkingActor()

void Scumm::ScummEngine::setTalkingActor ( int  variable)

Definition at line 2719 of file actor.cpp.

◆ setTalkSpeed()

void Scumm::ScummEngine::setTalkSpeed ( int  talkspeed)
protected

Definition at line 2097 of file scumm.cpp.

◆ setupCharsetRenderer()

void Scumm::ScummEngine::setupCharsetRenderer ( )
protected

Definition at line 1467 of file scumm.cpp.

◆ setupCostumeRenderer()

void Scumm::ScummEngine::setupCostumeRenderer ( )
protected

Definition at line 1499 of file scumm.cpp.

◆ setupMusic()

void Scumm::ScummEngine::setupMusic ( int  midi)
protected

Definition at line 1834 of file scumm.cpp.

◆ setupOpcodes()

◆ setupRoomSubBlocks()

void Scumm::ScummEngine::setupRoomSubBlocks ( )
protectedvirtual

Init some static room data after a room has been loaded.

E.g. the room dimension, the offset to the graphics data, the room scripts, the offset to the room palette and other things which won't be changed late on. So it is possible to call this after loading a savegame.

Reimplemented in Scumm::ScummEngine_v3old.

Definition at line 242 of file room.cpp.

◆ setupScumm()

void Scumm::ScummEngine::setupScumm ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 1340 of file scumm.cpp.

◆ setupScummVars()

◆ setVerbObject()

void Scumm::ScummEngine::setVerbObject ( uint  room,
uint  object,
uint  verb 
)
protected

Definition at line 1228 of file verbs.cpp.

◆ showActors()

void Scumm::ScummEngine::showActors ( )
protected

Definition at line 1964 of file actor.cpp.

◆ showMessageDialog()

void Scumm::ScummEngine::showMessageDialog ( const byte msg)
protected

Definition at line 106 of file string.cpp.

◆ startManiac()

bool Scumm::ScummEngine::startManiac ( )
protected

Definition at line 2718 of file scumm.cpp.

◆ startScene()

void Scumm::ScummEngine::startScene ( int  room,
Actor a,
int  objectNr 
)
protected

Start a 'scene' by loading the specified room with the given main actor.

The actor is placed next to the object indicated by objectNr.

Definition at line 42 of file room.cpp.

◆ stopCycle()

void Scumm::ScummEngine::stopCycle ( int  i)
protected

Definition at line 582 of file palette.cpp.

◆ stopObjectCode()

void Scumm::ScummEngine::stopObjectCode ( )
protected

Definition at line 722 of file script.cpp.

◆ stopObjectScript()

void Scumm::ScummEngine::stopObjectScript ( int  script)
protected

Definition at line 263 of file script.cpp.

◆ stopScript()

void Scumm::ScummEngine::stopScript ( int  script)

Definition at line 229 of file script.cpp.

◆ stopTalk()

void Scumm::ScummEngine::stopTalk ( )

Definition at line 2897 of file actor.cpp.

◆ swapPalColors()

void Scumm::ScummEngine::swapPalColors ( int  a,
int  b 
)
protected

Definition at line 1164 of file palette.cpp.

◆ syncSoundSettings()

void Scumm::ScummEngine::syncSoundSettings ( )
virtual

Notify the engine that the sound settings in the config manager may have changed and that it hence should adjust any internal volume etc.

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.
Todo:
find a better name for this

Reimplemented from Engine.

Definition at line 2051 of file scumm.cpp.

◆ testGfxAnyUsageBits()

bool Scumm::ScummEngine::testGfxAnyUsageBits ( int  strip)
protected

Definition at line 65 of file usage_bits.cpp.

◆ testGfxOtherUsageBits()

bool Scumm::ScummEngine::testGfxOtherUsageBits ( int  strip,
int  bit 
)
protected

Definition at line 78 of file usage_bits.cpp.

◆ testGfxUsageBit()

bool Scumm::ScummEngine::testGfxUsageBit ( int  strip,
int  bit 
)
protected

Definition at line 58 of file usage_bits.cpp.

◆ towns_drawStripToScreen()

void Scumm::ScummEngine::towns_drawStripToScreen ( VirtScreen vs,
int  dstX,
int  dstY,
int  srcX,
int  srcY,
int  w,
int  h 
)
protected

Definition at line 34 of file gfx_towns.cpp.

◆ towns_isRectInStringBox()

bool Scumm::ScummEngine::towns_isRectInStringBox ( int  x1,
int  y1,
int  x2,
int  y2 
)

Definition at line 109 of file gfx_towns.cpp.

◆ towns_processPalCycleField()

void Scumm::ScummEngine::towns_processPalCycleField ( )
protected

Definition at line 161 of file gfx_towns.cpp.

◆ towns_resetPalCycleFields()

void Scumm::ScummEngine::towns_resetPalCycleFields ( )
protected

Definition at line 174 of file gfx_towns.cpp.

◆ towns_restoreCharsetBg()

void Scumm::ScummEngine::towns_restoreCharsetBg ( )
protected

Definition at line 115 of file gfx_towns.cpp.

◆ towns_setPaletteFromPtr()

void Scumm::ScummEngine::towns_setPaletteFromPtr ( const byte ptr,
int  numcolor = -1 
)
protected

Definition at line 128 of file gfx_towns.cpp.

◆ towns_setTextPaletteFromPtr()

void Scumm::ScummEngine::towns_setTextPaletteFromPtr ( const byte ptr)
protected

Definition at line 145 of file gfx_towns.cpp.

◆ towns_setupPalCycleField()

void Scumm::ScummEngine::towns_setupPalCycleField ( int  x1,
int  y1,
int  x2,
int  y2 
)
protected

Definition at line 150 of file gfx_towns.cpp.

◆ transitionEffect()

void Scumm::ScummEngine::transitionEffect ( int  a)
protected

Perform a transition effect.

There are four different effects possible: 0: Iris effect 1: Box wipe (a black box expands from the upper-left corner to the lower-right corner) 2: Box wipe (a black box expands from the lower-right corner to the upper-left corner) 3: Inverse box wipe All effects operate on 8x8 blocks of the screen. These blocks are updated in a certain order; the exact order determines how the effect appears to the user.

Parameters
athe transition effect to perform

Definition at line 3866 of file gfx.cpp.

◆ translateText()

void Scumm::ScummEngine::translateText ( const byte text,
byte trans_buff 
)
virtual

Reimplemented in Scumm::ScummEngine_v7.

Definition at line 1603 of file string.cpp.

◆ unfreezeScripts()

void Scumm::ScummEngine::unfreezeScripts ( )
protected

Definition at line 863 of file script.cpp.

◆ unkScreenEffect6()

void Scumm::ScummEngine::unkScreenEffect6 ( )
protected

Definition at line 4151 of file gfx.cpp.

◆ updateCursor()

void Scumm::ScummEngine::updateCursor ( )
protected

Definition at line 117 of file cursor.cpp.

◆ updateDirtyScreen()

void Scumm::ScummEngine::updateDirtyScreen ( VirtScreenNumber  slot)
protected

Blit the dirty data from the given VirtScreen to the display.

If the camera moved, a full blit is done, otherwise only the visible dirty areas are updated.

Definition at line 570 of file gfx.cpp.

◆ updateObjectStates()

void Scumm::ScummEngine::updateObjectStates ( )
protected

Definition at line 1070 of file object.cpp.

◆ updatePalette()

void Scumm::ScummEngine::updatePalette ( )
protectedvirtual

Reimplemented in Scumm::ScummEngine_v99he.

Definition at line 1329 of file palette.cpp.

◆ updateScriptPtr()

void Scumm::ScummEngine::updateScriptPtr ( )
protected

Definition at line 359 of file script.cpp.

◆ upgradeGfxUsageBits()

void Scumm::ScummEngine::upgradeGfxUsageBits ( )
protected

Definition at line 29 of file usage_bits.cpp.

◆ verbMouseOver()

void Scumm::ScummEngine::verbMouseOver ( int  verb)
protected

Definition at line 928 of file verbs.cpp.

◆ versionDialog()

void Scumm::ScummEngine::versionDialog ( )
protected

Definition at line 2832 of file scumm.cpp.

◆ waitForTimer()

void Scumm::ScummEngine::waitForTimer ( int  msec_delay)
protected

Definition at line 2183 of file scumm.cpp.

◆ walkActors()

void Scumm::ScummEngine::walkActors ( )
protected

Definition at line 427 of file actor.cpp.

◆ whereIsObject()

int Scumm::ScummEngine::whereIsObject ( int  object) const
protected

Definition at line 338 of file object.cpp.

◆ writeVar()

void Scumm::ScummEngine::writeVar ( uint  var,
int  value 
)
protectedvirtual

Reimplemented in Scumm::ScummEngine_v2, and Scumm::ScummEngine_v8.

Definition at line 617 of file script.cpp.

Friends And Related Function Documentation

◆ CharsetRenderer

friend class CharsetRenderer
friend

Definition at line 380 of file scumm.h.

◆ CharsetRendererTownsClassic

friend class CharsetRendererTownsClassic
friend

Definition at line 381 of file scumm.h.

◆ ResourceManager

friend class ResourceManager
friend

Definition at line 382 of file scumm.h.

◆ ScummDebugger

friend class ScummDebugger
friend

Definition at line 379 of file scumm.h.

◆ syncWithSerializer

void syncWithSerializer ( Common::Serializer s,
ScummEngine::ScaleSlot ss 
)
friend

Definition at line 903 of file saveload.cpp.

Member Data Documentation

◆ _16BitPalette

uint16* Scumm::ScummEngine::_16BitPalette

Definition at line 1105 of file scumm.h.

◆ _2byteFontPtr

byte* Scumm::ScummEngine::_2byteFontPtr
protected

Definition at line 1240 of file scumm.h.

◆ _2byteHeight

int Scumm::ScummEngine::_2byteHeight

Definition at line 1234 of file scumm.h.

◆ _2byteWidth

int Scumm::ScummEngine::_2byteWidth

Definition at line 1235 of file scumm.h.

◆ _actors

Actor** Scumm::ScummEngine::_actors
protected

Definition at line 511 of file scumm.h.

◆ _actorToPrintStrFor

byte Scumm::ScummEngine::_actorToPrintStrFor

Definition at line 909 of file scumm.h.

◆ _amigaFirstUsedColor

uint16 Scumm::ScummEngine::_amigaFirstUsedColor
protected

Definition at line 1133 of file scumm.h.

◆ _amigaPalette

byte Scumm::ScummEngine::_amigaPalette[3 *64]
protected

Definition at line 1134 of file scumm.h.

◆ _arraySlot

byte* Scumm::ScummEngine::_arraySlot
protected

Definition at line 514 of file scumm.h.

◆ _bgNeedsRedraw

bool Scumm::ScummEngine::_bgNeedsRedraw
protected

Definition at line 951 of file scumm.h.

◆ _bitVars

byte* Scumm::ScummEngine::_bitVars
protected

Definition at line 538 of file scumm.h.

◆ _bootParam

int Scumm::ScummEngine::_bootParam
protected

The bootparam, to be passed to the script 1, the bootscript.

Definition at line 594 of file scumm.h.

◆ _bytesPerPixel

uint8 Scumm::ScummEngine::_bytesPerPixel

Definition at line 939 of file scumm.h.

◆ _charset

CharsetRenderer* Scumm::ScummEngine::_charset

Definition at line 1183 of file scumm.h.

◆ _charsetBuffer

byte Scumm::ScummEngine::_charsetBuffer[512]
protected

Definition at line 1198 of file scumm.h.

◆ _charsetBufPos

int Scumm::ScummEngine::_charsetBufPos
protected

Definition at line 1197 of file scumm.h.

◆ _charsetColor

byte Scumm::ScummEngine::_charsetColor
protected

Definition at line 1194 of file scumm.h.

◆ _charsetColorMap

byte Scumm::ScummEngine::_charsetColorMap[16]

Definition at line 1184 of file scumm.h.

◆ _charsetData

byte Scumm::ScummEngine::_charsetData[23][16]
protected

Definition at line 1195 of file scumm.h.

◆ _cjkFont

Graphics::FontSJIS* Scumm::ScummEngine::_cjkFont

Definition at line 1390 of file scumm.h.

◆ _classData

uint32* Scumm::ScummEngine::_classData

Definition at line 809 of file scumm.h.

◆ _CLUT_offs

uint32 Scumm::ScummEngine::_CLUT_offs
protected

Definition at line 947 of file scumm.h.

◆ _colorCycle

ColorCycle Scumm::ScummEngine::_colorCycle[16]
protected

Definition at line 943 of file scumm.h.

◆ _colorUsedByCycle

uint8 Scumm::ScummEngine::_colorUsedByCycle[256]
protected

Definition at line 944 of file scumm.h.

◆ _completeScreenRedraw

bool Scumm::ScummEngine::_completeScreenRedraw
protected

Definition at line 952 of file scumm.h.

◆ _compositeBuf

byte* Scumm::ScummEngine::_compositeBuf
protected

Definition at line 1045 of file scumm.h.

◆ _containerFile

Common::String Scumm::ScummEngine::_containerFile

The name of the (macintosh/rescumm style) container file, if any.

Definition at line 733 of file scumm.h.

◆ _copyProtection

bool Scumm::ScummEngine::_copyProtection
protected

Definition at line 1130 of file scumm.h.

◆ _costumeLoader

BaseCostumeLoader* Scumm::ScummEngine::_costumeLoader

Definition at line 553 of file scumm.h.

◆ _costumeRenderer

BaseCostumeRenderer* Scumm::ScummEngine::_costumeRenderer

Definition at line 554 of file scumm.h.

◆ _curPalIndex

int Scumm::ScummEngine::_curPalIndex
protected

Definition at line 566 of file scumm.h.

◆ _currentCursor

byte Scumm::ScummEngine::_currentCursor
protected

Definition at line 964 of file scumm.h.

◆ _currentPalette

byte Scumm::ScummEngine::_currentPalette[3 *256]
protected

Definition at line 1114 of file scumm.h.

◆ _currentRoom

byte Scumm::ScummEngine::_currentRoom

Definition at line 569 of file scumm.h.

◆ _currentScript

byte Scumm::ScummEngine::_currentScript
protected

Definition at line 653 of file scumm.h.

◆ _cursor

struct { ... } Scumm::ScummEngine::_cursor

◆ _curStringRect

Common::Rect Scumm::ScummEngine::_curStringRect
protected

Definition at line 1414 of file scumm.h.

◆ _cyclRects

Common::Rect Scumm::ScummEngine::_cyclRects[16]
protected

Definition at line 1411 of file scumm.h.

◆ _darkenPalette

byte Scumm::ScummEngine::_darkenPalette[3 *256]
protected

Definition at line 1115 of file scumm.h.

◆ _debugger

ScummDebugger* Scumm::ScummEngine::_debugger

Definition at line 396 of file scumm.h.

◆ _debugMode

bool Scumm::ScummEngine::_debugMode
protected

Definition at line 600 of file scumm.h.

◆ _defaultTalkDelay

uint16 Scumm::ScummEngine::_defaultTalkDelay
protected

Definition at line 1126 of file scumm.h.

◆ _disableFadeInEffect

bool Scumm::ScummEngine::_disableFadeInEffect
protected

Definition at line 953 of file scumm.h.

◆ _doEffect

bool Scumm::ScummEngine::_doEffect
protected

Definition at line 967 of file scumm.h.

◆ _drawObjectQue

byte Scumm::ScummEngine::_drawObjectQue[200]
protected

Definition at line 1073 of file scumm.h.

◆ _drawObjectQueNr

int Scumm::ScummEngine::_drawObjectQueNr
protected

Definition at line 1072 of file scumm.h.

◆ _dumpScripts

bool Scumm::ScummEngine::_dumpScripts
protected

Definition at line 597 of file scumm.h.

◆ _egoPositioned

bool Scumm::ScummEngine::_egoPositioned

Definition at line 571 of file scumm.h.

◆ _enable_gs

bool Scumm::ScummEngine::_enable_gs
protected

Definition at line 1129 of file scumm.h.

◆ _ENCD_offs

uint32 Scumm::ScummEngine::_ENCD_offs
protected

Definition at line 946 of file scumm.h.

◆ _EPAL_offs

uint32 Scumm::ScummEngine::_EPAL_offs
protected

Definition at line 947 of file scumm.h.

◆ _EXCD_offs

uint32 Scumm::ScummEngine::_EXCD_offs
protected

Definition at line 946 of file scumm.h.

◆ _extraBoxFlags

uint16 Scumm::ScummEngine::_extraBoxFlags[65]

Definition at line 1142 of file scumm.h.

◆ _fastMode

byte Scumm::ScummEngine::_fastMode
protected

Definition at line 505 of file scumm.h.

◆ _fileHandle

BaseScummFile* Scumm::ScummEngine::_fileHandle
protected

Definition at line 729 of file scumm.h.

◆ _filenamePattern

FilenamePattern Scumm::ScummEngine::_filenamePattern

Definition at line 573 of file scumm.h.

◆ _fileOffset

uint32 Scumm::ScummEngine::_fileOffset
protected

Definition at line 730 of file scumm.h.

◆ _fullRedraw

bool Scumm::ScummEngine::_fullRedraw
protected

Definition at line 951 of file scumm.h.

◆ _game

GameSettings Scumm::ScummEngine::_game

Definition at line 399 of file scumm.h.

◆ _gameMD5

uint8 Scumm::ScummEngine::_gameMD5[16]

Definition at line 400 of file scumm.h.

◆ _gdi

Gdi* Scumm::ScummEngine::_gdi

Graphics manager.

Definition at line 406 of file scumm.h.

◆ _grabbedCursor

byte Scumm::ScummEngine::_grabbedCursor[16384]
protected

Definition at line 963 of file scumm.h.

◆ _haveActorSpeechMsg

bool Scumm::ScummEngine::_haveActorSpeechMsg
protected

Definition at line 1124 of file scumm.h.

◆ _haveMsg

byte Scumm::ScummEngine::_haveMsg

Definition at line 913 of file scumm.h.

◆ _HEHeapSize

int Scumm::ScummEngine::_HEHeapSize
protected

Definition at line 547 of file scumm.h.

◆ _hePalettes

uint8* Scumm::ScummEngine::_hePalettes

Definition at line 1103 of file scumm.h.

◆ _hePaletteSlot

uint16 Scumm::ScummEngine::_hePaletteSlot

Definition at line 1104 of file scumm.h.

◆ _herculesBuf

byte* Scumm::ScummEngine::_herculesBuf
protected

Definition at line 1046 of file scumm.h.

◆ _HEV7ActorPalette

byte Scumm::ScummEngine::_HEV7ActorPalette[256]

Definition at line 1102 of file scumm.h.

◆ _hexdumpScripts

bool Scumm::ScummEngine::_hexdumpScripts
protected

Definition at line 598 of file scumm.h.

◆ _IM00_offs

uint32 Scumm::ScummEngine::_IM00_offs
protected

Definition at line 948 of file scumm.h.

◆ _imuse

IMuse* Scumm::ScummEngine::_imuse

Definition at line 388 of file scumm.h.

◆ _imuseDigital

IMuseDigital* Scumm::ScummEngine::_imuseDigital

Definition at line 389 of file scumm.h.

◆ _inventory

uint16* Scumm::ScummEngine::_inventory
protected

Definition at line 515 of file scumm.h.

◆ _keepText

bool Scumm::ScummEngine::_keepText
protected

Definition at line 1200 of file scumm.h.

◆ _keyDownMap

bool Scumm::ScummEngine::_keyDownMap[512]
protected

Definition at line 579 of file scumm.h.

◆ _keyPressed

Common::KeyState Scumm::ScummEngine::_keyPressed
protected

Definition at line 578 of file scumm.h.

◆ _language

Common::Language Scumm::ScummEngine::_language

Definition at line 1227 of file scumm.h.

◆ _lastCodePtr

const byte* const* Scumm::ScummEngine::_lastCodePtr
protected

Definition at line 651 of file scumm.h.

◆ _lastInputScriptTime

uint32 Scumm::ScummEngine::_lastInputScriptTime
protected

Last time runInputScript was run (measured in terms of OSystem::getMillis()).

This is currently only used for Indy3 mac to detect "double clicks".

Definition at line 591 of file scumm.h.

◆ _lastLoadedRoom

int Scumm::ScummEngine::_lastLoadedRoom
protected

Definition at line 790 of file scumm.h.

◆ _lastSaveTime

uint32 Scumm::ScummEngine::_lastSaveTime
protected