ScummVM API documentation
Mohawk Namespace Reference

Classes

struct  ADPCMStatus
 
class  Archive
 
struct  BitmapHeader
 
struct  CSTimeAmbient
 
class  CSTimeBook
 
class  CSTimeCarmenNote
 
class  CSTimeCase
 
class  CSTimeCase1
 
class  CSTimeChar
 
class  CSTimeConversation
 
struct  CSTimeEvent
 
class  CSTimeGraphics
 
class  CSTimeHelp
 
struct  CSTimeHelpQaR
 
struct  CSTimeHotspot
 
class  CSTimeInterface
 
class  CSTimeInventoryDisplay
 
struct  CSTimeInventoryHotspot
 
struct  CSTimeInventoryObject
 
struct  CSTimeLocation
 
class  CSTimeModule
 
class  CSTimeOptions
 
struct  CSTimeQaR
 
class  CSTimeScene
 
class  CSTimeView
 
struct  CueList
 
struct  CueListPoint
 
class  CursorManager
 
struct  DataChunk
 
class  DefaultCursorManager
 
struct  DelayedEvent
 
class  DOSArchive_v2
 
class  DOSBitmap
 
class  Feature
 
struct  FeatureData
 
class  FliesEffect
 
class  GraphicsManager
 
struct  GroupEntry
 
class  InfoDialog
 
class  InstallerArchive
 
class  LBAnimation
 
class  LBAnimationItem
 
class  LBAnimationNode
 
struct  LBAnimScriptEntry
 
class  LBCode
 
class  LBGraphics
 
class  LBGroupItem
 
class  LBItem
 
struct  LBKey
 
struct  LBList
 
class  LBLiveTextItem
 
class  LBMiniGameItem
 
class  LBMovieItem
 
class  LBPage
 
class  LBPaletteItem
 
class  LBPictureItem
 
class  LBProxyItem
 
struct  LBScriptEntry
 
class  LBSoundItem
 
struct  LBValue
 
class  LBXObject
 
struct  LiveTextPhrase
 
struct  LiveTextWord
 
class  LivingBooksArchive_v1
 
class  LivingBooksBitmap_v1
 
class  LivingBooksConsole
 
class  LivingBooksCursorManager_v2
 
class  MacCursorManager
 
struct  MLSTRecord
 
class  Module
 
class  MohawkArchive
 
class  MohawkBitmap
 
class  MohawkEngine
 
class  MohawkEngine_CSTime
 
class  MohawkEngine_LivingBooks
 
class  MohawkEngine_Myst
 
class  MohawkEngine_Riven
 
struct  MohawkGameDescription
 
class  MohawkMetaEngine_Myst
 
class  MohawkMetaEngine_Riven
 
class  MohawkSurface
 
class  MystArea
 
class  MystAreaAction
 
class  MystAreaActionSwitch
 
class  MystAreaDrag
 
class  MystAreaHover
 
class  MystAreaImageSwitch
 
class  MystAreaSlider
 
class  MystAreaVideo
 
class  MystCard
 
struct  MystCondition
 
class  MystGameState
 
class  MystGraphics
 
struct  MystLanguage
 
struct  MystSaveMetadata
 
struct  MystScriptEntry
 
class  MystScriptParser
 
class  MystSound
 
struct  MystSoundBlock
 
class  MystVideoInfo
 
class  NECursorManager
 
class  NewFeature
 
struct  NotifyEvent
 
class  OldFeature
 
class  PauseDialog
 
class  PECursorManager
 
class  Region
 
class  ResourceCache
 
class  RivenCard
 
class  RivenCommand
 
class  RivenGraphics
 
class  RivenHotspot
 
class  RivenInventory
 
struct  RivenLanguage
 
class  RivenNameList
 
class  RivenSaveLoad
 
struct  RivenSaveMetadata
 
class  RivenScript
 
class  RivenScriptManager
 
class  RivenSimpleCommand
 
class  RivenSound
 
class  RivenSoundManager
 
class  RivenStack
 
class  RivenStackChangeCommand
 
class  RivenSwitchCommand
 
class  RivenTimerCommand
 
struct  RivenTypedScript
 
class  RivenVideo
 
class  RivenVideoManager
 
struct  SLSTRecord
 
struct  SndHandle
 
class  Sound
 
class  VideoEntry
 
class  VideoManager
 
class  View
 
class  WaterEffect
 
