ScummVM API documentation
Scumm::ScummEngine_v60he Class Reference
Inheritance diagram for Scumm::ScummEngine_v60he:
Scumm::ScummEngine_v6 Scumm::ScummEngine Engine Common::Serializable Scumm::ScummEngine_v70he

Public Member Functions

int getHETimer (int timer)
 
void setHETimer (int timer)
 
void pauseHETimers (bool pause)
 
 ScummEngine_v60he (OSystem *syst, const DetectorResult &dr)
 
Common::Path generateFilename (const int room) const override
 
void setActorClippingRect (int actor, int x1, int y1, int x2, int y2)
 
bool actorsOverlapInStrip (int actorA, int actorB, int stripNumber)
 
void resetScumm () override
 
- Public Member Functions inherited from Scumm::ScummEngine_v6
 ScummEngine_v6 (OSystem *syst, const DetectorResult &dr)
 
void resetScumm () override
 
void nukeArray (int array)
 
void removeBlastObjects ()
 
void restoreBlastObjectsRects ()
 
bool akos_increaseAnims (const byte *akos, Actor *a)
 
bool akos_increaseAnim (Actor *a, int i, const byte *aksq, const uint16 *akfo, int numakfo)
 
- Public Member Functions inherited from Scumm::ScummEngine
 ScummEngine (OSystem *syst, const DetectorResult &dr)
 
Common::Error init ()
 
Common::Error go ()
 
Common::Error run () override
 
void errorString (const char *buf_input, char *buf_output, int buf_output_size) override
 
bool hasFeature (EngineFeature f) const override
 
bool gameSupportsQuitDialogOverride () const
 
void syncSoundSettings () override
 
Common::Error loadGameState (int slot) override
 
bool canLoadGameStateCurrently (Common::U32String *msg=nullptr) override
 
Common::Error saveGameState (int slot, const Common::String &desc, bool isAutosave=false) override
 
bool canSaveGameStateCurrently (Common::U32String *msg=nullptr) override
 
void pauseEngineIntern (bool pause) override
 
void beginTextInput ()
 
void endTextInput ()
 
void parseEvents ()
 
void pauseGame ()
 
void restart ()
 
bool isUsingOriginalGUI () const
 
bool isMessageBannerActive ()
 
char displayMessage (const char *altButton, MSVC_PRINTF const char *message,...) GCC_PRINTF(3
 
char bool displayMessageYesNo (MSVC_PRINTF const char *message,...) GCC_PRINTF(2
 
int32 & scummVar (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)
 
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
 
bool canPauseSoundsDuringSave () 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::Path &filename, bool resourceFile=false)
 
int getResourceSize (ResType type, ResId idx)
 
byte * getResourceAddress (ResType type, ResId idx)
 
byte * getStringAddressVar (int i)
 
void ensureResourceLoaded (ResType type, ResId idx)
 
const byte * findResourceData (uint32 tag, const byte *ptr)
 
const byte * findResource (uint32 tag, const byte *ptr)
 
void applyWorkaroundIfNeeded (ResType type, int idx)
 
bool verifyMI2MacBootScript ()
 
bool verifyMI2MacBootScript (byte *buf, int size)
 
bool tryPatchMI1CannibalScript (byte *buf, int size)
 
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 getObjectOrActorWidth (int object, int &width)
 
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
 
uint8 * getHEPaletteSlot (uint16 palSlot)
 
uint16 get16BitColor (uint8 r, uint8 g, uint8 b)
 
uint32 getPaletteColorFromRGB (byte *palette, byte r, byte g, byte b)
 
uint32 getPackedRGBColorFromPalette (byte *palette, uint32 color)
 
void fetchBlackAndWhite (uint32 &black, uint32 &white, byte *palette, int paletteEntries)
 
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)
 
byte * getMaskBuffer (int x, int y, int z)
 
double getTimerFrequency ()
 
double getAmigaMusicTimerFrequency ()
 
byte getNumBoxes ()
 
byte * getBoxMatrixBaseAddr ()
 
byte * getBoxConnectionBase (int box)
 
int getNextBox (byte from, byte to)
 
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)
 
Box * getBoxBaseAddr (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, int transBufferSize)
 
bool reverseIfNeeded (const byte *text, byte *reverseBuf, int reverseBufSize) const
 
Common::CodePage getDialogCodePage () const
 
byte * get2byteCharPtr (int idx)
 
bool isScummvmKorTarget ()
 
bool hasLocalizer ()
 
bool towns_isRectInStringBox (int x1, int y1, int x2, int y2)
 
- Public Member Functions inherited from Engine
MetaEnginegetMetaEngine () const
 
void setMetaEngine (MetaEngine *metaEngine)
 
PauseToken pauseEngine ()
 
bool isPaused () const
 
void openMainMenuDialog ()
 
uint32 getTotalPlayTime () const
 
void setTotalPlayTime (uint32 time=0)
 
Common::TimerManagergetTimerManager ()
 
Common::EventManagergetEventManager ()
 
Common::SaveFileManagergetSaveFileManager ()
 
bool existExtractedCDAudioFiles (uint track=1)
 
bool isDataAndCDAudioReadFromSameCD ()
 
void warnMissingExtractedCDAudio ()
 
void handleAutoSave ()
 
void saveAutosaveIfEnabled ()
 
virtual bool canSaveAutosaveCurrently ()
 
virtual int getAutosaveSlot () const
 
 Engine (OSystem *syst)
 
virtual ~Engine ()
 
virtual void initializePath (const Common::FSNode &gamePath)
 
virtual GUI::DebuggergetDebugger () final
 
void setDebugger (GUI::Debugger *debugger)
 
GUI::DebuggergetOrCreateDebugger ()
 
bool enhancementEnabled (int32 cls)
 
virtual void applyGameSettings ()
 
virtual void flipMute ()
 
virtual Common::String getSaveStateName (int slot) const
 
virtual Common::Error loadGameStream (Common::SeekableReadStream *stream)
 
void setGameToLoadSlot (int slot)
 
virtual Common::Error saveGameStream (Common::WriteStream *stream, bool isAutosave=false)
 
bool saveGameDialog ()
 
bool loadGameDialog ()
 

Public Attributes

Common::SeekableReadStream_hInFileTable [17]
 
Common::SeekableWriteStream_hOutFileTable [17]
 
Common::Rect _defaultActorClipping
 
int _heTimers [16]
 
uint32 _pauseStartTime = 0
 
- Public Attributes inherited from Scumm::ScummEngine
IMuse_imuse = nullptr
 
IMuseDigital * _imuseDigital = nullptr
 
MusicEngine_musicEngine = nullptr
 
Player_Towns_townsPlayer = nullptr
 
Sound_sound = nullptr
 
VerbSlot_verbs = nullptr
 
ObjectData_objs = nullptr
 
GameSettings _game
 
uint8 _gameMD5 [16]
 
Common::RandomSource _rnd
 
Gdi_gdi = nullptr
 
ResourceManager_res = nullptr
 
int _insideCreateResource = 0
 
bool _useOriginalGUI = true
 
bool _enableAudioOverride = false
 
bool _enableCOMISong = false
 
bool _isAmigaPALSystem = false
 
bool _quitFromScriptCmd = false
 
bool _isHE995 = false
 
bool _enableHECompetitiveOnlineMods = false
 
Common::Keymap_insaneKeymap
 
bool _isIndy4Jap = false
 
int _numLocalScripts = 60
 
int _numImages = 0
 
int _numRooms = 0
 
int _numScripts = 0
 
int _numSounds = 0
 
