Typedefs | |
typedef Common::HashMap< Common::String, DetectorDesc, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo > | DescMap |
typedef Common::HashMap< Common::String, PAKFile > | PAKFileHashMap |
typedef void(* | sysexfunc) (Player *, const byte *, uint16) |
typedef Common::Functor0< void > | Opcode |
typedef uint16 | ResId |
Enumerations | |
enum | { V12_X_MULTIPLIER = 8, V12_Y_MULTIPLIER = 2, V12_X_SHIFT = 3, V12_Y_SHIFT = 1 } |
enum | MoveFlags { MF_NEW_LEG = 1, MF_IN_LEG = 2, MF_TURN = 4, MF_LAST_LEG = 8, MF_FROZEN = 0x80 } |
enum | { kOldInvalidBox = 255, kNewInvalidBox = 0 } |
enum | ActorV0MiscFlags { kActorMiscFlagStrong = 0x01, kActorMiscFlagGTFriend = 0x02, kActorMiscFlagWatchedTV = 0x04, kActorMiscFlagEdsEnemy = 0x08, kActorMiscFlag_10 = 0x10, kActorMiscFlag_20 = 0x20, kActorMiscFlagFreeze = 0x40, kActorMiscFlagHide = 0x80 } |
enum | AkosSequenceCodes { AKC_ExtendBit = 0x80, AKC_ExtendWordBit = 0x8000, AKC_CelMask = 0x0FFF, AKC_CommandMask = 0xC000, AKC_EmptyCel = (AKC_CommandMask | 0x0001), AKC_SetVar = (AKC_CommandMask | 0x0010), AKC_StartSound = (AKC_CommandMask | 0x0015), AKC_IfSoundInVarRunningGoTo = (AKC_CommandMask | 0x0016), AKC_IfNotSoundInVarRunningGoTo = (AKC_CommandMask | 0x0017), AKC_IfSoundRunningGoTo = (AKC_CommandMask | 0x0018), AKC_IfNotSoundRunningGoTo = (AKC_CommandMask | 0x0019), AKC_DrawMany = (AKC_CommandMask | 0x0020), AKC_CondDrawMany = (AKC_CommandMask | 0x0021), AKC_CondRelativeOffsetDrawMany = (AKC_CommandMask | 0x0022), AKC_RelativeOffsetDrawMany = (AKC_CommandMask | 0x0025), AKC_GoToState = (AKC_CommandMask | 0x0030), AKC_IfVarGoTo = (AKC_CommandMask | 0x0031), AKC_AddVar = (AKC_CommandMask | 0x0040), AKC_SoftSound = (AKC_CommandMask | 0x0042), AKC_SoftVarSound = (AKC_CommandMask | 0x0044), AKC_SetUserCondition = (AKC_CommandMask | 0x0045), AKC_SetVarToUserCondition = (AKC_CommandMask | 0x0046), AKC_SetTalkCondition = (AKC_CommandMask | 0x0047), AKC_SetVarToTalkCondition = (AKC_CommandMask | 0x0048), AKC_StartScript = (AKC_CommandMask | 0x0050), AKC_IncVar = (AKC_CommandMask | 0x0060), AKC_StartSound_SpecialCase = (AKC_CommandMask | 0x0061), AKC_IfVarEQJump = (AKC_CommandMask | 0x0070), AKC_IfVarNEJump = (AKC_CommandMask | 0x0071), AKC_IfVarLTJump = (AKC_CommandMask | 0x0072), AKC_IfVarLEJump = (AKC_CommandMask | 0x0073), AKC_IfVarGTJump = (AKC_CommandMask | 0x0074), AKC_IfVarGEJump = (AKC_CommandMask | 0x0075), AKC_StartAnim = (AKC_CommandMask | 0x0080), AKC_StartVarAnim = (AKC_CommandMask | 0x0081), AKC_SetVarRandom = (AKC_CommandMask | 0x0082), AKC_SetActorZClipping = (AKC_CommandMask | 0x0083), AKC_StartActorAnim = (AKC_CommandMask | 0x0084), AKC_SetActorVar = (AKC_CommandMask | 0x0085), AKC_HideActor = (AKC_CommandMask | 0x0086), AKC_SetDrawOffs = (AKC_CommandMask | 0x0087), AKC_JumpToOffsetInVar = (AKC_CommandMask | 0x0088), AKC_SoundStuff = (AKC_CommandMask | 0x0089), AKC_Flip = (AKC_CommandMask | 0x008A), AKC_StartActionOn = (AKC_CommandMask | 0x008B), AKC_StartScriptVar = (AKC_CommandMask | 0x008C), AKC_StartSoundVar = (AKC_CommandMask | 0x008D), AKC_DisplayAuxFrame = (AKC_CommandMask | 0x008E), AKC_IfVarEQDo = (AKC_CommandMask | 0x0090), AKC_IfVarNEDo = (AKC_CommandMask | 0x0091), AKC_IfVarLTDo = (AKC_CommandMask | 0x0092), AKC_IfVarLEDo = (AKC_CommandMask | 0x0093), AKC_IfVarGTDo = (AKC_CommandMask | 0x0094), AKC_IfVarGEDo = (AKC_CommandMask | 0x0095), AKC_EndOfIfDo = (AKC_CommandMask | 0x009F), AKC_StartActorTalkie = (AKC_CommandMask | 0x00A0), AKC_IfTalkingGoTo = (AKC_CommandMask | 0x00A1), AKC_IfNotTalkingGoTo = (AKC_CommandMask | 0x00A2), AKC_StartTalkieInVar = (AKC_CommandMask | 0x00A3), AKC_IfAnyTalkingGoTo = (AKC_CommandMask | 0x00A4), AKC_IfNotAnyTalkingGoTo = (AKC_CommandMask | 0x00A5), AKC_IfTalkingPickGoTo = (AKC_CommandMask | 0x00A6), AKC_IfNotTalkingPickGoTo = (AKC_CommandMask | 0x00A7), AKC_EndSeq = (AKC_CommandMask | 0x00FF) } |
enum | AkosQueuedCommands { AKQC_PutActorInTheVoid = 1, AKQC_StartSound = 3, AKQC_StartAnimation = 4, AKQC_SetZClipping = 5, AKQC_SetXYOffset = 6, AKQC_DisplayAuxFrame = 7, AKQC_StartTalkie = 8, AKQC_SoftStartSound = 9, AKQC_SetSoundVolume = 7, AKQC_SetSoundPan = 8, AKQC_SetSoundPriority = 9 } |
enum | AkosAnimTypes { AKAT_Empty = 0x00, AKAT_KillLayer = 0x01, AKAT_LoopLayer = 0x02, AKAT_RunLayer = 0x03, AKAT_LayerInvisible = 0x04, AKAT_LayerVisible = 0x05, AKAT_AlwaysRun = 0x06, AKAT_UserConstant = 0x07, AKAT_DeltaAnim = 0x08 } |
enum | BoxFlags { kBoxXFlip = 0x08, kBoxYFlip = 0x10, kBoxIgnoreScale = 0x20, kBoxPlayerOnly = 0x20, kBoxLocked = 0x40, kBoxInvisible = 0x80 } |
enum | FilenameGenMethod { kGenDiskNum, kGenDiskNumSteam, kGenRoomNum, kGenRoomNumSteam, kGenHEMac, kGenHEMacNoParens, kGenHEPC, kGenHEIOS, kGenUnchanged } |
enum | GameFeatures { GF_DEMO = 1 << 0, GF_NEW_COSTUMES = 1 << 2, GF_USE_KEY = 1 << 4, GF_SMALL_HEADER = 1 << 5, GF_OLD_BUNDLE = 1 << 6, GF_16COLOR = 1 << 7, GF_OLD256 = 1 << 8, GF_AUDIOTRACKS = 1 << 9, GF_FEW_LOCALS = 1 << 11, GF_HE_LOCALIZED = 1 << 13, GF_HE_985 = 1 << 14, GF_16BIT_COLOR = 1 << 15, GF_MAC_CONTAINER = 1 << 16, GF_HE_NO_BIDI = 1 << 17, GF_ULTIMATE_TALKIE = 1 << 18, GF_HE_995 = 1 << 19, GF_DOUBLEFINE_PAK = 1 << 20 } |
enum | ScummGameId { GID_CMI, GID_DIG, GID_FT, GID_INDY3, GID_INDY4, GID_LOOM, GID_MANIAC, GID_MONKEY_EGA, GID_MONKEY_VGA, GID_MONKEY, GID_MONKEY2, GID_PASS, GID_SAMNMAX, GID_TENTACLE, GID_ZAK, GID_HEGAME, GID_PUTTDEMO, GID_FBEAR, GID_PUTTMOON, GID_FUNPACK, GID_PUTTZOO, GID_FREDDI, GID_FREDDI3, GID_FREDDI4, GID_BIRTHDAYRED, GID_BIRTHDAYYELLOW, GID_TREASUREHUNT, GID_PUTTRACE, GID_FUNSHOP, GID_FOOTBALL, GID_FOOTBALL2002, GID_SOCCER, GID_SOCCERMLS, GID_SOCCER2004, GID_BASEBALL2001, GID_BASEBALL2003, GID_BASKETBALL, GID_MOONBASE, GID_PJGAMES, GID_HECUP } |
enum | { kMD5FileSizeLimit = 1024 * 1024 } |
enum | HerculesDimensions { kHercWidth = 720, kHercHeight = 350 } |
enum | { kNormalCameraMode = 1, kFollowActorCameraMode = 2, kPanningCameraMode = 3 } |
enum | VirtScreenNumber { kMainVirtScreen = 0, kTextVirtScreen = 1, kVerbVirtScreen = 2, kBannerVirtScreen = 3 } |
enum | { DUT_ANTI_AIR = 1, DUT_SHIELD = 2, DUT_MINE = 3, DUT_HUB = 4, DUT_TOWER = 5, DUT_BRIDGE = 6, DUT_ENERGY = 7, DUT_OFFENSE = 8, DUT_CRAWLER = 9 } |
enum | { DUS_ON = 1, DUS_OFF = 2, DUS_DESTROYED = 3 } |
enum | { TERRAIN_TYPE_GOOD = 0, TERRAIN_TYPE_SLOPE = 1, TERRAIN_TYPE_WATER = 2, MAX_MEMORY = 3 } |
enum | { ITEM_BOMB = 0, ITEM_CLUSTER = 1, ITEM_REPAIR = 2, ITEM_ANTIAIR = 3, ITEM_BRIDGE = 4, ITEM_TOWER = 5, ITEM_GUIDED = 6, ITEM_EMP = 7, ITEM_SPIKE = 8, ITEM_RECLAIMER = 9, ITEM_BALLOON = 10, ITEM_MINE = 11, ITEM_CRAWLER = 12, ITEM_VIRUS = 13, ITEM_ENERGY = 14, ITEM_SHIELD = 15, ITEM_OFFENSE = 16, ITEM_HUB = 17, ITEM_TIME_EXPIRED = 18, SKIP_TURN = -999 } |
enum | BuildingTypes { BUILDING_ENERGY_COLLECTOR = 3, BUILDING_MAIN_BASE = 4, BUILDING_BRIDGE = 5, BUILDING_TOWER = 6, BUILDING_EXPLOSIVE_MINE = 7, BUILDING_SHIELD = 8, BUILDING_ANTI_AIR = 9, BUILDING_OFFENSIVE_LAUNCHER = 10, BUILDING_BALLOON = 11, BUILDING_CRAWLER = 12 } |
enum | { ENERGY_POOL_X = 45, ENERGY_POOL_Y = 46, ENERGY_POOL_UNITS_ON = 47, MIN_DIST = 108 } |
enum | { AGI = 1, AONE = 2, BRUTAKAS = 3, CYBALL = 4, EL_GATO = 5, NEEP = 6, ORBNU_LUNATEK = 7, PIXELAHT = 8, SPANDO = 9, WARCUPINE = 10 } |
enum | { CRAWLER_CHUCKER = 11, ENERGY_HOG = 12, RANGER = 13 } |
enum | { AI_VAR_NONE = -1, AI_VAR_SMALL = 0, AI_VAR_MEDIUM = 1, AI_VAR_LARGE = 2, AI_VAR_HUGE = 5 } |
enum | { AI_VAR_BASE_BEHAVIOR = 10, AI_VAR_BASE_TARGET = 10, AI_VAR_BASE_ANGLE = 2, AI_VAR_BASE_POWER = 5 } |
enum | ObjectV0Type { kObjectV0TypeFG = 0, kObjectV0TypeBG = 1, kObjectV0TypeActor = 2 } |
enum | ObjectClass { kObjectClassNeverClip = 20, kObjectClassAlwaysClip = 21, kObjectClassIgnoreBoxes = 22, kObjectClassYFlip = 29, kObjectClassXFlip = 30, kObjectClassPlayer = 31, kObjectClassUntouchable = 32 } |
enum | ObjectStateV2 { kObjectStatePickupable = 1, kObjectStateUntouchable = 2, kObjectStateLocked = 4, kObjectStateIntrinsic = 8 } |
enum | FindObjectWhat { foCodeHeader = 1, foImageHeader = 2, foCheckAlreadyLoaded = 4 } |
enum | sid_reg_t { FREQ_VOICE1, FREQ_VOICE2, FREQ_VOICE3, FREQ_FILTER, PULSE_VOICE1, PULSE_VOICE2, PULSE_VOICE3 } |
enum | VideoStandard { PAL, NTSC } |
enum | { OF_OWNER_MASK = 0x0F, OF_STATE_MASK = 0xF0, OF_STATE_SHL = 4 } |
enum | : uint { RES_INVALID_OFFSET = 0xFFFFFFFF } |
enum | ResTypeMode { kDynamicResTypeMode = 0, kStaticResTypeMode = 1, kSoundResTypeMode = 2 } |
enum | { NUM_SCRIPT_SLOT = 80, NUM_SCRIPT_LOCAL = 25 } |
enum | { ssDead = 0, ssPaused = 1, ssRunning = 2 } |
enum | { kMaxCutsceneNum = 5, kMaxScriptNesting = 15, kMaxScriptNestingHE = 40 } |
enum | { NUM_SENTENCE = 6, NUM_SHADOW_PALETTE = 8 } |
enum | { DEBUG_GENERAL = 1 << 0, DEBUG_SCRIPTS = 1 << 2, DEBUG_OPCODES = 1 << 3, DEBUG_VARS = 1 << 4, DEBUG_RESOURCE = 1 << 5, DEBUG_IMUSE = 1 << 6, DEBUG_SOUND = 1 << 7, DEBUG_ACTORS = 1 << 8, DEBUG_INSANE = 1 << 9, DEBUG_SMUSH = 1 << 10, DEBUG_MOONBASE_AI = 1 << 11, DEBUG_NETWORK = 1 << 12 } |
enum | { LIGHTMODE_actor_use_base_palette = 1 << 0, LIGHTMODE_room_lights_on = 1 << 1, LIGHTMODE_flashlight_on = 1 << 2, LIGHTMODE_actor_use_colors = 1 << 3 } |
enum | { MBS_LEFT_CLICK = 0x8000, MBS_RIGHT_CLICK = 0x4000, MBS_MOUSE_MASK = (MBS_LEFT_CLICK | MBS_RIGHT_CLICK), MBS_MAX_KEY = 0x0200 } |
enum | WhereIsObject { WIO_NOT_FOUND = -1, WIO_INVENTORY = 0, WIO_ROOM = 1, WIO_GLOBAL = 2, WIO_LOCAL = 3, WIO_FLOBJECT = 4 } |
enum | UserStates { USERSTATE_SET_FREEZE = 0x01, USERSTATE_SET_CURSOR = 0x02, USERSTATE_SET_IFACE = 0x04, USERSTATE_FREEZE_ON = 0x08, USERSTATE_CURSOR_ON = 0x10, USERSTATE_IFACE_SENTENCE = 0x20, USERSTATE_IFACE_INVENTORY = 0x40, USERSTATE_IFACE_VERBS = 0x80 } |
enum | ResType { rtInvalid = 0, rtFirst = 1, rtRoom = 1, rtScript = 2, rtCostume = 3, rtSound = 4, rtInventory = 5, rtCharset = 6, rtString = 7, rtVerb = 8, rtActorName = 9, rtBuffer = 10, rtScaleTable = 11, rtTemp = 12, rtFlObject = 13, rtMatrix = 14, rtBox = 15, rtObjectName = 16, rtRoomScripts = 17, rtRoomImage = 18, rtImage = 19, rtTalkie = 20, rtSpoolBuffer = 21, rtLast = 21 } |
enum | GUIString { gsPause = 0, gsVersion = 1, gsTextSpeedSlider = 2, gsRestart = 3, gsQuitPrompt = 4, gsSave = 5, gsLoad = 6, gsPlay = 7, gsCancel = 8, gsQuit = 9, gsOK = 10, gsMustName = 11, gsGameNotSaved = 12, gsGameNotLoaded = 13, gsSaving = 14, gsLoading = 15, gsNamePrompt = 16, gsSelectLoadPrompt = 17, gsReplacePrompt = 18, gsYes = 20, gsNo = 21, gsIMuseBuffer = 22, gsVoiceAndText = 23, gsTextDisplayOnly = 24, gsVoiceOnly = 25, gsYesKey = 26, gsMusicVolumeSlider = 27, gsVoiceVolumeSlider = 28, gsSfxVolumeSlider = 29, gsHeap = 30, gsSavePath = 31, gsTitle = 32, gsDisabled = 33, gsMusic = 34, gsVoice = 35, gsSfx = 36, gsTextSpeed = 37, gsDisplayText = 38, gsSpooledMusic = 39, gsInsertSaveDisk = 40, gsSnapOn = 41, gsSnapOff = 42, gsRecalJoystick = 43, gsMouseMode = 44, gsMouseOn = 45, gsMouseOff = 46, gsJoystickOn = 47, gsJoystickOff = 48, gsSoundsOn = 49, gsSoundsOff = 50, gsVGAMode = 51, gsEGAMode = 52, gsCGAMode = 53, gsHerculesMode = 54, gsTandyMode = 55, gsCurrentPasscode = 56, gsEnterPasscode = 57, gsConfirmPasscode = 58, gsInvalidPasscode = 59, gsSlowFast = 60, gsRestartGame = 61, gsHeapExt = 62 } |
enum | ScummAction { kScummActionNone, kScummActionInsaneDownLeft, kScummActionInsaneDown, kScummActionInsaneDownRight, kScummActionInsaneLeft, kScummActionInsaneRight, kScummActionInsaneUpLeft, kScummActionInsaneUp, kScummActionInsaneUpRight, kScummActionInsaneAttack, kScummActionInsaneSwitch, kScummActionInsaneCheat, kScummActionCount } |
enum | { kTalkSoundID = 10000 } |
enum | SoundSEType { kSoundSETypeMusic, kSoundSETypeSpeech, kSoundSETypeSFX } |
enum | { USAGE_BIT_DIRTY = 96, USAGE_BIT_RESTORED = 95 } |
enum | ClickArea { kVerbClickArea = 1, kSceneClickArea = 2, kInventoryClickArea = 3, kKeyClickArea = 4, kSentenceClickArea = 5 } |
enum | { kTextVerbType = 0, kImageVerbType = 1 } |
enum | VerbsV0 { kVerbNone = 0, kVerbOpen = 1, kVerbClose = 2, kVerbGive = 3, kVerbTurnOn = 4, kVerbTurnOff = 5, kVerbFix = 6, kVerbNewKid = 7, kVerbUnlock = 8, kVerbPush = 9, kVerbPull = 10, kVerbUse = 11, kVerbRead = 12, kVerbWalkTo = 13, kVerbPickUp = 14, kVerbWhatIs = 15 } |
enum | VerbPrepsV0 { kVerbPrepNone = 0, kVerbPrepIn = 1, kVerbPrepWith = 2, kVerbPrepOn = 3, kVerbPrepTo = 4, kVerbPrepObject = 0xFF } |
Functions | |
void | bompApplyMask (byte *line_buffer, byte *mask, byte maskbit, int32 size, byte transparency) |
void | bompApplyShadow (int shadowMode, const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency, bool HE7Check=false) |
void | decompressBomp (byte *dst, const byte *src, int w, int h) |
void | bompDecodeLine (byte *dst, const byte *src, int size, bool setZero=true) |
void | bompDecodeLineReverse (byte *dst, const byte *src, int size) |
void | drawBomp (const BompDrawData &bd) |
int | getClosestPtOnBox (const BoxCoords &box, int x, int y, int16 &outX, int16 &outY) |
Audio::SeekableAudioStream * | makeCDDAStream (const Common::String &filename, DisposeAfterUse::Flag disposeAfterUse) |
int | clamp (int val, int min, int max) |
int | transpose_clamp (int a, int b, int c) |
void | sysexHandler_Scumm (Player *, const byte *, uint16) |
void | sysexHandler_SamNMax (Player *, const byte *, uint16) |
byte | checkJongsung (byte hi, byte lo) |
void | debugC (int level, MSVC_PRINTF const char *s,...) GCC_PRINTF(2 |
int | newDirToOldDir (int dir) |
int | oldDirToNewDir (int dir) |
int | normalizeAngle (int dirType, int angle) |
int | fromSimpleDir (int dirtype, int dir) |
int | toSimpleDir (int dirtype, int dir) |
void | assertRange (int min, int value, int max, const char *desc) |
void * | reallocateArray (void *buffer, size_t count, size_t size) |
Variables | |
struct Scumm::CostumeInfo | PACKED_STRUCT |
const byte | smallCostumeScaleTable [256] |
const byte | bigCostumeScaleTable [768] |
const float | SUCCESS = -1 |
const float | FAILURE = 1e20f |
const int | NO_PATTERN = 0 |
const int | PATTERN_FOUND = 1 |
const int | NUM_IMPT_UNITS = 3 |
const int | NUM_SHOT_POSITIONS = 1 |
const int | NUM_WEAPONS = 3 |
const int | NUM_TO_GEN = 9 |
const int | NUM_POWER_STEPS = 3 |
const double | SIZE_POWER_STEP = .15 |
const int | SIZE_ANGLE_STEP = 45 |
const int | VARIATION_EXTENT = 3 |
const int | DIRECTION_WEIGHT = 5 |
const int | MAX_DEPTH = 100 |
const int | MAX_NODES = 1000000 |
const int | MAX_PACKET_SIZE = 4096 |
const int | MAX_HOSTNAME_SIZE = 256 |
const int | MAX_IP_SIZE = 32 |
const uint8 | _fourToneSynthWaveForm [256] |
const uint32 | _fourToneSynthWaveFormSize |
ScummEngine * | g_scumm |
const char *const | insaneKeymapId |
This is the namespace of the SCUMM engine.
Status of this engine: Complete support for all SCUMM based LucasArts adventures. Complete support for many Humongous Entertainment games, but for some of the newer ones, this is still work in progress.
Games using this engine:
enum Scumm::GameFeatures |
SCUMM feature flags define for every game which specific set of engine features are used by that game. Note that some of them could be replaced by checks for the SCUMM version.
Enumerator | |
---|---|
GF_DEMO | A demo, not a full blown game. |
GF_NEW_COSTUMES | Games with the AKOS costume system (ScummEngine_v7 and subclasses, HE games). |
GF_USE_KEY | Games using XOR encrypted data files. |
GF_SMALL_HEADER | Small header games (ScummEngine_v4 and subclasses). |
GF_OLD_BUNDLE | Old bundle games (ScummEngine_v3old and subclasses). |
GF_16COLOR | EGA games. |
GF_OLD256 | VGA versions of V3 games. Equivalent to (version == 3 && not GF_16COLOR) |
GF_AUDIOTRACKS | Games which have Audio CD tracks. |
GF_FEW_LOCALS | Games using only very few local variables in scripts. Apparently that is only the case for 256 color version of Indy3. |
GF_HE_LOCALIZED | HE games for which localized versions exist |
GF_HE_985 | HE games with more global scripts and different sprite handling i.e. read it as HE version 9.85. Used for HE98 only. |
GF_16BIT_COLOR | HE games with 16 bit color |
GF_MAC_CONTAINER | SCUMM v5-v7 Mac games stored in a container file Used to differentiate between m68k and PPC versions of Indy4 |
GF_HE_NO_BIDI | SCUMM HE Official Hebrew translations were audio only but used reversed string for credits etc. Used to disable BiDi in those games. |
GF_ULTIMATE_TALKIE | The "Ultimate Talkie" versions of Monkey Island, which have been patched so that most workarounds/bugfixes no longer apply to them. |
GF_HE_995 | HE99 games which were ported to a C++ codebase with HE99 opcodes and several HE100 GFX/Wiz features. |
GF_DOUBLEFINE_PAK | Games packed within Doublefine PAK containers. |
anonymous enum |
Camera modes
Virtual screen identifiers
enum Scumm::ResTypeMode |
The mode of a resource type indicates whether the resource can be restored from the game data files or not. This affects for example whether the resource is stored in savestates.
Note that we treat sound resources somewhat differently: On the one hand, these behave mostly like a kStaticResTypeMode res type. However, when we create a savestate, we do save some information about them: Namely, which sound resources are loaded in memory at the time the save is made. And when loading, we invoke ensureResourceLoaded() for each sound resource that was marked in this way.
anonymous enum |
The number of script slots, which determines the maximal number of concurrently running scripts, and the number of local variables in a script. WARNING: Do NOT changes these values unless you really have to, as this will break savegame compatibility if done carelessly. If you have to change them, make sure you update saveload.cpp accordingly!
anonymous enum |
anonymous enum |
Enumerator | |
---|---|
LIGHTMODE_actor_use_base_palette | Lighting flag that indicates whether the normal palette, or the 'dark' palette shall be used to draw actors. Apparently only used in very old games (so far only NESCostumeRenderer checks it). |
LIGHTMODE_room_lights_on | Lighting flag that indicates whether the room is currently lit. Normally always on. Used for rooms in which the light can be switched "off". |
LIGHTMODE_flashlight_on | Lighting flag that indicates whether a flashlight like device is active. Used in Loom (flashlight follows the actor) and Indy 3 (flashlight follows the mouse). Only has any effect if the room lights are off. |
LIGHTMODE_actor_use_colors | Lighting flag that indicates whether actors are to be drawn with their own custom palette, or using a fixed 'dark' palette. This is the modern successor of LIGHTMODE_actor_use_base_palette. Note: It is tempting to 'merge' these two flags, but since flags can check their values, this is probably not a good idea. |
enum Scumm::ResType |
A list of resource types. WARNING: Do not change the order of these, as the savegame format relies on it; any change made here will break savegame compatibility!
enum Scumm::ClickArea |
The area in which some click (or key press) occurred and which is passed to the input script.
Audio::SeekableAudioStream* Scumm::makeCDDAStream | ( | const Common::String & | filename, |
DisposeAfterUse::Flag | disposeAfterUse | ||
) |
Create a new SeekableAudioStream from the CDDA data in the given stream. Allows for seeking (which is why we require a SeekableReadStream).
filename | The file name from which to read the CDDA data |
disposeAfterUse | Whether to delete the stream after use |