class  WinCursorManager
 
struct  ZipMode
 

Typedefs

typedef Common::SharedPtr< MystCardMystCardPtr
 
typedef Common::SharedPtr< MystScriptParserMystScriptParserPtr
 
typedef Common::Array< uint16 > ArgumentsArray
 
typedef Common::Array< MystScriptEntryMystScript
 
typedef Common::HashMap< Common::String, uint32, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualToRivenVariableMap
 
typedef Common::SharedPtr< RivenScriptRivenScriptPtr
 
typedef Common::SharedPtr< RivenCommandRivenCommandPtr
 
typedef Common::Array< RivenTypedScriptRivenScriptList
 
typedef Common::SharedPtr< VideoEntryVideoEntryPtr
 

Enumerations

enum  BitmapFormat {
  kBitsPerPixel1 = 0x0000, kBitsPerPixel4 = 0x0001, kBitsPerPixel8 = 0x0002, kBitsPerPixel16 = 0x0003,
  kBitsPerPixel24 = 0x0004, kBitsPerPixelMask = 0x0007, kBitmapHasCLUT = 0x0008, kDrawMASK = 0x00f0,
  kDrawRaw = 0x0000, kDrawRLE8 = 0x0010, kDrawMSRLE8 = 0x0020, kDrawRLE = 0x0030,
  kPackMASK = 0x0f00, kPackNone = 0x0000, kPackLZ = 0x0100, kPackLZ1 = 0x0200,
  kPackRiven = 0x0400, kPackXDec = 0x0f00, kFlagMASK = 0xf000, kFlag16_80X86 = 0x1000,
  kFlag24_MAC = 0x1000
}
 
enum  OldBitmapFormat { kOldPackLZ = 0x0020, kOldDrawRLE8 = 0x0100 }
 
enum  {
  kCSTimeEventNothing = 0xffff, kCSTimeEventCondition = 1, kCSTimeEventCharPlayNIS = 2, kCSTimeEventStartConversation = 3,
  kCSTimeEventNewScene = 4, kCSTimeEventCharStartFlapping = 5, kCSTimeEventSetCaseVariable = 6, kCSTimeEventSetupAmbientAnims = 7,
  kCSTimeEventUnused8 = 8, kCSTimeEventDropItemInInventory = 9, kCSTimeEventRemoveItemFromInventory = 10, kCSTimeEventAddNotePiece = 11,
  kCSTimeEventDisableHotspot = 12, kCSTimeEventDisableFeature = 13, kCSTimeEventAddFeature = 14, kCSTimeEventStartMusic = 15,
  kCSTimeEventStopMusic = 16, kCSTimeEventEnableHotspot = 17, kCSTimeEventSetAsked = 18, kCSTimeEventStartHelp = 19,
  kCSTimeEventPlaySound = 20, kCSTimeEventUnused21 = 21, kCSTimeEventShowBigNote = 22, kCSTimeEventActivateCuffs = 23,
  kCSTimeEventHelperSetupRestPos = 24, kCSTimeEventUnknown25 = 25, kCSTimeEventUnknown26 = 26, kCSTimeEventRemoveChar = 27,
  kCSTimeEventUnknown28 = 28, kCSTimeEventUnknown29 = 29, kCSTimeEventUnknown30 = 30, kCSTimeEventUnknown31 = 31,
  kCSTimeEventCharSomeNIS32 = 32, kCSTimeEventCharResetNIS = 33, kCSTimeEventUnknown34 = 34, kCSTimeEventCharPauseAmbients = 35,
  kCSTimeEventCharUnauseAmbients = 36, kCSTimeEventCharDisableAmbients = 37, kCSTimeEventStopAmbientAnims = 38, kCSTimeEventUnknown39 = 39,
  kCSTimeEventWait = 40, kCSTimeEventSpeech = 41, kCSTimeEventCharSetState = 42, kCSTimeEventUnknown43 = 43,
  kCSTimeEventCharSetupRestPos = 44, kCSTimeEventCharStopAmbients = 45, kCSTimeEventCharRestartAmbients = 46, kCSTimeEventStopEnvironmentSound = 47,
  kCSTimeEventWaitForClick = 48, kCSTimeEventSetMusic = 49, kCSTimeEventStartEnvironmentSound = 50, kCSTimeEventPreloadSound = 51,
  kCSTimeEventPlayPreloadedSound = 52, kCSTimeEventSetInsertBefore = 53, kCSTimeEventSetEnvironmentSound = 54, kCSTimeEventCharSomeNIS55 = 55,
  kCSTimeEventUnknown56 = 56, kCSTimeEventUpdateBubble = 57, kCSTimeEventCharSurfAndFlap = 58, kCSTimeEventInitScene = 59,
  kCSTimeEventFadeDown = 60, kCSTimeEventEndOfCase = 61, kCSTimeEventCharPlaySimultaneousAnim = 62, kCSTimeEventUnused63 = 63,
  kCSTimeEventUnknown64 = 64, kCSTimeEventPrepareSave = 65, kCSTimeEventSave = 66, kCSTimeEventQuit = 67,
  kCSTimeEventPlayMovie = 68, kCSTimeEventUnknown69 = 69, kCSTimeEventUnknown70 = 70
}
 
