Classes | |
struct | AnimObj |
struct | Character |
struct | EngineDesc |
struct | ItemDefinition |
struct | SceneAnim |
struct | SceneDesc |
Public Member Functions | |
KyraEngine_v2 (OSystem *system, const GameFlags &flags, const EngineDesc &desc) | |
void | pauseEngineIntern (bool pause) override |
virtual Screen_v2 * | screen_v2 () const =0 |
void | delay (uint32 time, bool update=false, bool isMainLoop=false) override |
const EngineDesc & | engineDesc () const |
Public Member Functions inherited from Kyra::KyraEngine_v1 | |
KyraEngine_v1 (OSystem *system, const GameFlags &flags) | |
uint8 | game () const |
const GameFlags & | gameFlags () const |
Resource * | resource () |
virtual Screen * | screen ()=0 |
virtual TextDisplayer * | text () |
virtual GUI * | gui () const |
Sound * | sound () |
StaticResource * | staticres () |
TimerManager * | timer () |
uint32 | tickLength () const |
void | setMousePos (int x, int y) |
Common::Point | getMousePos () |
bool | speechEnabled () |
bool | textEnabled () |
void | setVolume (kVolumeEntry vol, uint8 value) |
uint8 | getVolume (kVolumeEntry vol) |
void | syncSoundSettings () override |
int | setGameFlag (int flag) |
int | queryGameFlag (int flag) const |
int | resetGameFlag (int flag) |
virtual void | snd_playTheme (int file, int track) |
virtual void | snd_playSoundEffect (int id, int volume=0xFF) |
virtual void | snd_playWanderScoreViaMap (int command, int restart) |
virtual void | snd_playVoiceFile (int id)=0 |
virtual bool | snd_voiceIsPlaying () |
virtual void | snd_stopVoice () |
virtual void | delayUntil (uint32 timestamp, bool updateGameTimers=false, bool update=false, bool isMainLoop=false) |
virtual void | delayWithTicks (int ticks) |
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 () |
Engine (OSystem *syst) | |
virtual | ~Engine () |
virtual void | initializePath (const Common::FSNode &gamePath) |
virtual void | errorString (const char *buf_input, char *buf_output, int buf_output_size) |
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 () |
Protected Types | |
typedef Common::HashMap< int, uint8 * > | ShapeMap |
Protected Types inherited from Kyra::KyraEngine_v1 | |
enum | ReadSaveHeaderError { kRSHENoError = 0, kRSHEInvalidType = 1, kRSHEInvalidVersion = 2, kRSHEIoError = 3 } |
typedef Common::HashMap< Common::KeyCode, int16, KeyCodeHash > | KeyMap |
Protected Member Functions | |
virtual void | update ()=0 |
virtual void | updateWithText ()=0 |
virtual int | inputSceneChange (int x, int y, int unk1, int unk2)=0 |
void | allocAnimObjects (int actors, int anims, int items) |
AnimObj * | initAnimList (AnimObj *list, AnimObj *entry) |
AnimObj * | addToAnimListSorted (AnimObj *list, AnimObj *entry) |
AnimObj * | deleteAnimListEntry (AnimObj *list, AnimObj *entry) |
virtual void | refreshAnimObjects (int force)=0 |
void | refreshAnimObjectsIfNeed () |
void | flagAnimObjsSpecialRefresh () |
void | flagAnimObjsForRefresh () |
virtual void | clearAnimObjects ()=0 |
virtual void | drawAnimObjects ()=0 |
virtual void | drawSceneAnimObject (AnimObj *obj, int x, int y, int drawLayer)=0 |
virtual void | drawCharacterAnimObject (AnimObj *obj, int x, int y, int drawLayer)=0 |
virtual void | updateCharacterAnim (int)=0 |
virtual void | updateSceneAnim (int anim, int newFrame)=0 |
void | addItemToAnimList (int item) |
void | deleteItemAnimEntry (int item) |
virtual void | animSetupPaletteEntry (AnimObj *) |
virtual void | setCharacterAnimDim (int w, int h)=0 |
virtual void | resetCharacterAnimDim ()=0 |
virtual int | getScale (int x, int y)=0 |
bool | checkSpecialSceneExit (int num, int x, int y) |
virtual void | enterNewScene (uint16 newScene, int facing, int unk1, int unk2, int unk3)=0 |
void | runSceneScript6 () |
virtual int | trySceneChange (int *moveTable, int unk1, int unk2)=0 |
virtual void | restorePage3 ()=0 |
void | freeSceneAnims () |
void | updateSpecialSceneScripts () |
void | runAnimationScript (const char *filename, int allowSkip, int resetChar, int newShapes, int shapeUnload) |
int | o2a_setAnimationShapes (EMCState *script) |
int | o2a_setResetFrame (EMCState *script) |
virtual int | initAnimationShapes (uint8 *filedata)=0 |
void | processAnimationScript (int allowSkip, int resetChar) |
virtual void | uninitAnimationShapes (int count, uint8 *filedata)=0 |
uint8 * | getShapePtr (int index) const |
void | addShapeToPool (const uint8 *data, int realIndex, int shape) |
void | addShapeToPool (uint8 *shpData, int index) |
void | remShapeFromPool (int idx) |
virtual void | loadCharacterShapes (int shapes)=0 |
int | findWay (int curX, int curY, int dstX, int dstY, int *moveTable, int moveTableSize) override |
bool | directLinePassable (int x, int y, int toX, int toY) |
int | pathfinderInitPositionTable (int *moveTable) |
int | pathfinderAddToPositionTable (int index, int v1, int v2) |
int | pathfinderInitPositionIndexTable (int tableLen, int x, int y) |
int | pathfinderAddToPositionIndexTable (int index, int v) |
void | pathfinderFinializePath (int *moveTable, int unk1, int x, int y, int moveTableSize) |
void | initItemList (int size) |
int | findFreeItem () |
int | countAllItems () |
int | findItem (uint16 sceneId, Item id) |
int | findItem (Item item) |
void | resetItemList () |
void | resetItem (int index) |
virtual void | setMouseCursor (Item item)=0 |
void | setHandItem (Item item) override |
void | removeHandItem () override |
void | moveCharacter (int facing, int x, int y) |
int | updateCharPos (int *table, int force=0) |
void | updateCharPosWithUpdate () |
virtual int | getCharacterWalkspeed () const =0 |
virtual void | updateCharAnimFrame (int *table)=0 |
virtual void | setDlgIndex (int dlgIndex)=0 |
virtual void | randomSceneChat ()=0 |
int | o2_getCharacterX (EMCState *script) |
int | o2_getCharacterY (EMCState *script) |
int | o2_getCharacterFacing (EMCState *script) |
int | o2_getCharacterScene (EMCState *script) |
int | o2_setCharacterFacingOverwrite (EMCState *script) |
int | o2_trySceneChange (EMCState *script) |
int | o2_moveCharacter (EMCState *script) |
int | o2_checkForItem (EMCState *script) |
int | o2_defineItem (EMCState *script) |
int | o2_addSpecialExit (EMCState *script) |
int | o2_delay (EMCState *script) |
int | o2_update (EMCState *script) |
int | o2_getShapeFlag1 (EMCState *script) |
int | o2_waitForConfirmationClick (EMCState *script) |
int | o2_randomSceneChat (EMCState *script) |
int | o2_setDlgIndex (EMCState *script) |
int | o2_getDlgIndex (EMCState *script) |
int | o2_defineRoomEntrance (EMCState *script) |
int | o2_runAnimationScript (EMCState *script) |
int | o2_setSpecialSceneScriptRunTime (EMCState *script) |
int | o2_defineScene (EMCState *script) |
int | o2_setSpecialSceneScriptState (EMCState *script) |
int | o2_clearSpecialSceneScriptState (EMCState *script) |
int | o2_querySpecialSceneScriptState (EMCState *script) |
int | o2_setHiddenItemsEntry (EMCState *script) |
int | o2_getHiddenItemsEntry (EMCState *script) |
int | o2_disableTimer (EMCState *script) |
int | o2_enableTimer (EMCState *script) |
int | o2_setTimerCountdown (EMCState *script) |
int | o2_setVocHigh (EMCState *script) |
int | o2_getVocHigh (EMCState *script) |
Protected Member Functions inherited from Kyra::KyraEngine_v1 | |
virtual Common::Error | init () |
virtual Common::Error | go ()=0 |
Common::Error | run () override |
bool | hasFeature (EngineFeature f) const override |
void | pauseEngineIntern (bool pause) override |
void | setupKeyMap () |
void | updateInput () |
int | checkInput (Button *buttonList, bool mainLoop=false, int eventFlag=0x8000) |
void | removeInputTop () |
void | transposeScreenOutputY (int yAdd) |
virtual void | registerDefaultSettings () |
virtual void | readSettings () |
virtual void | writeSettings () |
virtual bool | skipFlag () const |
virtual void | resetSkipFlag (bool removeEvent=true) |
virtual void | setupTimers ()=0 |
virtual void | setWalkspeed (uint8 speed)=0 |
virtual void | setupOpcodeTable ()=0 |
int | o1_queryGameFlag (EMCState *script) |
int | o1_setGameFlag (EMCState *script) |
int | o1_resetGameFlag (EMCState *script) |
int | o1_getRand (EMCState *script) |
int | o1_hideMouse (EMCState *script) |
int | o1_showMouse (EMCState *script) |
int | o1_setMousePos (EMCState *script) |
int | o1_setHandItem (EMCState *script) |
int | o1_removeHandItem (EMCState *script) |
int | o1_getMouseState (EMCState *script) |
int | o1_setDeathHandler (EMCState *script) |
int | o1_playWanderScoreViaMap (EMCState *script) |
int | o1_fillRect (EMCState *script) |
int | o1_blockInWalkableRegion (EMCState *script) |
int | o1_blockOutWalkableRegion (EMCState *script) |
int | o1_playSoundEffect (EMCState *script) |
int16 | emcSafeReadStack (EMCState *s, int x, int line, const char *file) |
virtual int | convertVolumeToMixer (int value) |
virtual int | convertVolumeFromMixer (int value) |
int | findSubPath (int x, int y, int toX, int toY, int *moveTable, int start, int end) |
int | getFacingFromPointToPoint (int x, int y, int toX, int toY) |
int | getOppositeFacingDirection (int dir) |
void | changePosTowardsFacing (int &x, int &y, int facing) |
int | getMoveTableSize (int *moveTable) |
virtual bool | lineIsPassable (int x, int y)=0 |
bool | canLoadGameStateCurrently (Common::U32String *msg=nullptr) override |
bool | canSaveGameStateCurrently (Common::U32String *msg=nullptr) override |
int | getAutosaveSlot () const override |
const char * | getSavegameFilename (int num) |
bool | saveFileLoadable (int slot) |
void | loadGameStateCheck (int slot) |
Common::Error | loadGameState (int slot) override=0 |
Common::Error | saveGameState (int slot, const Common::String &desc, bool isAutosave=false) override |
virtual Common::Error | saveGameStateIntern (int slot, const char *saveName, const Graphics::Surface *thumbnail)=0 |
Common::SeekableReadStream * | openSaveForReading (const char *filename, SaveHeader &header, bool checkID=true) |
Common::OutSaveFile * | openSaveForWriting (const char *filename, const char *saveName, const Graphics::Surface *thumbnail) const |
virtual Graphics::Surface * | generateSaveThumbnail () const |
void | updatePlayTimer () |
void | restartPlayTimerAt (uint32 totalPlaySecs) |
void | pausePlayTimer (bool pause) |
Protected Member Functions inherited from Engine | |
virtual int | runDialog (GUI::Dialog &dialog) |
void | defaultSyncSoundSettings () |
Protected Attributes | |
EngineDesc | _desc |
uint32 | _pauseStart |
bool | _runFlag |
bool | _showOutro |
int | _lang |
const int | _numLang |
int | _langIntern |
AnimObj * | _animObjects |
AnimObj * | _animActor |
AnimObj * | _animAnims |
AnimObj * | _animItems |
bool | _drawNoShapeFlag |
AnimObj * | _animList |
uint8 * | _screenBuffer |
SceneDesc * | _sceneList |
int | _sceneListSize |
uint16 | _currentScene |
uint16 | _sceneExit1 |
uint16 | _sceneExit2 |
uint16 | _sceneExit3 |
uint16 | _sceneExit4 |
int | _sceneEnterX1 |
int | _sceneEnterY1 |
int | _sceneEnterX2 |
int | _sceneEnterY2 |
int | _sceneEnterX3 |
int | _sceneEnterY3 |
int | _sceneEnterX4 |
int | _sceneEnterY4 |
int | _specialExitCount |
uint16 | _specialExitTable [25] |
bool | _overwriteSceneFacing |
EMCData | _sceneScriptData |
EMCState | _sceneScriptState |
SceneAnim | _sceneAnims [16] |
WSAMovie_v2 * | _sceneAnimMovie [16] |
bool | _specialSceneScriptState [10] |
bool | _specialSceneScriptStateBackup [10] |
EMCState | _sceneSpecialScripts [10] |
uint32 | _sceneSpecialScriptsTimer [10] |
int | _lastProcessedSceneScript |
bool | _specialSceneScriptRunFlag |
EMCData | _animationScriptData |
EMCState | _animationScriptState |
Common::Array< const Opcode * > | _opcodesAnimation |
char | _animShapeFilename [14] |
uint8 * | _animShapeFiledata |
int | _animShapeCount |
int | _animShapeLastEntry |
int | _animNewFrame |
int | _animDelayTime |
int | _animResetFrame |
int | _animShapeWidth |
int | _animShapeHeight |
int | _animShapeXAdd |
int | _animShapeYAdd |
bool | _animNeedUpdate |
ShapeMap | _gameShapes |
int | _characterShapeFile |
int | _movFacingTable [600] |
int | _pathfinderFlag |
bool | _smoothingPath |
int | _pathfinderPositionTable [400] |
int | _pathfinderPositionIndexTable [200] |
Item | _hiddenItems [100] |
ItemDefinition * | _itemList |
int | _itemListSize |
int | _itemInHand |
int | _savedMouseState |
Character | _mainCharacter |
int | _mainCharX |
int | _mainCharY |
int | _charScale |
uint32 | _updateCharPosNextUpdate |
int | _vocHigh |
Common::String | _chatText |
int | _chatObject |
uint32 | _chatEndTime |
int | _chatVocHigh |
int | _chatVocLow |
bool | _chatTextEnabled |
EMCData | _chatScriptData |
EMCState | _chatScriptState |
int | _unk4 |
int | _unk5 |
bool | _unkSceneScreenFlag1 |
bool | _unkHandleSceneChangeFlag |
Protected Attributes inherited from Kyra::KyraEngine_v1 | |
Resource * | _res |
Sound * | _sound |
TextDisplayer * | _text |
StaticResource * | _staticres |
TimerManager * | _timer |
EMCInterpreter * | _emc |
int | _mouseX |
int | _mouseY |
int | _transOffsY |
Common::List< Event > | _eventList |
KeyMap | _keyMap |
bool | _asciiCodeEvents |
bool | _kbEventSkip |
uint8 | _configWalkspeed |
int | _configMusic |
bool | _configSounds |
uint8 | _configVoice |
bool | _configNullSound |
Common::RenderMode | _configRenderMode |
uint16 | _tickLength |
uint16 | _gameSpeed |
int8 | _deathHandler |
GameFlags | _flags |
Common::Array< const Opcode * > | _opcodes |
int | _mouseState |
uint8 | _flagsTable [100] |
Audio::SoundHandle | _speechHandle |
int | _curMusicTheme |
int | _curSfxFile |
int16 | _lastMusicCommand |
const int8 * | _trackMap |
int | _trackMapSize |
bool | _preventScriptSfx |
int | _gameToLoad |
bool | _isSaveAllowed |
Common::String | _savegameFilename |
uint32 | _lastSecTick |
uint32 | _lastSecTickAtPauseStart |
uint32 | _totalPlaySecs |
Protected Attributes inherited from Engine | |
Common::TimerManager * | _timer |
Common::EventManager * | _eventMan |
Common::SaveFileManager * | _saveFileMan |
GUI::Dialog * | _mainMenuDialog |
const Common::String | _targetName |
int32 | _activeEnhancements = kEnhGameBreakingBugFixes |
Additional Inherited Members | |
Public Types inherited from Kyra::KyraEngine_v1 | |
enum | kVolumeEntry { kVolumeMusic = 0, kVolumeSfx = 1, kVolumeSpeech = 2 } |
Public Types inherited from Engine | |
enum | EngineFeature { kSupportsSubtitleOptions, kSupportsReturnToLauncher, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime, kSupportsChangingOptionsDuringRuntime, kSupportsArbitraryResolutions, kSupportsHelp, kSupportsQuitDialogOverride } |
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) |
Public Attributes inherited from Kyra::KyraEngine_v1 | |
Common::RandomSource | _rnd |
Public Attributes inherited from Engine | |
OSystem * | _system |
Audio::Mixer * | _mixer |
Static Protected Member Functions inherited from Kyra::KyraEngine_v1 | |
static Common::String | getSavegameFilename (const Common::String &target, int num) |
static WARN_UNUSED_RESULT ReadSaveHeaderError | readSaveHeader (Common::SeekableReadStream *file, SaveHeader &header, bool skipThumbnail=true) |
Static Protected Attributes inherited from Kyra::KyraEngine_v1 | |
static const int8 | _addXPosTable [] |
static const int8 | _addYPosTable [] |
static const int8 | _charAddXPosTable [] |
static const int8 | _charAddYPosTable [] |
|
overridevirtual |
Actual implementation of pauseEngine by subclasses.
Reimplemented from Engine.