int _numCostumes = 0
 
int32 _numCharsets = 0
 
BaseCostumeLoader_costumeLoader = nullptr
 
BaseCostumeRenderer_costumeRenderer = nullptr
 
int _NESCostumeSet = 0
 
byte * _NEScostdesc = nullptr
 
byte * _NEScostlens = nullptr
 
byte * _NEScostoffs = nullptr
 
byte * _NEScostdata = nullptr
 
byte _NESPatTable [2][4096]
 
byte _NESPalette [2][16]
 
byte _NESBaseTiles = 0
 
int _NESStartStrip = 0
 
byte _currentRoom = 0
 
int _roomResource = 0
 
bool _egoPositioned = false
 
FilenamePattern _filenamePattern
 
Common::Path _containerFile
 
Common::Path _macCursorFile
 
byte OF_OWNER_ROOM = 0
 
uint32 * _classData = nullptr
 
byte _actorToPrintStrFor = 0
 
byte _V1TalkingActor = 0
 
int _sentenceNum = 0
 
SentenceTab _sentence [NUM_SENTENCE]
 
StringTab _string [6]
 
byte _haveMsg = 0
 
int16 _talkDelay = 0
 
int _NES_lastTalkingActor = 0
 
int _NES_talkColor = 0
 
int _roomHeight = 0
 
int _roomWidth = 0
 
int _screenHeight = 0
 
int _screenWidth = 0
 
VirtScreen _virtscr [4]
 
CameraData camera
 
bool _cameraIsFrozen = false
 
int _screenStartStrip = 0
 
int _screenEndStrip = 0
 
int _screenTop = 0
 
bool _forceBannerVirtScreen = false
 
bool _useMacScreenCorrectHeight = true
 
int _macScreenDrawOffset = 20
 
Common::RenderMode _renderMode
 
uint8 _bytesPerPixel = 1
 
Graphics::PixelFormat _outputPixelFormat
 
byte _roomPalette [256]
 
byte * _shadowPalette = nullptr
 
bool _skipDrawObject = 0
 
int _voiceMode = 0
 
byte _HEV7ActorPalette [256]
 
uint8 * _hePalettes = nullptr
 
uint16 _hePaletteSlot = 0
 
uint16 * _16BitPalette = nullptr
 
byte * _verbPalette = nullptr
 
ScummEngine_v0_Delays _V0Delay
 
uint16 _extraBoxFlags [65]
 
CharsetRenderer_charset = nullptr
 
byte _charsetColorMap [16]
 
Graphics::Surface _textSurface
 
int _textSurfaceMultiplier = 0
 
Graphics::Surface_macScreen = nullptr
 
MacGui_macGui = nullptr
 
bool _useMacGraphicsSmoothing = true
 
byte _completeScreenBuffer [320 *200]
 
Common::Language _language
 
bool _useCJKMode = false
 
bool _useMultiFont = false
 
int _numLoadedFont = 0
 
int _2byteShadow = 0
 
bool _force2ByteCharHeight = false
 
int _2byteHeight = 0
 
int _2byteWidth = 0
 
int _krStrPost = 0
 
byte _newLineCharacter = 0
 
byte * _2byteFontPtr = nullptr
 
byte * _2byteMultiFontPtr [20]
 
int _2byteMultiHeight [20]
 
int _2byteMultiWidth [20]
 
int _2byteMultiShadow [20]
 
byte VAR_KEYPRESS = 0xFF
 
byte VAR_SYNC = 0xFF
 
byte VAR_EGO = 0xFF
 
byte VAR_CAMERA_POS_X = 0xFF
 
byte VAR_HAVE_MSG = 0xFF
 
byte VAR_ROOM = 0xFF
 
byte VAR_OVERRIDE = 0xFF
 
byte VAR_MACHINE_SPEED = 0xFF
 
byte VAR_ME = 0xFF
 
byte VAR_NUM_ACTOR = 0xFF
 
byte VAR_CURRENT_LIGHTS = 0xFF
 
byte VAR_CURRENTDRIVE = 0xFF
 
byte VAR_CURRENTDISK = 0xFF
 
byte VAR_TMR_1 = 0xFF
 
byte VAR_TMR_2 = 0xFF
 
byte VAR_TMR_3 = 0xFF
 
byte VAR_MUSIC_TIMER = 0xFF
 
byte VAR_ACTOR_RANGE_MIN = 0xFF
 
byte VAR_ACTOR_RANGE_MAX = 0xFF
 
byte VAR_CAMERA_MIN_X = 0xFF
 
byte VAR_CAMERA_MAX_X = 0xFF
 
byte VAR_TIMER_NEXT = 0xFF
 
byte VAR_VIRT_MOUSE_X = 0xFF
 
byte VAR_VIRT_MOUSE_Y = 0xFF
 
byte VAR_ROOM_RESOURCE = 0xFF
 
byte VAR_LAST_SOUND = 0xFF
 
byte VAR_CUTSCENEEXIT_KEY = 0xFF
 
byte VAR_OPTIONS_KEY = 0xFF
 
byte VAR_TALK_ACTOR = 0xFF
 
byte VAR_CAMERA_FAST_X = 0xFF
 
byte VAR_SCROLL_SCRIPT = 0xFF
 
byte VAR_ENTRY_SCRIPT = 0xFF
 
byte VAR_ENTRY_SCRIPT2 = 0xFF
 
byte VAR_EXIT_SCRIPT = 0xFF
 
byte VAR_EXIT_SCRIPT2 = 0xFF
 
byte VAR_VERB_SCRIPT = 0xFF
 
byte VAR_SENTENCE_SCRIPT = 0xFF
 
byte VAR_INVENTORY_SCRIPT = 0xFF
 
byte VAR_CUTSCENE_START_SCRIPT = 0xFF
 
byte VAR_CUTSCENE_END_SCRIPT = 0xFF
 
byte VAR_CHARINC = 0xFF
 
byte VAR_WALKTO_OBJ = 0xFF
 
byte VAR_DEBUGMODE = 0xFF
 
byte VAR_HEAPSPACE = 0xFF
 
byte VAR_RESTART_KEY = 0xFF
 
byte VAR_PAUSE_KEY = 0xFF
 
byte VAR_MOUSE_X = 0xFF
 
byte VAR_MOUSE_Y = 0xFF
 
byte VAR_TIMER = 0xFF
 
byte VAR_TIMER_TOTAL = 0xFF
 
byte VAR_SOUNDCARD = 0xFF
 
byte VAR_VIDEOMODE = 0xFF
 
byte VAR_MAINMENU_KEY = 0xFF
 
byte VAR_FIXEDDISK = 0xFF
 
byte VAR_CURSORSTATE = 0xFF
 
byte VAR_USERPUT = 0xFF
 
byte VAR_SOUNDRESULT = 0xFF
 
byte VAR_TALKSTOP_KEY = 0xFF
 
byte VAR_FADE_DELAY = 0xFF
 
byte VAR_NOSUBTITLES = 0xFF
 
byte VAR_SOUNDPARAM = 0xFF
 
byte VAR_SOUNDPARAM2 = 0xFF
 
byte VAR_SOUNDPARAM3 = 0xFF
 
byte VAR_INPUTMODE = 0xFF
 
byte VAR_MEMORY_PERFORMANCE = 0xFF
 
byte VAR_VIDEO_PERFORMANCE = 0xFF
 
byte VAR_ROOM_FLAG = 0xFF
 
byte VAR_GAME_LOADED = 0xFF
 
byte VAR_NEW_ROOM = 0xFF
 