enum  CSTimeState { kCSTStateStartup, kCSTStateNewCase, kCSTStateNewScene, kCSTStateNormal }
 
enum  CSTimeInterfaceState { kCSTimeInterfaceStateNormal = 1, kCSTimeInterfaceStateDragStart = 2, kCSTimeInterfaceStateDragging = 3, kCSTimeInterfaceDroppedInventory = 4 }
 
enum  {
  kRivenOpenHandCursor = 2003, kRivenClosedHandCursor = 2004, kRivenMainCursor = 3000, kRivenPelletCursor = 5000,
  kRivenHideCursor = 9000
}
 
enum  MohawkGameType {
  GType_MYST, GType_MAKINGOF, GType_RIVEN, GType_CSTIME,
  GType_LIVINGBOOKSV1, GType_LIVINGBOOKSV2, GType_LIVINGBOOKSV3, GType_LIVINGBOOKSV4,
  GType_LIVINGBOOKSV5, GType_ZOOMBINI, GType_CSWORLD, GType_CSAMTRAK,
  GType_JAMESMATH, GType_TREEHOUSE, GType_1STDEGREE, GType_CSUSA,
  GType_ORLY, GType_ALIENTALES, GType_MATHSWORKSHOP, GType_WRICAMACT,
  GType_AMAZINGWRITING
}
 
enum  MohawkGameFeatures {
  GF_ME = (1 << 0), GF_25TH = (1 << 1), GF_DVD = (1 << 2), GF_DEMO = (1 << 3),
  GF_LB_10 = (1 << 4)
}
 
enum  NodeState { kLBNodeDone = 0, kLBNodeRunning = 1, kLBNodeWaiting = 2 }
 
enum  LBMode {
  kLBIntroMode = 1, kLBControlMode = 2, kLBCreditsMode = 3, kLBPreviewMode = 4,
  kLBReadMode = 5, kLBPlayMode = 6
}
 
enum  {
  kLBPhaseInit = 0x0, kLBPhaseIntro = 0x1, kLBPhaseMain = 0x2, kLBPhaseNone = 0x7fff,
  kLBPhaseLoad = 0xfffe, kLBPhaseCreate = 0xffff
}
 
enum  {
  kLBAutoNone = 0, kLBAutoIntro = 1, kLBAutoUserIdle = 2, kLBAutoMain = 3,
  kLBAutoSync = 4, kLBAutoInit = 5, kLBAutoCreate = 6, kLBAutoLoad = 7
}
 
enum  { kLBControlNone = 0, kLBControlHideMouse = 1, kLBControlPauseItems = 2 }
 
enum  {
  kLBStaticTextItem = 0x1, kLBPictureItem = 0x2, kLBEditTextItem = 0x14, kLBLiveTextItem = 0x15,
  kLBAnimationItem = 0x40, kLBSoundItem = 0x41, kLBGroupItem = 0x42, kLBMovieItem = 0x43,
  kLBPaletteAItem = 0x44, kLBPaletteItem = 0x45, kLBProxyItem = 0x46, kLBMiniGameItem = 666,
  kLBXDataFileItem = 0x3e9, kLBDiscDectectorItem = 0xfa1
}
 
