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 |
Actor * | derefActor (int id, const char *errmsg=0) const |
Actor * | derefActorSafe (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) |
VirtScreen * | findVirtScreen (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 | |
MetaEngine * | getMetaEngine () const |
void | setMetaEngine (MetaEngine *metaEngine) |
PauseToken | pauseEngine () |
bool | isPaused () const |
void | openMainMenuDialog () |
uint32 | getTotalPlayTime () const |
void | setTotalPlayTime (uint32 time=0) |
Common::TimerManager * | getTimerManager () |
Common::EventManager * | getEventManager () |
Common::SaveFileManager * | getSaveFileManager () |
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::Debugger * | getDebugger () final |
void | setDebugger (GUI::Debugger *debugger) |
GUI::Debugger * | getOrCreateDebugger () |
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::SeekableReadStream * | openFileForReading (const byte *fileName) |
Common::SeekableReadStream * | openSaveFileForReading (const byte *fileName) |
Common::SeekableWriteStream * | openSaveFileForWriting (const byte *fileName) |
Common::SeekableWriteStream * | openSaveFileForAppending (const byte *fileName) |
void | deleteSaveFile (const byte *fileName) |
void | renameSaveFile (const byte *from, const byte *to) |
void | pauseEngineIntern (bool pause) override |
Common::SeekableReadStream * | openSaveFileForReading (int slot, bool compat, Common::String &fileName) override |
Common::SeekableWriteStream * | openSaveFileForWriting (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) |
ArrayHeader * | getArray (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 [] |
|
overrideprotectedvirtual |
Actual implementation of pauseEngine by subclasses.
Reimplemented from Engine.