byte VAR_V5_TALK_STRING_Y = 0xFF
 
byte VAR_ROOM_WIDTH = 0xFF
 
byte VAR_ROOM_HEIGHT = 0xFF
 
byte VAR_SUBTITLES = 0xFF
 
byte VAR_V6_EMSSPACE = 0xFF
 
byte VAR_CAMERA_POS_Y = 0xFF
 
byte VAR_CAMERA_MIN_Y = 0xFF
 
byte VAR_CAMERA_MAX_Y = 0xFF
 
byte VAR_CAMERA_THRESHOLD_X = 0xFF
 
byte VAR_CAMERA_THRESHOLD_Y = 0xFF
 
byte VAR_CAMERA_SPEED_X = 0xFF
 
byte VAR_CAMERA_SPEED_Y = 0xFF
 
byte VAR_CAMERA_ACCEL_X = 0xFF
 
byte VAR_CAMERA_ACCEL_Y = 0xFF
 
byte VAR_CAMERA_DEST_X = 0xFF
 
byte VAR_CAMERA_DEST_Y = 0xFF
 
byte VAR_CAMERA_FOLLOWED_ACTOR = 0xFF
 
byte VAR_VERSION_KEY = 0xFF
 
byte VAR_DEFAULT_TALK_DELAY = 0xFF
 
byte VAR_CUSTOMSCALETABLE = 0xFF
 
byte VAR_BLAST_ABOVE_TEXT = 0xFF
 
byte VAR_VOICE_MODE = 0xFF
 
byte VAR_MUSIC_BUNDLE_LOADED = 0xFF
 
byte VAR_VOICE_BUNDLE_LOADED = 0xFF
 
byte VAR_LEFTBTN_DOWN = 0xFF
 
byte VAR_RIGHTBTN_DOWN = 0xFF
 
byte VAR_LEFTBTN_HOLD = 0xFF
 
byte VAR_RIGHTBTN_HOLD = 0xFF
 
byte VAR_PRE_SAVELOAD_SCRIPT = 0xFF
 
byte VAR_POST_SAVELOAD_SCRIPT = 0xFF
 
byte VAR_SAVELOAD_PAGE = 0xFF
 
byte VAR_OBJECT_LABEL_FLAG = 0xFF
 
byte VAR_CHARSET_MASK = 0xFF
 
byte VAR_V6_SOUNDMODE = 0xFF
 
byte VAR_CHARCOUNT = 0xFF
 
byte VAR_VERB_ALLOWED = 0xFF
 
byte VAR_ACTIVE_VERB = 0xFF
 
byte VAR_ACTIVE_OBJECT1 = 0xFF
 
byte VAR_ACTIVE_OBJECT2 = 0xFF
 
byte VAR_ALWAYS_REDRAW_ACTORS = 0xFF
 
byte VAR_SKIP_RESET_TALK_ACTOR = 0xFF
 
byte VAR_SOUND_CHANNEL = 0xFF
 
byte VAR_TALK_CHANNEL = 0xFF
 
byte VAR_SOUND_TOKEN_OFFSET = 0xFF
 
byte VAR_START_DYN_SOUND_CHANNELS = 0xFF
 
byte VAR_SOUND_CALLBACK_SCRIPT = 0xFF
 
byte VAR_EARLY_TALKIE_CALLBACK = 0xFF
 
byte VAR_EARLY_CHAN_0_CALLBACK = 0xFF
 
byte VAR_EARLY_CHAN_1_CALLBACK = 0xFF
 
byte VAR_EARLY_CHAN_2_CALLBACK = 0xFF
 
byte VAR_EARLY_CHAN_3_CALLBACK = 0xFF
 
byte VAR_MAIN_SCRIPT = 0xFF
 
byte VAR_DEFAULT_SCRIPT_PRIORITY = 0xFF
 
byte VAR_LAST_SCRIPT_PRIORITY = 0xFF
 
byte VAR_QUIT_SCRIPT = 0xFF
 
byte VAR_ERROR_FLAG = 0xFF
 
byte VAR_OPERATION_FAILURE = 0xFF
 
byte VAR_COLOR_BLACK = 0xFF
 
byte VAR_NUM_GLOBAL_OBJS = 0xFF
 
byte _townsPaletteFlags = 0
 
byte _townsCharsetColorMap [16]
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 

Protected Types

enum  SubOpType {
  SO_ACTOR_DEFAULT_CLIPPED = 30, SO_BACKGROUND_ON = 218, SO_BACKGROUND_OFF = 219, SO_ROOM_COPY_PALETTE = 220,
  SO_ROOM_SAVEGAME_BY_NAME = 221, SO_SOUND_START_VOLUME = 222, SO_SOUND_VOLUME_RAMP = 223, SO_SOUND_FREQUENCY = 224,
  SO_TALKIE = 225, SO_OBJECT_ORDER = 234, SO_ROOM_PALETTE_IN_ROOM = 236, SO_COLOR_LIST = 249
}
 
- Protected Types inherited from Scumm::ScummEngine_v6
enum  ArrayType {
  kBitArray = 1, kNibbleArray = 2, kByteArray = 3, kStringArray = 4,
  kIntArray = 5, kDwordArray = 6
}
 