enum  {
  kLBAnimOpNotify = 0x2, kLBAnimOpSetTempo = 0x3, kLBAnimOpMoveTo = 0x5, kLBAnimOpWait = 0x6,
  kLBAnimOpSetCel = 0x7, kLBAnimOpSleepUntil = 0x8, kLBAnimOpDrawMode = 0x9, kLBAnimOpPlaySound = 0xa,
  kLBAnimOpWaitForSound = 0xb, kLBAnimOpReleaseSound = 0xc, kLBAnimOpResetSound = 0xd, kLBAnimOpSetTempoDiv = 0xe,
  kLBAnimOpDelay = 0xf
}
 
enum  {
  kLBEventPhaseInit = 0, kLBEventPhaseIntro = 1, kLBEventMouseDown = 2, kLBEventStarted = 3,
  kLBEventDone = 4, kLBEventMouseUp = 5, kLBEventPhaseMain = 6, kLBEventNotified = 7,
  kLBEventDragStart = 8, kLBEventDragMove = 9, kLBEventDragEnd = 0xa, kLBEventRolloverBegin = 0xb,
  kLBEventRolloverMove = 0xc, kLBEventRolloverEnd = 0xd, kLBEventMouseUpIn = 0xe, kLBEventMouseUpOut = 0xf,
  kLBEventMouseTrackIn = 0x10, kLBEventMouseTrackMove = 0x11, kLBEventMouseTrackMoveIn = 0x12, kLBEventMouseTrackMoveOut = 0x13,
  kLBEventMouseTrackOut = 0x14, kLBEventFocusBegin = 0x15, kLBEventFocusEnd = 0x16, kLBEventInit = 0x17,
  kLBEventLoad = 0x1a, kLBEventListLoad = 0x1b, kLBEventPhaseCreate = 0xff
}
 
enum  {
  kLBGroupData = 0x64, kLBLiveTextData = 0x65, kLBMsgListScript = 0x66, kLBNotifyScript = 0x67,
  kLBSetPlayInfo = 0x68, kLBSetRandomLoc = 0x69, kLBSetDrag = 0x6a, kLBSetDrawMode = 0x6b,
  kLBSetFont = 0x6c, kLBSetOneShot = 0x6d, kLBSetPlayPhase = 0x6e, kLBSetKeyNotify = 0x6f,
  kLBCommand = 0x70, kLBPaletteAData = 0x71, kLBPaletteXData = 0x72, kLBDisable = 0x73,
  kLBEnable = 0x74, kLBSetNotVisible = 0x75, kLBSetVisible = 0x76, kLBGlobalDisable = 0x77,
  kLBGlobalEnable = 0x78, kLBGlobalSetNotVisible = 0x79, kLBGlobalSetVisible = 0x7a, kLBSetAmbient = 0x7b,
  kLBSetDragParams = 0x7c, kLBSetKeyEvent = 0x7d, kLBSetRolloverData = 0x7e, kLBSetParent = 0x7f,
  kLBSetHitTest = 0x80, kLBUnknown194 = 0x194
}
 
enum  {
  kLBOpNone = 0x0, kLBOpXShow = 0x1, kLBOpTogglePlay = 0x2, kLBOpSetNotVisible = 0x3,
  kLBOpSetVisible = 0x4, kLBOpDestroy = 0x5, kLBOpRewind = 0x6, kLBOpStop = 0x7,
  kLBOpDisable = 0x8, kLBOpEnable = 0x9, kLBOpGlobalSetNotVisible = 0xb, kLBOpGlobalSetVisible = 0xc,
  kLBOpGlobalDisable = 0xd, kLBOpGlobalEnable = 0xe, kLBOpSeekToEnd = 0xf, kLBOpMute = 0x11,
  kLBOpUnmute = 0x12, kLBOpLoad = 0x13, kLBOpPreload = 0x14, kLBOpUnload = 0x15,
  kLBOpSeekToNext = 0x16, kLBOpSeekToPrev = 0x17, kLBOpDragBegin = 0x18, kLBOpDragEnd = 0x19,
  kLBOpScriptDisable = 0x1a, kLBOpScriptEnable = 0x1b, kLBOpUnknown1C = 0x1c, kLBOpSendExpression = 0x1d,
  kLBOpJumpUnlessExpression = 0xfffb, kLBOpBreakExpression = 0xfffc, kLBOpJumpToExpression = 0xfffd, kLBOpRunSubentries = 0xfffe,
  kLBOpRunData = 0xffff
}
 