enum  SubOpType {
  SO_AT = 65, SO_COLOR = 66, SO_CLIPPED = 67, SO_CENTER = 69,
  SO_LEFT = 71, SO_OVERHEAD = 72, SO_MUMBLE = 74, SO_TEXTSTRING = 75,
  SO_COSTUME = 76, SO_STEP_DIST = 77, SO_SOUND = 78, SO_WALK_ANIMATION = 79,
  SO_TALK_ANIMATION = 80, SO_STAND_ANIMATION = 81, SO_ANIMATION = 82, SO_DEFAULT = 83,
  SO_ELEVATION = 84, SO_ANIMATION_DEFAULT = 85, SO_PALETTE = 86, SO_TALK_COLOR = 87,
  SO_ACTOR_NAME = 88, SO_INIT_ANIMATION = 89, SO_ACTOR_WIDTH = 91, SO_SCALE = 92,
  SO_NEVER_ZCLIP = 93, SO_ALWAYS_ZCLIP = 94, SO_IGNORE_BOXES = 95, SO_FOLLOW_BOXES = 96,
  SO_ANIMATION_SPEED = 97, SO_SHADOW = 98, SO_TEXT_OFFSET = 99, SO_LOAD_SCRIPT = 100,
  SO_LOAD_SOUND = 101, SO_LOAD_COSTUME = 102, SO_LOAD_ROOM = 103, SO_NUKE_SCRIPT = 104,
  SO_NUKE_SOUND = 105, SO_NUKE_COSTUME = 106, SO_NUKE_ROOM = 107, SO_LOCK_SCRIPT = 108,
  SO_LOCK_SOUND = 109, SO_LOCK_COSTUME = 110, SO_LOCK_ROOM = 111, SO_UNLOCK_SCRIPT = 112,
  SO_UNLOCK_SOUND = 113, SO_UNLOCK_COSTUME = 114, SO_UNLOCK_ROOM = 115, SO_CLEAR_HEAP = 116,
  SO_LOAD_CHARSET = 117, SO_NUKE_CHARSET = 118, SO_LOAD_OBJECT = 119, SO_VERB_IMAGE = 124,
  SO_VERB_NAME = 125, SO_VERB_COLOR = 126, SO_VERB_HICOLOR = 127, SO_VERB_AT = 128,
  SO_VERB_ON = 129, SO_VERB_OFF = 130, SO_VERB_DELETE = 131, SO_VERB_NEW = 132,
  SO_VERB_DIMCOLOR = 133, SO_VERB_DIM = 134, SO_VERB_KEY = 135, SO_VERB_CENTER = 136,
  SO_VERB_NAME_STR = 137, SO_VERB_IMAGE_IN_ROOM = 139, SO_VERB_BAKCOLOR = 140, SO_SAVE_VERBS = 141,
  SO_RESTORE_VERBS = 142, SO_DELETE_VERBS = 143, SO_CURSOR_ON = 144, SO_CURSOR_OFF = 145,
  SO_USERPUT_ON = 146, SO_USERPUT_OFF = 147, SO_CURSOR_SOFT_ON = 148, SO_CURSOR_SOFT_OFF = 149,
  SO_USERPUT_SOFT_ON = 150, SO_USERPUT_SOFT_OFF = 151, SO_CURSOR_IMAGE = 153, SO_CURSOR_HOTSPOT = 154,
  SO_CHARSET_SET = 156, SO_CHARSET_COLOR = 157, SO_RESTART = 158, SO_PAUSE = 159,
  SO_QUIT = 160, SO_WAIT_FOR_ACTOR = 168, SO_WAIT_FOR_MESSAGE = 169, SO_WAIT_FOR_CAMERA = 170,
  SO_WAIT_FOR_SENTENCE = 171, SO_ROOM_SCROLL = 172, SO_ROOM_SCREEN = 174, SO_ROOM_PALETTE = 175,
  SO_ROOM_SHAKE_ON = 176, SO_ROOM_SHAKE_OFF = 177, SO_ROOM_INTENSITY = 179, SO_ROOM_SAVEGAME = 180,
  SO_ROOM_FADE = 181, SO_RGB_ROOM_INTENSITY = 182, SO_ROOM_SHADOW = 183, SO_SAVE_STRING = 184,
  SO_LOAD_STRING = 185, SO_ROOM_TRANSFORM = 186, SO_CYCLE_SPEED = 187, SO_VERB_INIT = 196,
  SO_ACTOR_INIT = 197, SO_ACTOR_VARIABLE = 198, SO_INT_ARRAY = 199, SO_BIT_ARRAY = 200,
  SO_NIBBLE_ARRAY = 201, SO_BYTE_ARRAY = 202, SO_STRING_ARRAY = 203, SO_UNDIM_ARRAY = 204,
  SO_ASSIGN_STRING = 205, SO_ASSIGN_INT_LIST = 208, SO_ASSIGN_2DIM_LIST = 212, SO_ROOM_NEW_PALETTE = 213,
  SO_CURSOR_TRANSPARENT = 214, SO_ACTOR_IGNORE_TURNS_ON = 215, SO_ACTOR_IGNORE_TURNS_OFF = 216, SO_NEW = 217,
  SO_ALWAYS_ZCLIP_FT_DEMO = 225, SO_WAIT_FOR_ANIMATION = 226, SO_ACTOR_DEPTH = 227, SO_ACTOR_WALK_SCRIPT = 228,
  SO_ACTOR_STOP = 229, SO_ACTOR_FACE = 230, SO_ACTOR_TURN = 231, SO_WAIT_FOR_TURN = 232,
  SO_ACTOR_WALK_PAUSE = 233, SO_ACTOR_WALK_RESUME = 234, SO_ACTOR_TALK_SCRIPT = 235, SO_BASEOP = 254,
  SO_END = 255
}
 

Protected Member Functions

void setupOpcodes () override
 
void saveLoadWithSerializer (Common::Serializer &s) override
 
void localizeArray (int slot, byte scriptSlot)
 
void redimArray (int arrayId, int newX, int newY, int d)
 
int readFileToArray (int slot, int32 size)
 
void writeFileFromArray (int slot, int resID)
 
int virtScreenSave (byte *dst, int x1, int y1, int x2, int y2)
 
void virtScreenLoad (int resIdx, int x1, int y1, int x2, int y2)
 
void decodeParseString (int a, int b) override
 
void swapObjects (int object1, int object2)
 
Common::Path convertFilePath (const byte *src)
 
Common::String convertSavePath (const byte *src)
 
Common::String convertSavePathOld (const byte *src)
 
Common::SeekableReadStreamopenFileForReading (const byte *fileName)
 
Common::SeekableReadStreamopenSaveFileForReading (const byte *fileName)
 
Common::SeekableWriteStreamopenSaveFileForWriting (const byte *fileName)
 
Common::SeekableWriteStreamopenSaveFileForAppending (const byte *fileName)
 
void deleteSaveFile (const byte *fileName)
 
void renameSaveFile (const byte *from, const byte *to)
 
void pauseEngineIntern (bool pause) override
 
Common::SeekableReadStreamopenSaveFileForReading (int slot, bool compat, Common::String &fileName) override
 
Common::SeekableWriteStreamopenSaveFileForWriting (int slot, bool compat, Common::String &fileName) override
 
void o60_setState ()
 
void o60_roomOps ()
 
void o60_actorOps ()
 
void o60_kernelSetFunctions ()
 
void o60_kernelGetFunctions ()
 
void o60_openFile ()
 
void o60_closeFile ()
 
void o60_deleteFile ()
 
void o60_readFile ()
 
void o60_rename ()
 
void o60_writeFile ()
 
void o60_soundOps ()
 
void o60_isSoundRunning ()
 
void o60_seekFilePos ()
 
void o60_localizeArrayToScript ()
 
void o60_redimArray ()
 
void o60_readFilePos ()
 
- Protected Member Functions inherited from Scumm::ScummEngine_v6
void setupOpcodes () override
 
void scummLoop_handleSaveLoad () override
 
void scummLoop_handleActors () override
 
void processKeyboard (Common::KeyState lastKeyHit) override
 
void setupScummVars () override
 
void readArrayFromIndexFile () override
 
byte * getStringAddress (ResId idx) override
 
void readMAXS (int blockSize) override
 
void palManipulateInit (int resID, int start, int end, int time) override
 
void drawDirtyScreenParts () override
 
int getStackList (int *args, uint maxnum)
 
int popRoomAndObj (int *room)
 
ArrayHeadergetArray (int array)
 
byte * defineArray (int array, int type, int dim2, int dim1)
 
int findFreeArrayId ()
 
virtual int readArray (int array, int index, int base)
 
virtual void writeArray (int array, int index, int base, int value)
 
void shuffleArray (int num, int minIdx, int maxIdx)
 
void setDefaultCursor () override
 
void setCursorTransparency (int a) override
 
void setCursorHotspot (int x, int y) override
 
virtual void setCursorFromImg (uint img, uint room, uint imgindex)
 
void useIm01Cursor (const byte *im, int w, int h)
 
void useBompCursor (const byte *im, int w, int h)
 
void grabCursor (int x, int y, int w, int h)
 
void setCursorFromBuffer (const byte *ptr, int width, int height, int pitch, bool preventScale=false) override
 
void ditherCursor ()
 
virtual void drawBlastTexts ()
 
virtual void removeBlastTexts ()
 
void enqueueObject (int objectNumber, int objectX, int objectY, int objectWidth, int objectHeight, int scaleX, int scaleY, int image, int mode)
 
void drawBlastObjects ()
 
void drawBlastObject (BlastObject *eo)
 
void restoreBlastObjectRect (Common::Rect r)
 
void clearDrawQueues () override
 
int getBannerColor (int bannerId) override
 
const char * getGUIString (int stringId) override
 
void setSkipVideo (int value) override
 
void setUpMainMenuControls () override
 
void akos_queCommand (byte cmd, Actor *a, int param_1, int param_2)
 