enum  {
  kLBNotifyGUIAction = 1, kLBNotifyGoToControls = 2, kLBNotifyChangePage = 3, kLBNotifyGotoQuit = 4,
  kLBNotifyIntroDone = 5, kLBNotifyChangeMode = 6, kLBNotifyCursorChange = 7, kLBNotifyPrintPage = 0xc,
  kLBNotifyQuit = 0xd
}
 
enum  { kTargetTypeExpression = 0x3f3f, kTargetTypeCode = 0xfffe, kTargetTypeName = 0xffff }
 
enum  DelayedEventType { kLBDelayedEventDestroy = 0, kLBDelayedEventSetNotVisible = 1, kLBDelayedEventDone = 2 }
 
enum  LBValueType {
  kLBValueString, kLBValueInteger, kLBValueReal, kLBValuePoint,
  kLBValueRect, kLBValueItemPtr, kLBValueLBX, kLBValueList
}
 
enum  { kLBCodeLiteralInteger = 0x1, kLBCodeLiteralIntegerLE = 0x11 }
 
enum  {
  kTokenIdentifier = 0x1, kTokenLiteral = 0x5, kTokenString = 0x6, kTokenEndOfStatement = 0x7,
  kTokenEndOfFile = 0x8, kTokenConcat = 0xb, kTokenSingleQuote = 0xc, kTokenDoubleQuote = 0xd,
  kTokenMultiply = 0xe, kTokenOpenBracket = 0xf, kTokenCloseBracket = 0x10, kTokenMinus = 0x11,
  kTokenMinusMinus = 0x12, kTokenPlusEquals = 0x13, kTokenPlus = 0x14, kTokenPlusPlus = 0x15,
  kTokenEquals = 0x16, kTokenMinusEquals = 0x17, kTokenMultiplyEquals = 0x18, kTokenDivideEquals = 0x19,
  kTokenListStart = 0x1a, kTokenListEnd = 0x1b, kTokenColon = 0x1c, kTokenLessThan = 0x1d,
  kTokenGreaterThan = 0x1e, kTokenAndEquals = 0x1f, kTokenDotOperator = 0x20, kTokenDivide = 0x21,
  kTokenAssign = 0x22, kTokenLessThanEq = 0x23, kTokenGreaterThanEq = 0x24, kTokenNotEq = 0x25,
  kTokenQuote = 0x27, kTokenAnd = 0x2a, kTokenComma = 0x2c, kTokenConstMode = 0x31,
  kTokenIntDivide = 0x32, kTokenModulo = 0x34, kTokenNot = 0x35, kTokenOr = 0x37,
  kTokenTrue = 0x39, kTokenFalse = 0x3a, kTokenConstDataType = 0x3b, kTokenConstItemType = 0x3c,
  kTokenConstEventId = 0x42, kTokenConstScriptOpcode = 0x43, kTokenConstScriptParam = 0x44, kTokenEval = 0x4b,
  kTokenGeneralCommand = 0x4d, kTokenItemCommand = 0x4e, kTokenNotifyCommand = 0x4f, kTokenKeycode = 0x5f,
  kTokenLocal = 0x61, kTokenPropListCommand = 0x70, kTokenRectCommand = 0x71
}
 
enum  {
  kDebugVariable = (1 << 0), kDebugSaveLoad = (1 << 1), kDebugView = (1 << 2), kDebugHint = (1 << 3),
  kDebugResource = (1 << 4), kDebugINIT = (1 << 5), kDebugEXIT = (1 << 6), kDebugScript = (1 << 7),
  kDebugHelp = (1 << 8), kDebugCache = (1 << 9)
}
 
enum  MystStack {
  kChannelwoodStack = 0, kCreditsStack, kDemoStack, kDniStack,
  kIntroStack, kMakingOfStack, kMechanicalStack, kMystStack,
  kSeleniticStack, kDemoSlidesStack, kDemoPreviewStack, kStoneshipStack,
  kMenuStack
}
 
enum  TransitionType {
  kTransitionLeftToRight = 0, kTransitionRightToLeft = 1, kTransitionSlideToLeft = 2, kTransitionSlideToRight = 3,
  kTransitionDissolve = 4, kTransitionTopToBottom = 5, kTransitionBottomToTop = 6, kTransitionSlideToTop = 7,
  kTransitionSlideToBottom = 8, kTransitionPartToRight = 9, kTransitionPartToLeft = 10, kTransitionCopy = 11,
  kNoTransition = 999
}
 
enum  { kMystSoundActionConditional = -4, kMystSoundActionContinue = -1, kMystSoundActionChangeVolume = -2, kMystSoundActionStop = -3 }
 
enum  MystEventAction {
  kMystActionNone = 100, kMystActionOpenMainMenu, kMystActionSkip, kMystActionInteract,
  kMystActionLoadGameState, kMystActionSaveGameState, kMystActionOpenOptionsDialog, kMystActionPause,
  kMystActionDropPage, kMystActionShowMap, kMystActionLast = kMystActionShowMap
}
 
enum  ResourceType {
  kMystAreaForward = 0, kMystAreaLeft = 1, kMystAreaRight = 2, kMystAreaDown = 3,
  kMystAreaUp = 4, kMystAreaAction = 5, kMystAreaVideo = 6, kMystAreaActionSwitch = 7,
  kMystAreaImageSwitch = 8, kMystAreaSlider = 10, kMystAreaDrag = 11, kMystVideoInfo = 12,
  kMystAreaHover = 13
}
 
enum  { kMystSubimageEnableFlag = (1 << 0), kMystHotspotEnableFlag = (1 << 1), kMystUnknownFlag = (1 << 2), kMystZipModeEnableFlag = (1 << 3) }
 
enum  RectState { kRectEnabled, kRectDisabled, kRectUnreachable }
 
enum  MystScriptType { kMystScriptNone, kMystScriptNormal, kMystScriptInit, kMystScriptExit }
 
enum  HeldPage {
  kNoPage = 0, kBlueLibraryPage = 1, kBlueSeleniticPage = 2, kBlueMechanicalPage = 3,
  kBlueStoneshipPage = 4, kBlueChannelwoodPage = 5, kBlueFirePlacePage = 6, kRedLibraryPage = 7,
  kRedSeleniticPage = 8, kRedMechanicalPage = 9, kRedStoneshipPage = 10, kRedChannelwoodPage = 11,
  kRedFirePlacePage = 12, kWhitePage = 13
}
 
enum  ActiveAge {
  kSelenitic = 0, kStoneship = 1, kMystLibrary = 2, kMechanical = 3,
  kChannelwood = 4, kIntro = 5, kDni = 6, kMystStart = 7,
  kCredits = 8, kSirrusEnding = 9, kAchenarEnding = 10
}
 
enum  DniEnding {
  kDniNotVisited = 0, kAtrusWantsPage = 1, kAtrusLeaves = 2, kForgotPage = 3,
  kBooksDestroyed = 4
}
 
enum  {
  kStackUnknown = 0, kStackOspit = 1, kStackPspit = 2, kStackRspit = 3,
  kStackTspit = 4, kStackBspit = 5, kStackGspit = 6, kStackJspit = 7,
  kStackAspit = 8, kStackFirst = kStackOspit, kStackLast = kStackAspit
}
 
enum  { kRivenDebugScript = (1 << 0), kRivenDebugPatches = (1 << 1) }
 
enum  RivenAction {
  kRivenActionNone, kRivenActionInteract, kRivenActionSkip, kRivenActionMoveForward,
  kRivenActionMoveForwardLeft, kRivenActionMoveForwardRight, kRivenActionMoveLeft, kRivenActionMoveRight,
  kRivenActionMoveBack, kRivenActionLookUp, kRivenActionLookDown, kRivenActionOpenMainMenu,
  kRivenActionPause, kRivenActionPlayIntroVideos, kRivenActionLoadGameState, kRivenActionSaveGameState,
  kRivenActionOpenOptionsDialog
}
 
enum  RivenTransition {
  kRivenTransitionNone = -1, kRivenTransitionWipeLeft = 0, kRivenTransitionWipeRight = 1, kRivenTransitionWipeUp = 2,
  kRivenTransitionWipeDown = 3, kRivenTransitionPanLeft = 12, kRivenTransitionPanRight = 13, kRivenTransitionPanUp = 14,
  kRivenTransitionPanDown = 15, kRivenTransitionBlend = 16, kRivenTransitionBlend2 = 17
}
 
enum  RivenCreditsImageNumber { kRivenCreditsZeroImage = 302, kRivenCreditsFirstImage = 303, kRivenCreditsSecondImage = 304, kRivenCreditsLastImage = 320 }
 
enum  { kCDSaveGameVersion = 0x00010000, kDVDSaveGameVersion = 0x00010100 }
 