virtual void akos_processQueue ()
 
void processActors () override
 
int getSpecialBox (int x, int y)
 
int getDistanceBetween (bool is_obj_1, int b, int c, bool is_obj_2, int e, int f)
 
void o6_setBlastObjectWindow ()
 
void o6_pushByte ()
 
void o6_pushWord ()
 
void o6_pushByteVar ()
 
void o6_pushWordVar ()
 
void o6_byteArrayRead ()
 
void o6_wordArrayRead ()
 
void o6_byteArrayIndexedRead ()
 
void o6_wordArrayIndexedRead ()
 
void o6_dup ()
 
void o6_pop ()
 
void o6_not ()
 
void o6_eq ()
 
void o6_neq ()
 
void o6_gt ()
 
void o6_lt ()
 
void o6_le ()
 
void o6_ge ()
 
void o6_add ()
 
void o6_sub ()
 
void o6_mul ()
 
void o6_div ()
 
void o6_land ()
 
void o6_lor ()
 
void o6_writeByteVar ()
 
void o6_writeWordVar ()
 
void o6_byteArrayWrite ()
 
void o6_wordArrayWrite ()
 
void o6_byteArrayIndexedWrite ()
 
void o6_wordArrayIndexedWrite ()
 
void o6_byteVarInc ()
 
void o6_wordVarInc ()
 
void o6_byteArrayInc ()
 
void o6_wordArrayInc ()
 
void o6_byteVarDec ()
 
void o6_wordVarDec ()
 
void o6_byteArrayDec ()
 
void o6_wordArrayDec ()
 
void o6_if ()
 
void o6_ifNot ()
 
void o6_jump ()
 
void o6_startScript ()
 
void o6_startScriptQuick ()
 
void o6_startObject ()
 
void o6_drawObject ()
 
void o6_drawObjectAt ()
 
void o6_stopObjectCode ()
 
void o6_endCutscene ()
 
void o6_cutscene ()
 
void o6_stopMusic ()
 
void o6_freezeUnfreeze ()
 
void o6_cursorCommand ()
 
void o6_breakHere ()
 
void o6_ifClassOfIs ()
 
void o6_setClass ()
 
void o6_getState ()
 
void o6_setState ()
 
void o6_setOwner ()
 
void o6_getOwner ()
 
void o6_startSound ()
 
void o6_stopSound ()
 
void o6_startMusic ()
 
void o6_stopObjectScript ()
 
void o6_panCameraTo ()
 
void o6_actorFollowCamera ()
 
void o6_setCameraAt ()
 
void o6_loadRoom ()
 
void o6_stopScript ()
 
void o6_walkActorToObj ()
 
void o6_walkActorTo ()
 
void o6_putActorAtXY ()
 
void o6_putActorAtObject ()
 
void o6_faceActor ()
 
void o6_animateActor ()
 
void o6_doSentence ()
 
void o6_pickupObject ()
 
void o6_loadRoomWithEgo ()
 
void o6_getRandomNumber ()
 
void o6_getRandomNumberRange ()
 
void o6_getActorMoving ()
 
void o6_isScriptRunning ()
 
void o6_getActorRoom ()
 
void o6_getObjectX ()
 
void o6_getObjectY ()
 
void o6_getObjectOldDir ()
 
void o6_getObjectNewDir ()
 
void o6_getActorWalkBox ()
 
void o6_getActorCostume ()
 
void o6_findInventory ()
 
void o6_getInventoryCount ()
 
void o6_getVerbFromXY ()
 
void o6_beginOverride ()
 
void o6_endOverride ()
 
void o6_setObjectName ()
 
void o6_isSoundRunning ()
 
void o6_setBoxFlags ()
 
void o6_createBoxMatrix ()
 
void o6_resourceRoutines ()
 
void o6_roomOps ()
 
void o6_actorOps ()
 
void o6_verbOps ()
 
void o6_getActorFromXY ()
 
void o6_findObject ()
 
void o6_pseudoRoom ()
 
void o6_getActorElevation ()
 
void o6_getVerbEntrypoint ()
 
void o6_arrayOps ()
 
void o6_saveRestoreVerbs ()
 
void o6_drawBox ()
 
void o6_getActorWidth ()
 
void o6_wait ()
 
void o6_getActorScaleX ()
 
void o6_getActorAnimCounter ()
 
void o6_soundKludge ()
 
void o6_isAnyOf ()
 
void o6_systemOps ()
 
void o6_isActorInBox ()
 
void o6_delay ()
 
void o6_delaySeconds ()
 
void o6_delayMinutes ()
 
void o6_stopSentence ()
 
void o6_printLine ()
 
void o6_printText ()
 
void o6_printDebug ()
 
void o6_printSystem ()
 
void o6_printActor ()
 
void o6_printEgo ()
 
void o6_talkActor ()
 
void o6_talkEgo ()
 
void o6_dimArray ()
 
void o6_dummy ()
 
void o6_startObjectQuick ()
 
void o6_startScriptQuick2 ()
 
void o6_dim2dimArray ()
 
void o6_abs ()
 
void o6_distObjectObject ()
 
void o6_distObjectPt ()
 
void o6_distPtPt ()
 
virtual void o6_kernelSetFunctions ()
 
void o6_delayFrames ()
 
void o6_pickOneOf ()
 
void o6_pickOneOfDefault ()
 
void o6_jumpToScript ()
 
void o6_isRoomScriptRunning ()
 
void o6_kernelGetFunctions ()
 
void o6_getAnimateVariable ()
 
void o6_drawBlastObject ()
 
void o6_getActorLayer ()
 
void o6_stampObject ()
 
void o6_bor ()
 
void o6_band ()
 
void o6_stopTalking ()
 
void o6_findAllObjects ()
 
void o6_pickVarRandom ()
 
void o6_getDateTime ()
 
void o6_getPixel ()
 
void o6_setBoxSet ()
 
void o6_shuffle ()
 
- Protected Member Functions inherited from Scumm::ScummEngine
virtual void setupScumm (const Common::Path &macResourceFile)
 
virtual void resetScummVars ()
 
void setVideoModeVarToCurrentConfig ()
 
void setSoundCardVarToCurrentConfig ()
 
void setupCharsetRenderer (const Common::Path &macFontFile)
 
void setupCostumeRenderer ()
 
virtual void loadLanguageBundle ()
 
void loadCJKFont ()
 
void loadKorFont ()
 
void setupMusic (int midi)
 
void setTalkSpeed (int talkspeed)
 
int getTalkSpeed ()
 
virtual void scummLoop (int delta)
 
virtual void scummLoop_updateScummVars ()
 
virtual void scummLoop_handleDrawing ()
 
virtual void scummLoop_handleEffects ()
 
virtual void scummLoop_handleSound ()
 
virtual void runBootscript ()
 
virtual void terminateSaveMenuScript ()
 
virtual void parseEvent (Common::Event event)
 
void waitForTimer (int quarterFrames, bool freezeMacGui=false)
 
void setTimerAndShakeFrequency ()
 
uint32 getIntegralTime (double fMsecs)
 
virtual void processInput ()
 
virtual void clearClickedStatus ()
 
virtual void updateCursor ()
 
virtual void animateCursor ()
 
virtual void updatePalette ()
 
virtual void resetCursors ()
 
void confirmExitDialog ()
 
void confirmRestartDialog ()
 
void pauseDialog ()
 
void messageDialog (const Common::U32String &message)
 
void versionDialog ()
 
virtual void setSnailCursor ()
 
void initBanners ()
 
Common::KeyState showBannerAndPause (int bannerId, int32 waitTime, const char *msg,...)
 
Common::KeyState showOldStyleBannerAndPause (const char *msg, int color, int32 waitTime)
 
Common::KeyState printMessageAndPause (const char *msg, int color, int32 waitTime, bool drawOnSentenceLine)
 
void clearBanner ()
 
void setBannerColors (int bannerId, byte r, byte g, byte b)
 
void setUpInternalGUIControl (int id, int normalFillColor, int normalTextColor, int topLineColor, int bottomLineColor, int leftLineColor, int rightLineColor, int highlightedTextColor, int highlightedFillColor, int anchorPointX, int anchorPointY, int x, int y, const char *label, bool centerFlag, bool unknownFlag)
 
void drawInternalGUIControl (int id, bool highlightColor)
 
int getInternalGUIControlFromCoordinates (int x, int y)
 
virtual bool isSmushActive ()
 
virtual bool isInsaneActive ()
 
virtual void queryQuit (bool returnToLauncher)
 
virtual void queryRestart ()
 
void waitForBannerInput (int32 waitTime, Common::KeyState &ks, bool &leftBtnClicked, bool &rightBtnClicked, bool handleMouseWheel=false)
 
virtual int getGUIStringHeight (const char *str)
 
virtual int getGUIStringWidth (const char *str)
 
virtual void drawGUIText (const char *buttonString, Common::Rect *clipRect, int textXPos, int textYPos, int textColor, bool centerFlag)
 
void getSliderString (int stringId, int value, char *sliderString, int size)
 
virtual int getMusicVolume ()
 
virtual int getSpeechVolume ()
 
virtual int getSFXVolume ()
 
virtual void setMusicVolume (int volume)
 
virtual void setSpeechVolume (int volume)
 
virtual void setSFXVolume (int volume)
 
virtual void toggleVoiceMode ()
 
virtual void handleLoadDuringSmush ()
 
void showMainMenu ()
 
void setUpMainMenuControlsSegaCD ()
 
void setUpMainMenuControlsIndy4Jap ()
 
void drawMainMenuControls ()
 
void drawMainMenuControlsSegaCD ()
 
void updateMainMenuControls ()
 
void updateMainMenuControlsSegaCD ()
 
void drawMainMenuTitle (const char *title)
 
bool executeMainMenuOperation (int op, int mouseX, int mouseY, bool &hasLoadedState)
 
bool executeMainMenuOperationSegaCD (int op, int mouseX, int mouseY, bool &hasLoadedState)
 
bool shouldHighlightLabelAndWait (int clickedControl)
 
void fillSavegameLabels ()
 
bool canWriteGame (int slotId)
 
bool userWriteLabelRoutine (Common::KeyState &ks, bool &leftMsClicked, bool &rightMsClicked)
 
void saveCursorPreMenu ()
 
void restoreCursorPostMenu ()
 
void saveSurfacesPreGUI ()
 
void restoreSurfacesPostGUI ()
 
void showDraftsInventory ()
 
void setUpDraftsInventory ()
 
void drawDraftsInventory ()
 
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)
 
void saveLoadWithSerializer (Common::Serializer &s) override
 
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)
 
void copyHeapSaveGameToFile (int slot, const char *saveName)
 
bool changeSavegameName (int slot, char *newName)
 
Common::String makeSavegameName (int slot, bool temporary) const
 
int getKeyState (int key)
 
int getActionState (ScummAction action)
 
void saveInfos (Common::WriteStream *file)
 
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)
 
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 ()
 
void updateScriptPtr ()
 
virtual void runInventoryScript (int i)
 
virtual void runInventoryScriptEx (int i)
 
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 ()
 
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)
 
virtual void resetSentence ()
 
virtual void beginCutscene (int *args)
 
virtual void endCutscene ()
 
void abortCutscene ()
 
void beginOverride ()
 
void endOverride ()
 
void copyScriptString (byte *dst)
 
int resStrLen (const byte *src)
 
void doSentence (int c, int b, int a)
 
virtual void allocateArrays ()
 
void openRoom (int room)
 
void closeRoom ()
 
void deleteRoomOffsets ()
 
virtual void readRoomsOffsets ()
 
void askForDisk (const Common::Path &filename, int disknum)
 
bool openResourceFile (const Common::Path &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 ()
 
virtual void resetRoomSubBlocks ()
 
virtual void clearRoomObjects ()
 
virtual void resetRoomObjects ()
 
virtual void resetRoomObject (ObjectData *od, const byte *room, const byte *searchptr=NULL)
 
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)
 
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 getObjectWidth (int object, int &width)
 
void getObjectXYPos (int object, int &x, int &y)
 
void getObjectXYPos (int object, int &x, int &y, int &dir)
 
void getObjectXYPos (int object, int &x, int &y, int &dir, int &width)
 
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 byte * getObjOrActorName (int obj)
 
void setObjectName (int obj)
 
void addObjectToDrawQue (int object)
 
void removeObjectFromDrawQue (int object)
 
void clearDrawObjectQueue ()
 
void processDrawQue ()
 
uint32 getOBCDOffs (int object) const
 
byte * getOBCDFromObject (int obj, bool v0CheckInventory=true)
 
const byte * getOBIMFromObjectData (const ObjectData &od)
 
const byte * getObjectImage (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 ()
 
virtual void setActorRedrawFlags ()
 
void putActors ()
 
void showActors ()
 
void resetV1ActorTalkColor ()
 
virtual void resetActorBgs ()
 
void processUpperActors ()
 
virtual int getActorFromPos (int x, int y)
 
virtual void setBuiltinCursor (int index)
 
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 scrollType)
 
void drawRoomObjects (int arg)
 
void drawRoomObject (int i, int arg)
 
void drawBox (int x, int y, int x2, int y2, int color)
 
void drawLine (int x1, int y1, int x2, int y2, int color)
 
void drawPixel (VirtScreen *vs, int x, int y, int16 color, bool useBackbuffer=false)
 
void moveScreen (int dx, int dy, int height)
 
void restoreBackground (Common::Rect rect, byte backcolor=0)
 
void redrawBGStrip (int start, int num)
 
virtual void redrawBGAreas ()
 
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 byte * getPalettePtr (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)
 
void setV1ColorTable (int renderMode)
 
virtual void setPalColor (int index, int r, int g, int b)
 
void setDirtyColors (int min, int max)
 
const byte * findPalInPals (const byte *pal, int index)
 
void swapPalColors (int a, int b)
 
virtual void copyPalColor (int dst, int src)
 
void cyclePalette ()
 
void stopCycle (int i)
 
void palManipulate ()
 
uint32 findClosestPaletteColor (byte *palette, int paletteLength, byte r, byte g, byte b)
 
void applyGrayscaleToPaletteRange (int min, int max)
 
bool haveToApplyMonkey1PaletteFix ()
 
void moveMemInPalRes (int start, int end, byte direction)
 
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 updateDirtyScreen (VirtScreenNumber slot)
 
void drawStripToScreen (VirtScreen *vs, int x, int width, int top, int bottom)
 
void mac_markScreenAsDirty (int x, int y, int w, int h)
 
void mac_drawStripToScreen (VirtScreen *vs, int top, int x, int y, int width, int height)
 
void mac_drawIndy3TextBox ()
 
void mac_undrawIndy3TextBox ()
 
void mac_undrawIndy3CreditsText ()
 
void mac_drawBufferToScreen (const byte *buffer, int pitch, int x, int y, int width, int height, bool epxRectangleExpansion=true)
 