enum  {
  kMouseDownScript = 0, kMouseDragScript = 1, kMouseUpScript = 2, kMouseEnterScript = 3,
  kMouseInsideScript = 4, kMouseLeaveScript = 5, kCardLoadScript = 6, kCardLeaveScript = 7,
  kCardFrameScript = 8, kCardEnterScript = 9, kCardUpdateScript = 10
}
 
enum  RivenCommandType {
  kRivenCommandDrawBitmap = 1, kRivenCommandChangeCard = 2, kRivenCommandPlayScriptSLST = 3, kRivenCommandPlaySound = 4,
  kRivenCommandSetVariable = 7, kRivenCommandSwitch = 8, kRivenCommandEnableHotspot = 9, kRivenCommandDisableHotspot = 10,
  kRivenCommandStopSound = 12, kRivenCommandChangeCursor = 13, kRivenCommandDelay = 14, kRivenCommandRunExternal = 17,
  kRivenCommandTransition = 18, kRivenCommandRefreshCard = 19, kRivenCommandBeginScreenUpdate = 20, kRivenCommandApplyScreenUpdate = 21,
  kRivenCommandIncrementVariable = 24, kRivenCommandChangeStack = 27, kRivenCommandDisableMovie = 28, kRivenCommandDisableAllMovies = 29,
  kRivenCommandEnableMovie = 31, kRivenCommandPlayMovieBlocking = 32, kRivenCommandPlayMovie = 33, kRivenCommandStopMovie = 34,
  kRivenCommandUnk36 = 36, kRivenCommandFadeAmbientSounds = 37, kRivenCommandStoreMovieOpcode = 38, kRivenCommandActivatePLST = 39,
  kRivenCommandActivateSLST = 40, kRivenCommandActivateMLSTAndPlay = 41, kRivenCommandActivateBLST = 43, kRivenCommandActivateFLST = 44,
  kRivenCommandZipMode = 45, kRivenCommandActivateMLST = 46, kRivenCommandTimer = 1001
}
 
enum  RivenNameResource {
  kCardNames = 1, kHotspotNames = 2, kExternalCommandNames = 3, kVariableNames = 4,
  kStackNames = 5
}
 
enum  SndHandleType { kFreeHandle, kUsedHandle }
 
enum  { kCodecRaw = 0, kCodecADPCM = 1, kCodecMPEG2 = 2 }
 
enum  : uint {
  kFeatureObjectMask = 0xff, kFeatureOldSortForeground = 0x1000, kFeatureOldDropSpot = 0x2000, kFeatureOldNoClip = 0x4000,
  kFeatureNewSortForeground = 0x4000, kFeatureSortBackground = 0x8000, kFeatureOldReset = 0x10000, kFeatureOldDisable = 0x20000,
  kFeatureOldAlternateScripts = 0x40000, kFeatureOldDisableOnReset = 0x80000, kFeatureDisableOnEnd = 0x100000, kFeatureNewDisable = 0x200000,
  kFeatureNewDisableOnReset = 0x400000, kFeatureOldAdjustByPos = 0x800000, kFeatureNewNoLoop = 0x800000, kFeatureOldDisabled = 0x1000000,
  kFeatureOldRandom = 0x2000000, kFeatureNewClip = 0x2000000, kFeatureSortStatic = 0x4000000, kFeatureInternalRegion = 0x8000000,
  kFeatureSortCheckRight = 0x10000000, kFeatureSortCheckTop = 0x20000000, kFeatureSortCheckLeft = 0x40000000, kFeatureNewInternalTiming = 0x80000000
}
 

Functions

Common::SharedPtr< LBXObjectcreateLBXObject (MohawkEngine_LivingBooks *vm, uint16 type)
 
RivenScriptPtroperator+= (RivenScriptPtr &lhs, const RivenScriptPtr &rhs)
 
Audio::RewindableAudioStreammakeMohawkWaveStream (Common::SeekableReadStream *stream, CueList *cueList=nullptr)
 

Detailed Description

This is the namespace of the Mohawk engine.

Status of this engine: ???

Games using this engine:

  • Myst
  • Riven: The Sequel to Myst

Enumeration Type Documentation

◆ RivenAction

Actions that can be performed using the keyboard

Function Documentation

◆ operator+=()

RivenScriptPtr& Mohawk::operator+= ( RivenScriptPtr lhs,
const RivenScriptPtr rhs 
)

Append the commands of the rhs Script to those of the lhs Script