void mac_updateCompositeBuffer (const byte *buffer, int pitch, int x, int y, int width, int height)
 
void mac_blitDoubleResImage (const byte *buffer, int pitch, int x, int y, int width, int height)
 
void mac_applyDoubleResToBuffer (const byte *inputBuffer, byte *outputBuffer, int width, int height, int inputPitch, int outputPitch)
 
void mac_blitEPXImage (const byte *buffer, int pitch, int x, int y, int width, int height, bool epxRectangleExpansion=true)
 
void mac_applyEPXToBuffer (const byte *inputBuffer, byte *outputBuffer, int width, int height, int inputPitch, int outputPitch, int xOffset, int yOffset, int bufferWidth, int bufferHeight)
 
void mac_scaleCursor (byte *&outCursor, int &outHotspotX, int &outHotspotY, int &outWidth, int &outHeight)
 
void mac_toggleSmoothing ()
 
Common::KeyState mac_showOldStyleBannerAndPause (const char *msg, int32 waitTime)
 
const byte * postProcessDOSGraphics (VirtScreen *vs, int &pitch, int &x, int &y, int &width, int &height) const
 
const byte * ditherVGAtoEGA (int &pitch, int &x, int &y, int &width, int &height) const
 
void fadeIn (int effect)
 
void fadeOut (int effect)
 
void dissolveEffectSelector ()
 
void transitionEffect (int a)
 
void dissolveEffect (int width, int height)
 
void scrollEffect (int dir)
 
void updateScreenShakeEffect ()
 
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 testGfxObjectUsageBits (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)
 
void calcItineraryMatrix (byte *itineraryMatrix, int num)
 
void createBoxMatrix ()
 
virtual bool areBoxesNeighbors (int i, int j)
 
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 drawSentence ()
 
virtual void displayDialog ()
 
bool newLine ()
 
void drawString (int a, const byte *msg)
 
virtual void fakeBidiString (byte *ltext, bool ignoreVerb, int ltextSize) const
 
void wrapSegaCDText ()
 
void debugMessage (const byte *msg)
 
virtual 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_fillTopLayerRect (int x1, int y1, int x2, int y2, int col)
 
void towns_swapVirtScreenArea (VirtScreen *vs, int x, int y, int w, int h)
 
void towns_clearStrip (int strip)
 
void towns_setupPalCycleField (int x1, int y1, int x2, int y2)
 
void towns_processPalCycleField ()
 
void towns_resetPalCycleFields ()
 
void towns_restoreCharsetBg ()
 
void towns_scriptScrollEffect (int dir)
 
void requestScroll (int dir)
 
void scrollLeft ()
 
void scrollRight ()
 
void towns_waitForScroll (int waitForDirection, int threshold=0)
 
void towns_updateGfx ()
 
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
 
void defaultSyncSoundSettings ()
 

Additional Inherited Members

- Public Types inherited from Engine
enum  EngineFeature {
  kSupportsSubtitleOptions, kSupportsReturnToLauncher, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
  kSupportsChangingOptionsDuringRuntime, kSupportsArbitraryResolutions, kSupportsHelp, kSupportsQuitDialogOverride
}
 
- Static Public Member Functions inherited from Scumm::ScummEngine
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 ()
 
static bool shouldQuit ()
 
static bool warnUserAboutUnsupportedGame (Common::String msg=Common::String())
 
static void errorUnsupportedGame (Common::String extraMsg)
 
- Static Protected Member Functions inherited from Scumm::ScummEngine
static bool loadInfos (Common::SeekableReadStream *file, SaveStateMetaInfos *stuff)
 
- Protected Attributes inherited from Scumm::ScummEngine_v6
struct Scumm::ScummEngine_v6::ArrayHeader PACKED_STRUCT
 
int _blastObjectQueuePos
 
int _blastObjectRectsQueue = 0
 
BlastObject _blastObjectQueue [200]
 
Common::Rect _blastObjectsRectsToBeRestored [200]
 
struct {
   int16   cmd
 
   int16   actor
 
   int16   param1
 
   int16   param2
 
_akosQueue [32]
 
int16 _akosQueuePos
 
byte _curActor
 
int _curVerb
 
int _curVerbSlot
 
bool _forcedWaitForMessage
 
bool _skipVideo
 
byte VAR_VIDEONAME
 
byte VAR_RANDOM_NR
 
byte VAR_STRING2DRAW
 
byte VAR_TIMEDATE_YEAR
 
byte VAR_TIMEDATE_MONTH
 
byte VAR_TIMEDATE_DAY
 
byte VAR_TIMEDATE_HOUR
 
byte VAR_TIMEDATE_MINUTE
 
byte VAR_TIMEDATE_SECOND
 
- Protected Attributes inherited from Scumm::ScummEngine
VirtualMachineState vm
 
bool _needsSoundUnpause = false
 
uint32 _lastWaitTime
 
double _msecFractParts = 0.0
 
byte _macGammaCorrectionLookUp [256]
 
Dialog_pauseDialog = nullptr
 
Dialog_messageDialog = nullptr
 
Dialog_versionDialog = nullptr
 
int32 _bannerColors [50]
 
byte * _bannerMem = nullptr
 
uint32 _bannerMemSize = 0
 
int _bannerSaveYStart = 0
 
bool _messageBannerActive = false
 
bool _comiQuitMenuIsOpen = false
 
bool _closeBannerAndQueryQuitFlag = false
 
byte * _textSurfBannerMem = nullptr
 
uint32 _textSurfBannerMemSize = 0
 
InternalGUIControl _internalGUIControls [30]
 
const char _emptyMsg [1] = {'\0'}
 
const char _uncheckedBox [2] = {' ', '\0'}
 
const char _checkedBox [2] = {'x', '\0'}
 
const char _arrowUp [2] = {'\x18', '\0'}
 
const char _arrowDown [2] = {'\x19', '\0'}
 
const char _arrowLeft [2] = {'\x3c', '\0'}
 
const char _arrowRight [2] = {'\x3d', '\0'}
 
Common::StringArray _savegameNames
 
int _menuPage = 0
 
int _mainMenuSavegameLabel = 1
 
int _curDisplayedSaveSlotPage = 0
 
int _firstSaveStateOfList = 0
 
bool _mainMenuIsActive = false
 
bool _quitByGUIPrompt = false
 
char _mainMenuMusicSlider [17]
 
char _mainMenuSpeechSlider [17]
 
char _mainMenuSfxSlider [17]
 
char _mainMenuTextSpeedSlider [17]
 
char _mainMenuSegaCDPasscode [5]
 
int _spooledMusicIsToBeEnabled = 1
 
int _saveScriptParam = 0
 
int _guiCursorAnimCounter = 0
 
int _v5VoiceMode = 0
 
int _internalSpeakerSoundsAreOn = 1
 
int _guiMouseFlag = 1
 
int _guiJoystickFlag = 1
 
bool _mixerMutedByGUI = false
 
Graphics::Surface _savegameThumbnail
 
byte * _tempTextSurface = nullptr
 
byte * _tempMainSurface = nullptr
 
byte * _tempVerbSurface = nullptr
 
bool _postGUICharMask = false
 
byte * _curGrabbedCursor = nullptr
 
int8 _oldCursorState = 0
 
int _curCursorState = 0
 
int _curCursorWidth = 0
 
int _curCursorHeight = 0
 
int _curCursorHotspotX = 0
 
int _curCursorHotspotY = 0
 
byte _fastMode = 0
 
byte _numActors = 0
 
Actor ** _actors = nullptr
 
Actor ** _sortedActors = nullptr
 
byte * _arraySlot = nullptr
 
uint16 * _inventory = nullptr
 
uint16 * _newNames = nullptr
 
int16 _varwatch = 0
 
int32 * _roomVars = nullptr
 
int32 * _scummVars = nullptr
 
byte * _bitVars = nullptr
 
int _numVariables = 0
 
int _numBitVariables = 0
 
int _numLocalObjects = 0
 
int _numGlobalObjects = 0
 
int _numArray = 0
 
int _numVerbs = 0
 
int _numFlObject = 0
 
int _numInventory = 0
 
int _numNewNames = 0
 
int _numGlobalScripts = 0
 
int _numRoomVariables = 0
 
int _numPalettes = 0
 
int _numSprites = 0
 
int _numTalkies = 0
 
int _numUnk = 0
 
int _HEHeapSize = 0
 
int _curPalIndex = 0
 
Common::KeyState _keyPressed
 
bool _keyDownMap [512]
 
bool _actionMap [kScummActionCount]
 
Common::Point _mouse
 
Common::Point _virtualMouse
 
uint16 _mouseAndKeyboardStat = 0
 
byte _leftBtnPressed = 0
 
byte _rightBtnPressed = 0
 
int _mouseWheelFlag = 0
 
bool _setupIsComplete = false
 
uint32 _lastInputScriptTime = 0
 
int _bootParam = 0
 
bool _dumpScripts = false
 
bool _hexdumpScripts = false
 
bool _showStack = false
 
bool _debugMode = false
 
byte _saveLoadFlag = 0
 
byte _saveLoadSlot = 0
 
uint32 _lastSaveTime = 0
 
bool _saveTemporaryState = false
 
bool _pauseSoundsDuringSave = true
 
bool _loadFromLauncher = false
 
bool _videoModeChanged = false
 
Common::String _saveLoadFileName
 
Common::String _saveLoadDescription
 
uint32 _localScriptOffsets [1024]
 
const byte * _scriptPointer = nullptr
 
const byte * _scriptOrgPointer = nullptr
 
const byte *const * _lastCodePtr = nullptr
 
byte _opcode = 0
 
bool _debug = false
 
byte _currentScript = 0xFF
 
int _scummStackPos = 0
 
int _vmStack [256]
 
char _engineVersionString [50]
 
char _dataFileVersionString [50]
 
OpcodeEntry _opcodes [256]
 
BaseScummFile_fileHandle = nullptr
 
uint32 _fileOffset = 0
 
int _resourceHeaderSize = 8
 
byte _resourceMapper [128]
 
const byte * _resourceLastSearchBuf
 
uint32 _resourceLastSearchSize
 
Common::Mutex _resourceAccessMutex
 
int _lastLoadedRoom = 0
 
byte * _objectOwnerTable = nullptr
 
byte * _objectRoomTable = nullptr
 
byte * _objectStateTable = nullptr
 
int _numObjectsInRoom = 0
 
uint16 _verbMouseOver = 0
 
int8 _userPut = 0
 
uint16 _userState = 0
 
uint16 _screenB = 0
 
uint16 _screenH = 0
 
ColorCycle _colorCycle [16]
 
uint8 _colorUsedByCycle [256]
 
Graphics::PaletteLookup _pl
 
uint32 _ENCD_offs = 0
 
uint32 _EXCD_offs = 0
 
uint32 _CLUT_offs = 0
 
uint32 _EPAL_offs = 0
 
uint32 _IM00_offs = 0
 
uint32 _PALS_offs = 0
 
bool _fullRedraw = false
 
bool _bgNeedsRedraw = false
 
bool _screenEffectFlag = false
 
bool _completeScreenRedraw = false
 
bool _disableFadeInEffect = false
 
struct {
   int   hotspotX
 
   int   hotspotY
 
   int   width
 
   int   height
 
   byte   animate
 
   byte   animateIndex
 
   int8   state
 
_cursor
 
byte _grabbedCursor [16384]
 
byte _macGrabbedCursor [16384 *4]
 
byte _currentCursor = 0
 
byte _newEffect = 0
 
byte _switchRoomEffect2 = 0
 
byte _switchRoomEffect = 0
 
bool _doEffect = false
 
bool _snapScroll = false
 
byte * _compositeBuf
 
byte * _hercCGAScaleBuf = nullptr
 
bool _enableEGADithering = false
 
bool _supportsEGADithering = false
 
bool _shakeEnabled = false
 
bool _shakeTempSavedState = false
 
uint _shakeFrame = 0
 
uint32 _shakeNextTick = 0
 
uint32 _shakeTickCounter = 0
 
double _shakeTimerRate
 
double _timerFrequency
 
int _drawObjectQueNr = 0
 
byte _drawObjectQue [200]
 
uint32 gfxUsageBits [410 *3]
 
int _shadowPaletteSize = 0
 
byte _currentPalette [3 *256]
 
byte _darkenPalette [3 *256]
 
int _paletteChangedCounter = 1
 
int _palDirtyMin = 0
 
int _palDirtyMax = 0
 
byte _palManipStart = 0
 
byte _palManipEnd = 0
 
uint16 _palManipCounter = 0
 
byte * _palManipPalette = nullptr
 
byte * _palManipIntermediatePal = nullptr
 
bool _haveActorSpeechMsg = false
 
bool _useTalkAnims = false
 
uint16 _defaultTextSpeed = 0
 
int _saveSound = 0
 
bool _native_mt32 = false
 
bool _copyProtection = false
 
bool _shadowPalRemap = false
 
uint16 _amigaFirstUsedColor = 0
 
byte _amigaPalette [3 *64]
 
byte * _egaColorMap [2]
 
ScaleSlot _scaleSlots [20]
 
byte _charsetColor = 0
 
byte _charsetData [23][16]
 
int _charsetBufPos = 0
 
byte _charsetBuffer [512]
 
bool _keepText = false
 
byte _msgCount = 0
 
int _nextLeft = 0
 
int _nextTop = 0
 
Localizer_localizer = nullptr
 
Common::Rect _cyclRects [10]
 
int _numCyclRects = 0
 
int _scrollRequest = 0
 
int _scrollDeltaAdjust = 0
 
bool _scrollNeedDeltaAdjust = 0
 
int _refreshDuration [20]
 
int _refreshArrayPos = 0
 
bool _refreshNeedCatchUp = false
 
bool _enableSmoothScrolling = false
 
bool _forceFMTownsHiResMode = false
 
uint32 _scrollTimer = 0
 
uint32 _scrollDestOffset = 0
 
uint16 _scrollFeedStrips [3]
 
Common::Rect _curStringRect
 
byte _townsOverrideShadowColor = 0
 
byte _textPalette [48]
 
byte _townsClearLayerFlag = 1
 
byte _townsActiveLayerFlags = 3
 
TownsScreen_townsScreen = nullptr
 
- Protected Attributes inherited from Engine
Common::TimerManager_timer
 
Common::EventManager_eventMan
 
Common::SaveFileManager_saveFileMan
 
GUI::Dialog_mainMenuDialog
 
const Common::String _targetName
 
int32 _activeEnhancements = kEnhGameBreakingBugFixes
 
- Static Protected Attributes inherited from Scumm::ScummEngine
static const uint8 _townsLayer2Mask []
 

Member Function Documentation

◆ pauseEngineIntern()

void Scumm::ScummEngine_v60he::pauseEngineIntern ( bool  pause)
overrideprotectedvirtual

Actual implementation of pauseEngine by subclasses.

See also
Engine::pauseEngine

Reimplemented from Engine.


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