Kyra::LoLEngine Class Reference

#include <lol.h>

Inheritance diagram for Kyra::LoLEngine:
Collaboration diagram for Kyra::LoLEngine:


struct  CharacterPrev

Public Member Functions

 LoLEngine (OSystem *system, const GameFlags &flags)
virtual ~LoLEngine ()
virtual void initKeymap ()
void pauseEngineIntern (bool pause)
 Actual implementation of pauseEngine by subclasses. More...
Screenscreen ()
GUIgui () const
- Public Member Functions inherited from Kyra::KyraRpgEngine
 KyraRpgEngine (OSystem *system, const GameFlags &flags)
virtual ~KyraRpgEngine ()
- Public Member Functions inherited from Kyra::KyraEngine_v1
 KyraEngine_v1 (OSystem *system, const GameFlags &flags)
virtual ~KyraEngine_v1 ()
uint8 game () const
const GameFlagsgameFlags () const
Resourceresource ()
virtual TextDisplayertext ()
Soundsound ()
StaticResourcestaticres ()
TimerManagertimer ()
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)
virtual void syncSoundSettings ()
 Notify the engine that the sound settings in the config manager may have changed and that it hence should adjust any internal volume etc. More...
int setGameFlag (int flag)
int queryGameFlag (int flag) const
int resetGameFlag (int flag)
virtual void snd_playTheme (int file, int track)
virtual void snd_playWanderScoreViaMap (int command, int restart)
virtual bool snd_voiceIsPlaying ()
virtual void snd_stopVoice ()
virtual void delayWithTicks (int ticks)
- Public Member Functions inherited from Engine
void pauseEngine (bool pause)
 Pause or resume the engine. More...
bool isPaused () const
 Return whether the engine is currently paused or not. More...
void openMainMenuDialog ()
 Run the Global Main Menu Dialog. More...
uint32 getTotalPlayTime () const
 Get the total play time. More...
void setTotalPlayTime (uint32 time=0)
 Set the game time counter to the specified time. More...
Common::TimerManagergetTimerManager ()
Common::EventManagergetEventManager ()
Common::SaveFileManagergetSaveFileManager ()
void checkCD ()
 On some systems, check if the game appears to be run from CD. More...
 Engine (OSystem *syst)
virtual ~Engine ()
virtual void initializePath (const Common::FSNode &gamePath)
 Init SearchMan according to the game path. More...
virtual void errorString (const char *buf_input, char *buf_output, int buf_output_size)
 Prepare an error string, which is printed by the error() function. More...
virtual void deinitKeymap ()
virtual void flipMute ()
 Flip mute all sound option. More...
void setGameToLoadSlot (int slot)
 Sets the game slot for a savegame to be loaded after global main menu execution. More...

Private Types

typedef Common::List< Audio::SeekableAudioStream * > SpeechList
typedef Common::Functor1Mem< ActiveSpell *, int, LoLEngineSpellProc
typedef void(LoLEngine::* SpellProcCallback) (WSAMovie_v2 *, int, int)

Private Member Functions

Common::Error init ()
Common::Error go ()
void initStaticResource ()
void preInit ()
void loadItemIconShapes ()
int mainMenu ()
void startup ()
void startupNew ()
void registerDefaultSettings ()
void writeSettings ()
void readSettings ()
void runLoop ()
void update ()
void setMouseCursorToIcon (int icon)
void setMouseCursorToItemInHand ()
uint8getItemIconShapePtr (int index)
void checkFloatingPointerRegions ()
int processPrologue ()
void setupPrologueData (bool load)
void showIntro ()
int chooseCharacter ()
void kingSelectionIntro ()
void kingSelectionReminder ()
void kingSelectionOutro ()
void processCharacterSelection ()
void updateSelectionAnims ()
int selectionCharInfo (int character)
void selectionCharInfoIntro (char *file)
int getCharSelection ()
int selectionCharAccept ()
void showStarcraftLogo ()
void showOutro (int character, bool maxDifficulty)
void setupEpilogueData (bool load)
void showCredits ()
void processCredits (char *text, int dimState, int page, int delay)
void loadOutroShapes (int file, uint8 **storage)
int playDemo ()
void pauseDemoPlayer (bool toggle)
void setupTimers ()
void timerProcessMonsters (int timerNum)
void timerSpecialCharacterUpdate (int timerNum)
void timerProcessFlyingObjects (int timerNum)
void timerRunSceneAnimScript (int timerNum)
void timerRegeneratePoints (int timerNum)
void timerUpdatePortraitAnimations (int skipUpdate)
void timerUpdateLampState (int timerNum)
void timerFadeMessageText (int timerNum)
uint8 getClock2Timer (int index)
uint8 getNumClock2Timers ()
int convertVolumeToMixer (int value)
int convertVolumeFromMixer (int value)
void loadTalkFile (int index)
void snd_playVoiceFile (int track)
bool snd_playCharacterSpeech (int id, int8 speaker, int)
int snd_updateCharacterSpeech ()
void snd_stopSpeech (bool setFlag)
void snd_playSoundEffect (int track, int volume)
bool snd_processEnvironmentalSoundEffect (int soundId, int block)
void snd_queueEnvironmentalSoundEffect (int soundId, int block)
void snd_playQueuedEffects ()
void snd_loadSoundFile (int track)
int snd_playTrack (int track)
int snd_stopMusic ()
void gui_drawPlayField ()
void gui_drawScene (int pageNum)
void gui_drawAllCharPortraitsWithStats ()
void gui_drawCharPortraitWithStats (int charNum)
void gui_drawCharFaceShape (int charNum, int x, int y, int pageNum)
void gui_highlightPortraitFrame (int charNum)
void gui_drawLiveMagicBar (int x, int y, int curPoints, int unk, int maxPoints, int w, int h, int col1, int col2, int flag)
void gui_drawMoneyBox (int pageNum)
void gui_drawInventory ()
void gui_drawInventoryItem (int index)
void gui_drawCompass ()
void gui_drawScroll ()
void gui_highlightSelectedSpell (bool mode)
void gui_displayCharInventory (int charNum)
void gui_printCharInventoryStats (int charNum)
void gui_printCharacterStats (int index, int redraw, int value)
void gui_changeCharacterStats (int charNum)
void gui_drawCharInventoryItem (int itemIndex)
int gui_enableControls ()
int gui_disableControls (int controlMode)
void gui_toggleButtonDisplayMode (int shapeIndex, int mode)
void gui_toggleFightButtons (bool disable)
void gui_prepareForSequence (int x, int y, int w, int h, int buttonFlags)
void gui_specialSceneSuspendControls (int controlMode)
void gui_specialSceneRestoreControls (int restoreLamp)
void gui_updateInput ()
void gui_triggerEvent (int eventType)
void gui_enableDefaultPlayfieldButtons ()
void gui_enableSequenceButtons (int x, int y, int w, int h, int enableFlags)
void gui_specialSceneRestoreButtons ()
void gui_enableCharInventoryButtons (int charNum)
void gui_setFaceFramesControlButtons (int index, int xOffs)
void gui_initCharInventorySpecialButtons (int charNum)
void gui_initMagicScrollButtons ()
void gui_initMagicSubmenu (int charNum)
void gui_initButton (int index, int x=-1, int y=-1, int val=-1)
int clickedUpArrow (Button *button)
int clickedDownArrow (Button *button)
int clickedLeftArrow (Button *button)
int clickedRightArrow (Button *button)
int clickedTurnLeftArrow (Button *button)
int clickedTurnRightArrow (Button *button)
int clickedAttackButton (Button *button)
int clickedMagicButton (Button *button)
int clickedMagicSubmenu (Button *button)
int clickedScreen (Button *button)
int clickedPortraitLeft (Button *button)
int clickedLiveMagicBarsLeft (Button *button)
int clickedPortraitEtcRight (Button *button)
int clickedCharInventorySlot (Button *button)
int clickedExitCharInventory (Button *button)
int clickedSceneDropItem (Button *button)
int clickedScenePickupItem (Button *button)
int clickedInventorySlot (Button *button)
int clickedInventoryScroll (Button *button)
int clickedWall (Button *button)
int clickedSequenceWindow (Button *button)
int clickedScroll (Button *button)
int clickedSpellTargetCharacter (Button *button)
int clickedSpellTargetScene (Button *button)
int clickedSceneThrowItem (Button *button)
int clickedOptions (Button *button)
int clickedRestParty (Button *button)
int clickedMoneyBox (Button *button)
int clickedCompass (Button *button)
int clickedAutomap (Button *button)
int clickedLamp (Button *button)
int clickedStatusIcon (Button *button)
int characterSays (int track, int charId, bool redraw)
int playCharacterScriptChat (int charId, int mode, int restorePortrait, char *str, EMCState *script, const uint16 *paramList, int16 paramIndex)
void setupDialogueButtons (int numStr, const char *s1, const char *s2, const char *s3)
TextDisplayer_rpgtxt ()
void runInitScript (const char *filename, int optionalFunc)
void runInfScript (const char *filename)
void runLevelScript (int block, int flags)
void runLevelScriptCustom (int block, int flags, int charNum, int item, int reg3, int reg4)
int olol_setWallType (EMCState *script)
int olol_getWallType (EMCState *script)
int olol_drawScene (EMCState *script)
int olol_rollDice (EMCState *script)
int olol_moveParty (EMCState *script)
int olol_delay (EMCState *script)
int olol_setGameFlag (EMCState *script)
int olol_testGameFlag (EMCState *script)
int olol_loadLevelGraphics (EMCState *script)
int olol_loadBlockProperties (EMCState *script)
int olol_loadMonsterShapes (EMCState *script)
int olol_deleteHandItem (EMCState *script)
int olol_allocItemPropertiesBuffer (EMCState *script)
int olol_setItemProperty (EMCState *script)
int olol_makeItem (EMCState *script)
int olol_placeMoveLevelItem (EMCState *script)
int olol_createLevelItem (EMCState *script)
int olol_getItemPara (EMCState *script)
int olol_getCharacterStat (EMCState *script)
int olol_setCharacterStat (EMCState *script)
int olol_loadLevelShapes (EMCState *script)
int olol_closeLevelShapeFile (EMCState *script)
int olol_loadDoorShapes (EMCState *script)
int olol_initAnimStruct (EMCState *script)
int olol_playAnimationPart (EMCState *script)
int olol_freeAnimStruct (EMCState *script)
int olol_getDirection (EMCState *script)
int olol_characterSurpriseFeedback (EMCState *script)
int olol_setMusicTrack (EMCState *script)
int olol_setSequenceButtons (EMCState *script)
int olol_setDefaultButtonState (EMCState *script)
int olol_checkRectForMousePointer (EMCState *script)
int olol_clearDialogueField (EMCState *script)
int olol_setupBackgroundAnimationPart (EMCState *script)
int olol_startBackgroundAnimation (EMCState *script)
int olol_fadeToBlack (EMCState *script)
int olol_fadePalette (EMCState *script)
int olol_loadBitmap (EMCState *script)
int olol_stopBackgroundAnimation (EMCState *script)
int olol_getGlobalScriptVar (EMCState *script)
int olol_setGlobalScriptVar (EMCState *script)
int olol_getGlobalVar (EMCState *script)
int olol_setGlobalVar (EMCState *script)
int olol_triggerDoorSwitch (EMCState *script)
int olol_checkEquippedItemScriptFlags (EMCState *script)
int olol_setDoorState (EMCState *script)
int olol_updateBlockAnimations (EMCState *script)
int olol_assignLevelDecorationShape (EMCState *script)
int olol_resetBlockShapeAssignment (EMCState *script)
int olol_copyRegion (EMCState *script)
int olol_initMonster (EMCState *script)
int olol_fadeClearSceneWindow (EMCState *script)
int olol_fadeSequencePalette (EMCState *script)
int olol_redrawPlayfield (EMCState *script)
int olol_loadNewLevel (EMCState *script)
int olol_getNearestMonsterFromCharacter (EMCState *script)
int olol_dummy0 (EMCState *script)
int olol_loadMonsterProperties (EMCState *script)
int olol_battleHitSkillTest (EMCState *script)
int olol_inflictDamage (EMCState *script)
int olol_moveMonster (EMCState *script)
int olol_setupDialogueButtons (EMCState *script)
int olol_giveTakeMoney (EMCState *script)
int olol_checkMoney (EMCState *script)
int olol_setScriptTimer (EMCState *script)
int olol_createHandItem (EMCState *script)
int olol_playAttackSound (EMCState *script)
int olol_addRemoveCharacter (EMCState *script)
int olol_giveItem (EMCState *script)
int olol_loadTimScript (EMCState *script)
int olol_runTimScript (EMCState *script)
int olol_releaseTimScript (EMCState *script)
int olol_initSceneWindowDialogue (EMCState *script)
int olol_restoreAfterSceneWindowDialogue (EMCState *script)
int olol_getItemInHand (EMCState *script)
int olol_checkMagic (EMCState *script)
int olol_giveItemToMonster (EMCState *script)
int olol_loadLangFile (EMCState *script)
int olol_playSoundEffect (EMCState *script)
int olol_processDialogue (EMCState *script)
int olol_stopTimScript (EMCState *script)
int olol_getWallFlags (EMCState *script)
int olol_changeMonsterStat (EMCState *script)
int olol_getMonsterStat (EMCState *script)
int olol_releaseMonsterShapes (EMCState *script)
int olol_playCharacterScriptChat (EMCState *script)
int olol_playEnvironmentalSfx (EMCState *script)
int olol_update (EMCState *script)
int olol_healCharacter (EMCState *script)
int olol_drawExitButton (EMCState *script)
int olol_loadSoundFile (EMCState *script)
int olol_playMusicTrack (EMCState *script)
int olol_deleteMonstersFromBlock (EMCState *script)
int olol_countBlockItems (EMCState *script)
int olol_characterSkillTest (EMCState *script)
int olol_countAllMonsters (EMCState *script)
int olol_playEndSequence (EMCState *script)
int olol_stopPortraitSpeechAnim (EMCState *script)
int olol_setPaletteBrightness (EMCState *script)
int olol_calcInflictableDamage (EMCState *script)
int olol_getInflictedDamage (EMCState *script)
int olol_checkForCertainPartyMember (EMCState *script)
int olol_printMessage (EMCState *script)
int olol_deleteLevelItem (EMCState *script)
int olol_calcInflictableDamagePerItem (EMCState *script)
int olol_distanceAttack (EMCState *script)
int olol_removeCharacterEffects (EMCState *script)
int olol_checkInventoryFull (EMCState *script)
int olol_moveBlockObjects (EMCState *script)
int olol_addSpellToScroll (EMCState *script)
int olol_playDialogueText (EMCState *script)
int olol_playDialogueTalkText (EMCState *script)
int olol_checkMonsterTypeHostility (EMCState *script)
int olol_setNextFunc (EMCState *script)
int olol_dummy1 (EMCState *script)
int olol_suspendMonster (EMCState *script)
int olol_setScriptTextParameter (EMCState *script)
int olol_triggerEventOnMouseButtonClick (EMCState *script)
int olol_printWindowText (EMCState *script)
int olol_countSpecificMonsters (EMCState *script)
int olol_updateBlockAnimations2 (EMCState *script)
int olol_checkPartyForItemType (EMCState *script)
int olol_blockDoor (EMCState *script)
int olol_resetTimDialogueState (EMCState *script)
int olol_getItemOnPos (EMCState *script)
int olol_removeLevelItem (EMCState *script)
int olol_savePage5 (EMCState *script)
int olol_restorePage5 (EMCState *script)
int olol_initDialogueSequence (EMCState *script)
int olol_restoreAfterDialogueSequence (EMCState *script)
int olol_setSpecialSceneButtons (EMCState *script)
int olol_restoreButtonsAfterSpecialScene (EMCState *script)
int olol_prepareSpecialScene (EMCState *script)
int olol_restoreAfterSpecialScene (EMCState *script)
int olol_assignCustomSfx (EMCState *script)
int olol_findAssignedMonster (EMCState *script)
int olol_checkBlockForMonster (EMCState *script)
int olol_crossFadeRegion (EMCState *script)
int olol_calcCoordinatesAddDirectionOffset (EMCState *script)
int olol_resetPortraitsAndDisableSysTimer (EMCState *script)
int olol_enableSysTimer (EMCState *script)
int olol_checkNeedSceneRestore (EMCState *script)
int olol_getNextActiveCharacter (EMCState *script)
int olol_paralyzePoisonCharacter (EMCState *script)
int olol_drawCharPortrait (EMCState *script)
int olol_removeInventoryItem (EMCState *script)
int olol_getAnimationLastPart (EMCState *script)
int olol_assignSpecialGuiShape (EMCState *script)
int olol_findInventoryItem (EMCState *script)
int olol_restoreFadePalette (EMCState *script)
int olol_getSelectedCharacter (EMCState *script)
int olol_setHandItem (EMCState *script)
int olol_drinkBezelCup (EMCState *script)
int olol_changeItemTypeOrFlag (EMCState *script)
int olol_placeInventoryItemInHand (EMCState *script)
int olol_castSpell (EMCState *script)
int olol_pitDrop (EMCState *script)
int olol_increaseSkill (EMCState *script)
int olol_paletteFlash (EMCState *script)
int olol_restoreMagicShroud (EMCState *script)
int olol_disableControls (EMCState *script)
int olol_enableControls (EMCState *script)
int olol_shakeScene (EMCState *script)
int olol_gasExplosion (EMCState *script)
int olol_calcNewBlockPosition (EMCState *script)
int olol_crossFadeScene (EMCState *script)
int olol_updateDrawPage2 (EMCState *script)
int olol_setMouseCursor (EMCState *script)
int olol_characterSays (EMCState *script)
int olol_queueSpeech (EMCState *script)
int olol_getItemPrice (EMCState *script)
int olol_getLanguage (EMCState *script)
void setupOpcodeTable ()
int tlol_setupPaletteFade (const TIM *tim, const uint16 *param)
int tlol_loadPalette (const TIM *tim, const uint16 *param)
int tlol_setupPaletteFadeEx (const TIM *tim, const uint16 *param)
int tlol_processWsaFrame (const TIM *tim, const uint16 *param)
int tlol_displayText (const TIM *tim, const uint16 *param)
int tlol_fadeInScene (const TIM *tim, const uint16 *param)
int tlol_unusedResourceFunc (const TIM *tim, const uint16 *param)
int tlol_fadeInPalette (const TIM *tim, const uint16 *param)
int tlol_fadeSoundOut (const TIM *tim, const uint16 *param)
int tlol_displayAnimFrame (const TIM *tim, const uint16 *param)
int tlol_delayForChat (const TIM *tim, const uint16 *param)
int tlol_fadeOutSound (const TIM *tim, const uint16 *param)
int tlol_initSceneWindowDialogue (const TIM *tim, const uint16 *param)
int tlol_restoreAfterSceneWindowDialogue (const TIM *tim, const uint16 *param)
int tlol_giveItem (const TIM *tim, const uint16 *param)
int tlol_setPartyPosition (const TIM *tim, const uint16 *param)
int tlol_fadeClearWindow (const TIM *tim, const uint16 *param)
int tlol_copyRegion (const TIM *tim, const uint16 *param)
int tlol_characterChat (const TIM *tim, const uint16 *param)
int tlol_drawScene (const TIM *tim, const uint16 *param)
int tlol_update (const TIM *tim, const uint16 *param)
int tlol_clearTextField (const TIM *tim, const uint16 *param)
int tlol_loadSoundFile (const TIM *tim, const uint16 *param)
int tlol_playMusicTrack (const TIM *tim, const uint16 *param)
int tlol_playDialogueTalkText (const TIM *tim, const uint16 *param)
int tlol_playSoundEffect (const TIM *tim, const uint16 *param)
int tlol_startBackgroundAnimation (const TIM *tim, const uint16 *param)
int tlol_stopBackgroundAnimation (const TIM *tim, const uint16 *param)
char * getLangString (uint16 id)
uint8getTableEntry (uint8 *buffer, uint16 id)
void decodeSjis (const char *src, char *dst)
int decodeCyrillic (const char *src, char *dst)
void setupScreenDims ()
void initSceneWindowDialogue (int controlMode)
void restoreAfterSceneWindowDialogue (int redraw)
void initDialogueSequence (int controlMode, int pageNum)
void restoreAfterDialogueSequence (int controlMode)
void resetPortraitsAndDisableSysTimer ()
void toggleSelectedCharacterFrame (bool mode)
void fadeText ()
void transformRegion (int x1, int y1, int x2, int y2, int w, int h, int srcPage, int dstPage)
void setPaletteBrightness (const Palette &srcPal, int brightness, int modifier)
void generateBrightnessPalette (const Palette &src, Palette &dst, int brightness, int16 modifier)
void generateFlashPalette (const Palette &src, Palette &dst, int colorFlags)
void createTransparencyTables ()
void updateSequenceBackgroundAnimations ()
bool addCharacter (int id)
void setTemporaryFaceFrame (int charNum, int frame, int updateDelay, int redraw)
void setTemporaryFaceFrameForAllCharacters (int frame, int updateDelay, int redraw)
void setCharacterUpdateEvent (int charNum, int updateType, int updateDelay, int overwrite)
int countActiveCharacters ()
void loadCharFaceShapes (int charNum, int id)
void calcCharPortraitXpos ()
void updatePortraitSpeechAnim ()
void stopPortraitSpeechAnim ()
void initTextFading (int textType, int clearField)
void setCharFaceFrame (int charNum, int frameNum)
void faceFrameRefresh (int charNum)
void recalcCharacterStats (int charNum)
int calculateCharacterStats (int charNum, int index)
int calculateProtection (int index)
void setCharacterMagicOrHitPoints (int charNum, int type, int points, int mode)
void increaseExperience (int charNum, int skill, uint32 points)
void increaseCharacterHitpoints (int charNum, int points, bool ignoreDeath)
void resetLampStatus ()
void setLampMode (bool lampOn)
void updateLampStatus ()
void loadLevel (int index)
void addLevelItems ()
void loadLevelWallData (int fileIndex, bool mapShapes)
void assignBlockItem (LevelBlockProperty *l, uint16 item)
int assignLevelDecorationShapes (int index)
uint8getLevelDecorationShapes (int index)
void releaseDecorations (int first=0, int num=400)
void restoreTempDataAdjustMonsterStrength (int index)
void loadBlockProperties (const char *cmzFile)
const uint8getBlockFileData (int levelIndex)
void loadLevelShpDat (const char *shpFile, const char *datFile, bool flag)
void loadLevelGraphics (const char *file, int specialColor, int weight, int vcnLen, int vmpLen, const char *palFile)
void resetItems (int flag)
void disableMonsters ()
void resetBlockProperties ()
bool testWallFlag (int block, int direction, int flag)
bool testWallInvisibility (int block, int direction)
void drawScene (int pageNum)
void drawSceneShapes (int start=0)
void drawDecorations (int index)
void drawBlockEffects (int index, int type)
void drawSpecialGuiShape (int pageNum)
void setWallType (int block, int wall, int val)
void updateDrawPage2 ()
void prepareSpecialScene (int fieldType, int hasDialogue, int suspendGui, int allowSceneUpdate, int controlMode, int fadeFlag)
int restoreAfterSpecialScene (int fadeFlag, int redrawPlayField, int releaseTimScripts, int sceneUpdateMode)
void setSequenceButtons (int x, int y, int w, int h, int enableFlags)
void setSpecialSceneButtons (int x, int y, int w, int h, int enableFlags)
void setDefaultButtonState ()
void updateCompass ()
void moveParty (uint16 direction, int unk1, int unk2, int buttonShape)
void notifyBlockNotPassable (int scrollFlag)
virtual bool checkBlockPassability (uint16 block, uint16 direction)
uint16 calcBlockIndex (uint16 x, uint16 y)
void calcCoordinates (uint16 &x, uint16 &y, int block, uint16 xOffs, uint16 yOffs)
void calcCoordinatesForSingleCharacter (int charNum, uint16 &x, uint16 &y)
void calcCoordinatesAddDirectionOffset (uint16 &x, uint16 &y, int direction)
int clickedDoorSwitch (uint16 block, uint16 direction)
int clickedNiche (uint16 block, uint16 direction)
void movePartySmoothScrollBlocked (int speed)
void movePartySmoothScrollUp (int speed)
void movePartySmoothScrollDown (int speed)
void movePartySmoothScrollLeft (int speed)
void movePartySmoothScrollRight (int speed)
void movePartySmoothScrollTurnLeft (int speed)
void movePartySmoothScrollTurnRight (int speed)
void pitDropScroll (int numSteps)
void shakeScene (int duration, int width, int height, int restore)
void processGasExplosion (int soundId)
int smoothScrollDrawSpecialGuiShape (int pageNum)
LoLObjectfindObject (uint16 index)
int calcObjectPosition (LoLObject *obj, uint16 direction)
void removeAssignedObjectFromBlock (LevelBlockProperty *l, uint16 id)
void removeDrawObjectFromBlock (LevelBlockProperty *l, uint16 id)
void assignObjectToBlock (uint16 *assignedBlockObjects, uint16 id)
void giveCredits (int credits, int redraw)
void takeCredits (int credits, int redraw)
Item makeItem (int itemType, int curFrame, int flags)
void placeMoveLevelItem (Item itemIndex, int level, int block, int xOffs, int yOffs, int flyingHeight)
bool addItemToInventory (Item itemIndex)
bool isItemMoveable (Item itemIndex)
void deleteItem (Item itemIndex)
void runItemScript (int charNum, Item item, int flags, int next, int reg4)
void setHandItem (Item itemIndex)
bool itemEquipped (int charNum, uint16 itemType)
void setItemPosition (Item item, uint16 x, uint16 y, int flyingHeight, int moveable)
void removeLevelItem (Item item, int block)
bool launchObject (int objectType, Item item, int startX, int startY, int flyingHeight, int direction, int, int attackerId, int c)
void endObjectFlight (FlyingObject *t, int x, int y, int collisionType)
void processObjectFlight (FlyingObject *t, int x, int y)
void updateObjectFlightPosition (FlyingObject *t)
void objectFlightProcessHits (FlyingObject *t, int x, int y, int collisionType)
void updateFlyingObject (FlyingObject *t)
void assignItemToBlock (uint16 *assignedBlockObjects, int id)
int checkDrawObjectSpace (int x1, int y1, int x2, int y2)
int checkSceneForItems (uint16 *blockDrawObjects, int color)
void loadMonsterShapes (const char *file, int monsterIndex, int b)
void releaseMonsterShapes (int monsterIndex)
int deleteMonstersFromBlock (int block)
void setMonsterMode (LoLMonster *monster, int mode)
bool updateMonsterAdjustBlocks (LoLMonster *monster)
void placeMonster (LoLMonster *monster, uint16 x, uint16 y)
int calcMonsterDirection (uint16 x1, uint16 y1, uint16 x2, uint16 y2)
void setMonsterDirection (LoLMonster *monster, int dir)
void monsterDropItems (LoLMonster *monster)
void giveItemToMonster (LoLMonster *monster, Item item)
int checkBlockBeforeObjectPlacement (uint16 x, uint16 y, uint16 objectWidth, uint16 testFlag, uint16 wallFlag)
int testBlockPassability (int block, int x, int y, int objectWidth, int testFlag, int wallFlag)
int calcMonsterSkillLevel (int id, int a)
int checkBlockOccupiedByParty (int x, int y, int testFlag)
const uint16getCharacterOrMonsterStats (int id)
uint16getCharacterOrMonsterItemsMight (int id)
uint16getCharacterOrMonsterProtectionAgainstItems (int id)
void drawBlockObjects (int blockArrayIndex)
void drawMonster (uint16 id)
int getMonsterCurFrame (LoLMonster *m, uint16 dirFlags)
void reassignDrawObjects (uint16 direction, uint16 itemIndex, LevelBlockProperty *l, bool flag)
void redrawSceneItem ()
void calcSpriteRelPosition (uint16 x1, uint16 y1, int &x2, int &y2, uint16 direction)
void drawDoor (uint8 *shape, uint8 *doorPalette, int index, int unk2, int w, int h, int flags)
void drawDoorOrMonsterEquipment (uint8 *shape, uint8 *objectPalette, int x, int y, int flags, const uint8 *brightnessOverlay)
uint8drawItemOrMonster (uint8 *shape, uint8 *monsterPalette, int x, int y, int fineX, int fineY, int flags, int tblValue, bool vflip)
int calcDrawingLayerParameters (int srcX, int srcY, int &x2, int &y2, uint16 &w, uint16 &h, uint8 *shape, int vflip)
void updateMonster (LoLMonster *monster)
void moveMonster (LoLMonster *monster)
void walkMonster (LoLMonster *monster)
bool chasePartyWithDistanceAttacks (LoLMonster *monster)
void chasePartyWithCloseAttacks (LoLMonster *monster)
int walkMonsterCalcNextStep (LoLMonster *monster)
int checkForPossibleDistanceAttack (uint16 monsterBlock, int direction, int distance, uint16 curBlock)
int walkMonsterCheckDest (int x, int y, LoLMonster *monster, int unk)
void getNextStepCoords (int16 monsterX, int16 monsterY, int &newX, int &newY, uint16 direction)
void alignMonsterToParty (LoLMonster *monster)
void moveStrayingMonster (LoLMonster *monster)
void killMonster (LoLMonster *monster)
void delay (uint32 millis, bool doUpdate=false, bool isMainLoop=false)
const KyraRpgGUISettingsguiSettings () const
int castSpell (int charNum, int spellType, int spellLevel)
int castSpark (ActiveSpell *a)
int castHeal (ActiveSpell *a)
int castIce (ActiveSpell *a)
int castFireball (ActiveSpell *a)
int castHandOfFate (ActiveSpell *a)
int castMistOfDoom (ActiveSpell *a)
int castLightning (ActiveSpell *a)
int castFog (ActiveSpell *a)
int castSwarm (ActiveSpell *a)
int castVaelansCube (ActiveSpell *a)
int castGuardian (ActiveSpell *a)
int castHealOnSingleCharacter (ActiveSpell *a)
int processMagicSpark (int charNum, int spellLevel)
int processMagicHealSelectTarget ()
int processMagicHeal (int charNum, int spellLevel)
int processMagicIce (int charNum, int spellLevel)
int processMagicFireball (int charNum, int spellLevel)
int processMagicHandOfFate (int spellLevel)
int processMagicMistOfDoom (int charNum, int spellLevel)
int processMagicLightning (int charNum, int spellLevel)
int processMagicFog ()
int processMagicSwarm (int charNum, int damage)
int processMagicVaelansCube ()
int processMagicGuardian (int charNum)
void callbackProcessMagicSwarm (WSAMovie_v2 *mov, int x, int y)
void callbackProcessMagicLightning (WSAMovie_v2 *mov, int x, int y)
void drinkBezelCup (int a, int charNum)
void addSpellToScroll (int spell, int charNum)
void transferSpellToScollAnimation (int charNum, int spell, int slot)
void playSpellAnimation (WSAMovie_v2 *mov, int firstFrame, int lastFrame, int frameDelay, int x, int y, SpellProcCallback callback, uint8 *pal1, uint8 *pal2, int fadeDelay, bool restoreScreen)
int checkMagic (int charNum, int spellNum, int spellLevel)
int getSpellTargetBlock (int currentBlock, int direction, int maxDistance, uint16 &targetBlock)
void inflictMagicalDamage (int target, int attacker, int damage, int index, int hitType)
void inflictMagicalDamageForBlock (int block, int attacker, int damage, int index)
int battleHitSkillTest (int16 attacker, int16 target, int skill)
int calcInflictableDamage (int16 attacker, int16 target, int hitType)
int inflictDamage (uint16 target, int damage, uint16 attacker, int skill, int flags)
void characterHitpointsZero (int16 charNum, int a)
void removeCharacterEffects (LoLCharacter *c, int first, int last)
int calcInflictableDamagePerItem (int16 attacker, int16 target, uint16 itemMight, int index, int hitType)
void checkForPartyDeath ()
void applyMonsterAttackSkill (LoLMonster *monster, int16 target, int16 damage)
void applyMonsterDefenseSkill (LoLMonster *monster, int16 attacker, int flags, int skill, int damage)
int removeCharacterItem (int charNum, int itemFlags)
int paralyzePoisonCharacter (int charNum, int typeFlag, int immunityFlags, int hitChance, int redraw)
void paralyzePoisonAllCharacters (int typeFlag, int immunityFlags, int hitChance)
void stunCharacter (int charNum)
void restoreSwampPalette ()
void launchMagicViper ()
void breakIceWall (uint8 *pal1, uint8 *pal2)
uint16 getNearestMonsterFromCharacter (int charNum)
uint16 getNearestMonsterFromCharacterForBlock (uint16 block, int charNum)
uint16 getNearestMonsterFromPos (int x, int y)
uint16 getNearestPartyMemberFromPos (int x, int y)
void displayAutomap ()
void updateAutoMap (uint16 block)
bool updateAutoMapIntern (uint16 block, uint16 x, uint16 y, int16 xOffs, int16 yOffs)
void loadMapLegendData (int level)
void drawMapPage (int pageNum)
bool automapProcessButtons (int inputFlag)
void automapBackButton ()
void automapForwardButton ()
void redrawMapCursor ()
void drawMapBlockWall (uint16 block, uint8 wall, int x, int y, int direction)
void drawMapShape (uint8 wall, int x, int y, int direction)
int mapGetStartPosX ()
int mapGetStartPosY ()
void mapIncludeLegendData (int type)
void printMapText (uint16 stringId, int x, int y)
void printMapExitButtonText ()
void setWalkspeed (uint8)
void removeHandItem ()
bool lineIsPassable (int, int)
Common::Error loadGameState (int slot)
 Load a game state. More...
Common::Error saveGameStateIntern (int slot, const char *saveName, const Graphics::Surface *thumbnail)
voidgenerateMonsterTempData (LevelTempData *tmp)
void restoreBlockTempData (int levelIndex)
void restoreMonsterTempData (LevelTempData *tmp)
void releaseMonsterTempData (LevelTempData *tmp)
Graphics::SurfacegenerateSaveThumbnail () const

Private Attributes

const char *const * _pakFileList
int _pakFileListSize
int _monsterDifficulty
bool _smoothScrollingEnabled
bool _floatingCursorsEnabled
int _floatingCursorControl
int _currentFloatingCursor
const uint8_chargenFrameTable
int _charSelection
int _charSelectionInfoResult
uint32 _selectionAnimTimers [4]
uint8 _selectionAnimFrames [4]
uint8 _outroShapeTable [256]
int _lastSpeechId
int _lastSpeaker
int _lastSfxTrack
int _lastMusicTrack
int _curMusicFileIndex
char _curMusicFileExt
bool _envSfxUseQueue
int _envSfxNumTracksInQueue
uint16 _envSfxQueuedTracks [10]
uint16 _envSfxQueuedBlocks [10]
int _nextSpeechId
int _nextSpeaker
SpeechList _speechList
int _curTlkFile
char ** _ingameSoundList
int _ingameSoundListSize
const uint8_musicTrackMap
const int16_ingameSoundIndex
int _ingameSoundIndexSize
const uint8_ingameGMSoundIndex
int _ingameGMSoundIndexSize
const uint8_ingameMT32SoundIndex
int _ingameMT32SoundIndexSize
const uint8_ingamePCSpeakerSoundIndex
int _ingamePCSpeakerSoundIndexSize
bool _weaponsDisabled
int _lastButtonShape
uint32 _buttonPressTimer
int _selectedCharacter
int _compassStep
int _compassDirectionIndex
uint32 _compassTimer
int _charInventoryUnk
const CompassDef_compassDefs
LoLButtonDef _sceneWindowButton
const LoLButtonDef_buttonData
const uint8_buttonList1
const uint8_buttonList2
const uint8_buttonList3
const uint8_buttonList4
const uint8_buttonList5
const uint8_buttonList6
const uint8_buttonList7
const uint8_buttonList8
EMCData _scriptData
bool _suspendScript
uint16 _scriptDirection
int16 _globalScriptVars [24]
TIM_activeTim [10]
Common::Array< const TIMOpcode * > _timIntroOpcodes
Common::Array< const TIMOpcode * > _timOutroOpcodes
Common::Array< const TIMOpcode * > _timIngameOpcodes
int _lang
int _lastUsedStringBuffer
char _stringBuffer [5][512]
uint8 ** _itemIconShapes
int _numItemIconShapes
uint8 ** _itemShapes
int _numItemShapes
uint8 ** _gameShapes
int _numGameShapes
uint8 ** _thrownShapes
int _numThrownShapes
uint8 ** _effectShapes
int _numEffectShapes
const int8_gameShapeMap
uint8_characterFaceShapes [40][3]
uint16 _activeCharsXpos [3]
int _portraitSpeechAnimMode
int _textColorFlag
uint32 _palUpdateTimer
uint32 _updatePortraitNext
int _loadLevelFlag
int _activeMagicMenu
uint16 _scriptCharacterCycle
int _charStatsTemp [5]
const LoLCharacter_charDefaults
int _charDefaultsSize
const uint16_charDefsMan
const uint16_charDefsWoman
const uint16_charDefsKieran
const uint16_charDefsAkshel
const int32_expRequirements
int8 _lampEffect
int _brightness
int _lampOilStatus
uint32 _lampStatusTimer
bool _lampStatusSuspended
int _blockDoor
int _smoothScrollModeNormal
const uint8_scrollXTop
const uint8_scrollYTop
const uint8_scrollXBottom
const uint8_scrollYBottom
int _nextScriptFunc
int _lvlShapeIndex
bool _partyAwake
uint16 _specialGuiShapeX
uint16 _specialGuiShapeY
uint16 _specialGuiShapeMirrorFlag
Common::String _lastOverridePalFile
int _lastSpecialColor
int _lastSpecialColorWeight
int _loadSuppFilesFlag
uint16 _partyPosX
uint16 _partyPosY
int _shpDmX
int _shpDmY
uint16 _dmScaleW
uint16 _dmScaleH
int _lastMouseRegion
int _seqWindowX1
int _seqWindowY1
int _seqWindowX2
int _seqWindowY2
int _seqTrigger
int _spsWindowX
int _spsWindowY
int _spsWindowW
int _spsWindowH
const char *const * _levelDatList
const char *const * _levelShpList
const int8_dscWalls
const uint8_dscOvlMap
const uint8_dscShapeOvlIndex
const uint16_dscShapeScaleW
const uint16_dscShapeScaleH
const int8_dscShapeY
const uint16_dscDoorMonsterScaleTable
const uint16_dscDoor4
const int16_dscDoorMonsterX
const int16_dscDoorMonsterY
uint8 _moneyColumnHeight [5]
uint16 _credits
Item _itemInHand
Item _inventory [48]
Item _inventoryCurItem
int _lastCharInventory
uint16 _charStatusFlags [3]
int _emcLastItem
EMCData _itemScript
const uint8_charInvIndex
const uint8_charInvDefs
const uint16_inventorySlotDesc
const uint16_itemCost
const uint8_stashSetupData
const int8_sceneItemOffs
const FlyingObjectShape_flyingItemShapes
uint8 ** _monsterDecorationShapes
uint8 _monsterAnimType [3]
uint16 _monsterCurBlock
int _objectLastDirection
const uint16_monsterModifiers1
const uint16_monsterModifiers2
const uint16_monsterModifiers3
const uint16_monsterModifiers4
const int8_monsterShiftOffs
const uint8_monsterDirFlags
const uint8_monsterScaleX
const uint8_monsterScaleY
const uint16_monsterScaleWH
uint8 _compassBroken
uint8 _drainMagic
uint16 _globalScriptVars2 [8]
Common::Array< const SpellProc * > _spellProcs
ActiveSpell _activeSpell
int8 _availableSpells [8]
int _selectedSpell
const SpellProperty_spellProperties
int _subMenuIndex
int16 _lightningCurSfx
int16 _lightningDiv
int16 _lightningFirstSfx
int16 _lightningSfxFrame
uint8 _swarmSpellStatus
uint8 ** _fireballShapes
int _numFireballShapes
uint8 ** _healShapes
int _numHealShapes
uint8 ** _healiShapes
int _numHealiShapes
const uint8_updateSpellBookCoords
const uint8_updateSpellBookAnimData
const uint8_healShapeFrames
const int16_fireBallCoords
int _partyDamageFlags
uint8 _currentMapLevel
const uint8 ** _automapShapes
const uint16_autoMapStrings
uint8 _automapTopLeftX
uint8 _automapTopLeftY
bool _mapUpdateNeeded

Static Private Attributes

static const char *const kKeymapName = "lol"
static const CharacterPrev _charPreviews []
static const char *const _charPreviewNamesDefault []
static const char *const _charPreviewNamesRussianFloppy []
static const uint16 _charPosXPC98 []
static const char *const _charNamesJapanese []
static const uint8 _chargenFrameTableTalkie []
static const uint8 _chargenFrameTableFloppy []
static const uint8 _selectionAnimIndexTable []
static const uint16 _selectionPosTable []
static const uint8 _selectionChar1IdxTable []
static const uint8 _selectionChar2IdxTable []
static const uint8 _selectionChar3IdxTable []
static const uint8 _selectionChar4IdxTable []
static const uint8 _reminderChar1IdxTable []
static const uint8 _reminderChar2IdxTable []
static const uint8 _reminderChar3IdxTable []
static const uint8 _reminderChar4IdxTable []
static const uint8 _charInfoFrameTable []
static const char *const _outroShapeFileTable []
static const uint8 _outroFrameTable []
static const int16 _outroRightMonsterPos []
static const int16 _outroLeftMonsterPos []
static const int16 _outroRightDoorPos []
static const int16 _outroLeftDoorPos []
static const int _outroMonsterScaleTableX []
static const int _outroMonsterScaleTableY []
static const uint8 _clock2Timers []
static const uint8 _numClock2Timers = ARRAYSIZE(LoLEngine::_clock2Timers)
static const char *const _languageExt []
static const KyraRpgGUISettings _guiSettings
static const MistOfDoomAnimData _mistAnimData []
static const int8 _mapCoords [12][4]


class GUI_LoL
class TextDisplayer_LoL
class TIMInterpreter_LoL
class TimAnimator
class Debugger_LoL
class HistoryPlayer

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, kSupportsRTL, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
 A feature in this context means an ability of the engine which can be either available or not. More...
- Static Public Member Functions inherited from Engine
static void quitGame ()
 Request the engine to quit. More...
static bool shouldQuit ()
 Return whether the ENGINE should quit respectively should return to the launcher. More...
static bool warnUserAboutUnsupportedGame ()
 Display a warning to the user that the game is not fully supported. More...
- Public Attributes inherited from Kyra::KyraEngine_v1
Common::RandomSource _rnd
- Public Attributes inherited from Engine
- Protected Types inherited from Kyra::KyraRpgEngine
typedef Common::Functor2Mem< uint8 *&, const uint8 *&, void, KyraRpgEngineVcnDrawProc
- Protected Types inherited from Kyra::KyraEngine_v1
enum  ReadSaveHeaderError { kRSHENoError = 0, kRSHEInvalidType = 1, kRSHEInvalidVersion = 2, kRSHEIoError = 3 }
typedef Common::HashMap< Common::KeyCode, int16, KeyCodeHashKeyMap
- Protected Member Functions inherited from Kyra::KyraRpgEngine
void initStaticResource ()
void updateEnvironmentalSfx (int soundId)
virtual void enableSysTimer (int sysTimer)
virtual void disableSysTimer (int sysTimer)
void enableTimer (int id)
void timerProcessDoors (int timerNum)
bool posWithinRect (int posX, int posY, int x1, int y1, int x2, int y2)
int getBlockDistance (uint16 block1, uint16 block2)
void setLevelShapesDim (int index, int16 &x1, int16 &x2, int dim)
void setDoorShapeDim (int index, int16 &y1, int16 &y2, int dim)
void drawLevelModifyScreenDim (int dim, int16 x1, int16 y1, int16 x2, int16 y2)
void generateBlockDrawingBuffer ()
void generateVmpTileData (int16 startBlockX, uint8 startBlockY, uint8 wllVmpIndex, int16 vmpOffset, uint8 numBlocksX, uint8 numBlocksY)
void generateVmpTileDataFlipped (int16 startBlockX, uint8 startBlockY, uint8 wllVmpIndex, int16 vmpOffset, uint8 numBlocksX, uint8 numBlocksY)
bool hasWall (int index)
void assignVisibleBlocks (int block, int direction)
bool checkSceneUpdateNeed (int block)
uint16 calcNewBlockPosition (uint16 curBlock, uint16 direction)
void drawVcnBlocks ()
void vcnDraw_fw_4bit (uint8 *&dst, const uint8 *&src)
void vcnDraw_bw_4bit (uint8 *&dst, const uint8 *&src)
void vcnDraw_fw_trans_4bit (uint8 *&dst, const uint8 *&src)
void vcnDraw_bw_trans_4bit (uint8 *&dst, const uint8 *&src)
void vcnDraw_fw_hiCol (uint8 *&dst, const uint8 *&src)
void vcnDraw_bw_hiCol (uint8 *&dst, const uint8 *&src)
void vcnDraw_fw_trans_hiCol (uint8 *&dst, const uint8 *&src)
void vcnDraw_bw_trans_hiCol (uint8 *&dst, const uint8 *&src)
void vcnDraw_fw_Amiga (uint8 *&dst, const uint8 *&src)
void vcnDraw_bw_Amiga (uint8 *&dst, const uint8 *&src)
void vcnDraw_fw_trans_Amiga (uint8 *&dst, const uint8 *&src)
void vcnDraw_bw_trans_Amiga (uint8 *&dst, const uint8 *&src)
int clickedWallShape (uint16 block, uint16 direction)
int clickedLeverOn (uint16 block, uint16 direction)
int clickedLeverOff (uint16 block, uint16 direction)
int clickedWallOnlyScript (uint16 block)
void processDoorSwitch (uint16 block, int openClose)
void openCloseDoor (int block, int openClose)
void completeDoorOperations ()
void removeInputTop ()
void gui_drawBox (int x, int y, int w, int h, int frameColor1, int frameColor2, int fillColor)
virtual void gui_drawHorizontalBarGraph (int x, int y, int w, int h, int32 curVal, int32 maxVal, int col1, int col2)
void gui_initButtonsFromList (const uint8 *list)
void gui_resetButtonList ()
void gui_notifyButtonListChanged ()
bool clickedShape (int shapeIndex)
virtual void useMainMenuGUISettings (bool toggle)
void drawDialogueButtons ()
uint16 processDialogue ()
void delayUntil (uint32 time, bool unused=false, bool doUpdate=false, bool isMainLoop=false)
int rollDice (int times, int pips, int inc=0)
void generateTempData ()
void releaseTempData ()
void restoreFlyingObjectTempData (LevelTempData *tmp)
voidgenerateFlyingObjectTempData (LevelTempData *tmp)
void releaseFlyingObjectTempData (LevelTempData *tmp)
virtual voidgenerateWallOfForceTempData (LevelTempData *tmp)
virtual void restoreWallOfForceTempData (LevelTempData *tmp)
virtual void releaseWallOfForceTempData (LevelTempData *tmp)
- Protected Member Functions inherited from Kyra::KyraEngine_v1
virtual Common::Error run ()
 Init the engine and start its main loop. More...
virtual ::GUI::DebuggergetDebugger ()
 Return the engine's debugger instance, if any. More...
virtual bool hasFeature (EngineFeature f) const
 Determine whether the engine supports the specified feature. More...
void setupKeyMap ()
void updateInput ()
int checkInput (Button *buttonList, bool mainLoop=false, int eventFlag=0x8000)
void removeInputTop ()
virtual bool skipFlag () const
virtual void resetSkipFlag (bool removeEvent=true)
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)
virtual int findWay (int x, int y, int toX, int toY, int *moveTable, int moveTableSize)
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)
void checkAutosave ()
bool canLoadGameStateCurrently ()
 Indicates whether a game state can be loaded. More...
bool canSaveGameStateCurrently ()
 Indicates whether a game state can be saved. More...
const char * getSavegameFilename (int num)
bool saveFileLoadable (int slot)
void loadGameStateCheck (int slot)
Common::Error saveGameState (int slot, const Common::String &desc)
 Save a game state. More...
Common::SeekableReadStreamopenSaveForReading (const char *filename, SaveHeader &header, bool checkID=true)
Common::OutSaveFileopenSaveForWriting (const char *filename, const char *saveName, const Graphics::Surface *thumbnail) const
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
bool shouldPerformAutoSave (int lastSaveTime)
 Indicate whether an autosave should be performed. More...
- 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)
- Protected Attributes inherited from Kyra::KyraRpgEngine
const uint8 ** _itemIconShapes
const uint8 ** _amigaBlueItemIconShapes
int _updateCharNum
int _updatePortraitSpeechAnimDuration
bool _fadeText
int _resetPortraitAfterSpeechAnim
int _needSceneRestore
int _itemInHand
uint8 ** _monsterPalettes
uint8 ** _monsterShapes
int16 _shpDmX1
int16 _shpDmX2
int _monsterStepCounter
int _monsterStepMode
int _sceneXoffset
int _sceneShpDim
LevelBlockProperty_visibleBlocks [18]
uint16 _levelDecorationDataSize
uint8 ** _levelDecorationShapes
uint16 _decorationCount
int16 _mappedDecorationsCount
uint8 _vcnShiftVal
uint8 _vcnSrcBitsPerPixel
uint8 _vcnBpp
uint8 _blockBrightness
uint8 _wllVcnOffset
uint8 _wllVcnOffset2
uint8 _wllVcnRmdOffset
uint8 ** _doorShapes
uint8 _currentLevel
uint16 _currentBlock
uint16 _currentDirection
int _sceneDefaultUpdate
bool _sceneUpdateRequired
int16 _visibleBlockIndex [18]
char _lastBlockDataFile [13]
uint32 _hasTempDataFlags
int16 _sceneDrawVarDown
int16 _sceneDrawVarRight
int16 _sceneDrawVarLeft
int _wllProcessFlag
OpenDoorState _openDoorState [3]
int _sceneDrawPage1
int _sceneDrawPage2
const int8_dscShapeIndex
const uint8_dscDimMap
const int8_dscDim1
const int8_dscDim2
const int16_dscShapeX
const uint8_dscDoorScaleOffs
const uint8_dscBlockMap
const int8_dscBlockIndex
const uint8_dscTileIndex
const uint8_dscDoorShpIndex
int _dscDoorShpIndexSize
const uint8_dscDoorY2
const uint8_dscDoorFrameY1
const uint8_dscDoorFrameY2
const uint8_dscDoorFrameIndex1
const uint8_dscDoorFrameIndex2
int _clickedShapeXOffs
int _clickedShapeYOffs
Button _activeButtonData [70]
Common::Array< Button::Callback_buttonCallbacks
uint8 _mouseClick
bool _preserveEvents
bool _buttonListChanged
int _updateFlags
int _clickedSpecialFlag
int _compassDirection
bool _dialogueField
bool _dialogueFieldAmiga
const char * _dialogueButtonString [9]
const uint16_dialogueButtonPosX
const uint8_dialogueButtonPosY
int16 _dialogueButtonYoffs
uint16 _dialogueButtonWidth
int _dialogueNumButtons
int _dialogueHighlightedButton
int _currentControlMode
int _specialSceneFlag
uint8 _dialogueButtonLabelColor1
uint8 _dialogueButtonLabelColor2
const char *const * _moreStrings
LevelTempData_lvlTempData [29]
const int _numFlyingObjects
uint32 _flyingObjectStructSize
int _environmentSfx
int _environmentSfxVol
int _envSfxDistThreshold
uint32 _activeVoiceFileTotalTime
- Protected Attributes inherited from Kyra::KyraEngine_v1
int _mouseX
int _mouseY
Common::List< Event_eventList
KeyMap _keyMap
uint8 _configWalkspeed
int _configMusic
bool _configSounds
uint8 _configVoice
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
int _gameToLoad
uint32 _lastAutosave
bool _isSaveAllowed
Common::String _savegameFilename
- Protected Attributes inherited from Engine
const Common::String _targetName
- Static Protected Attributes inherited from Kyra::KyraRpgEngine
static const uint8 _dropItemDirIndex [] = { 0, 1, 2, 3, 1, 3, 0, 2, 3, 2, 1, 0, 2, 0, 3, 1 }
- Static Protected Attributes inherited from Kyra::KyraEngine_v1
static const int8 _addXPosTable []
static const int8 _addYPosTable []
static const int8 _charAddXPosTable []
static const int8 _charAddYPosTable []

Detailed Description

Definition at line 260 of file lol.h.

Member Typedef Documentation

◆ SpeechList

Definition at line 456 of file lol.h.

◆ SpellProc

Definition at line 1166 of file lol.h.

◆ SpellProcCallback

typedef void(LoLEngine::* Kyra::LoLEngine::SpellProcCallback) (WSAMovie_v2 *, int, int)

Definition at line 1168 of file lol.h.

Constructor & Destructor Documentation

◆ LoLEngine()

Kyra::LoLEngine::LoLEngine ( OSystem system,
const GameFlags flags 

Definition at line 45 of file lol.cpp.

◆ ~LoLEngine()

Kyra::LoLEngine::~LoLEngine ( )

Definition at line 211 of file lol.cpp.

Member Function Documentation

◆ addCharacter()

bool Kyra::LoLEngine::addCharacter ( int  id)

Definition at line 1095 of file lol.cpp.

◆ addItemToInventory()

bool Kyra::LoLEngine::addItemToInventory ( Item  itemIndex)

Definition at line 246 of file items_lol.cpp.

◆ addLevelItems()

void Kyra::LoLEngine::addLevelItems ( )

Implements Kyra::KyraRpgEngine.

Definition at line 103 of file scene_lol.cpp.

◆ addSpellToScroll()

void Kyra::LoLEngine::addSpellToScroll ( int  spell,
int  charNum 

Definition at line 3066 of file lol.cpp.

◆ alignMonsterToParty()

void Kyra::LoLEngine::alignMonsterToParty ( LoLMonster monster)

Definition at line 1435 of file sprites_lol.cpp.

◆ applyMonsterAttackSkill()

void Kyra::LoLEngine::applyMonsterAttackSkill ( LoLMonster monster,
int16  target,
int16  damage 

Definition at line 3610 of file lol.cpp.

◆ applyMonsterDefenseSkill()

void Kyra::LoLEngine::applyMonsterDefenseSkill ( LoLMonster monster,
int16  attacker,
int  flags,
int  skill,
int  damage 

Definition at line 3680 of file lol.cpp.

◆ assignBlockItem()

void Kyra::LoLEngine::assignBlockItem ( LevelBlockProperty l,
uint16  item 

Definition at line 115 of file scene_lol.cpp.

◆ assignItemToBlock()

void Kyra::LoLEngine::assignItemToBlock ( uint16 assignedBlockObjects,
int  id 

Definition at line 554 of file items_lol.cpp.

◆ assignLevelDecorationShapes()

int Kyra::LoLEngine::assignLevelDecorationShapes ( int  index)

Definition at line 182 of file scene_lol.cpp.

◆ assignObjectToBlock()

void Kyra::LoLEngine::assignObjectToBlock ( uint16 assignedBlockObjects,
uint16  id 

Definition at line 86 of file items_lol.cpp.

◆ automapBackButton()

void Kyra::LoLEngine::automapBackButton ( )

Definition at line 4362 of file lol.cpp.

◆ automapForwardButton()

void Kyra::LoLEngine::automapForwardButton ( )

Definition at line 4345 of file lol.cpp.

◆ automapProcessButtons()

bool Kyra::LoLEngine::automapProcessButtons ( int  inputFlag)

Definition at line 4307 of file lol.cpp.

◆ battleHitSkillTest()

int Kyra::LoLEngine::battleHitSkillTest ( int16  attacker,
int16  target,
int  skill 

Definition at line 3332 of file lol.cpp.

◆ breakIceWall()

void Kyra::LoLEngine::breakIceWall ( uint8 pal1,
uint8 pal2 

Definition at line 3897 of file lol.cpp.

◆ calcBlockIndex()

uint16 Kyra::LoLEngine::calcBlockIndex ( uint16  x,
uint16  y 

Definition at line 706 of file scene_lol.cpp.

◆ calcCharPortraitXpos()

void Kyra::LoLEngine::calcCharPortraitXpos ( )

Definition at line 512 of file gui_lol.cpp.

◆ calcCoordinates()

void Kyra::LoLEngine::calcCoordinates ( uint16 x,
uint16 y,
int  block,
uint16  xOffs,
uint16  yOffs 

Definition at line 710 of file scene_lol.cpp.

◆ calcCoordinatesAddDirectionOffset()

void Kyra::LoLEngine::calcCoordinatesAddDirectionOffset ( uint16 x,
uint16 y,
int  direction 

Definition at line 732 of file scene_lol.cpp.

◆ calcCoordinatesForSingleCharacter()

void Kyra::LoLEngine::calcCoordinatesForSingleCharacter ( int  charNum,
uint16 x,
uint16 y 

Definition at line 715 of file scene_lol.cpp.

◆ calcDrawingLayerParameters()

int Kyra::LoLEngine::calcDrawingLayerParameters ( int  srcX,
int  srcY,
int x2,
int y2,
uint16 w,
uint16 h,
uint8 shape,
int  vflip 

Definition at line 996 of file sprites_lol.cpp.

◆ calcInflictableDamage()

int Kyra::LoLEngine::calcInflictableDamage ( int16  attacker,
int16  target,
int  hitType 

Definition at line 3379 of file lol.cpp.

◆ calcInflictableDamagePerItem()

int Kyra::LoLEngine::calcInflictableDamagePerItem ( int16  attacker,
int16  target,
uint16  itemMight,
int  index,
int  hitType 

Definition at line 3527 of file lol.cpp.

◆ calcMonsterDirection()

int Kyra::LoLEngine::calcMonsterDirection ( uint16  x1,
uint16  y1,
uint16  x2,
uint16  y2 

Definition at line 299 of file sprites_lol.cpp.

◆ calcMonsterSkillLevel()

int Kyra::LoLEngine::calcMonsterSkillLevel ( int  id,
int  a 

Definition at line 480 of file sprites_lol.cpp.

◆ calcObjectPosition()

int Kyra::LoLEngine::calcObjectPosition ( LoLObject obj,
uint16  direction 

Definition at line 37 of file items_lol.cpp.

◆ calcSpriteRelPosition()

void Kyra::LoLEngine::calcSpriteRelPosition ( uint16  x1,
uint16  y1,
int x2,
int y2,
uint16  direction 

Definition at line 815 of file sprites_lol.cpp.

◆ calculateCharacterStats()

int Kyra::LoLEngine::calculateCharacterStats ( int  charNum,
int  index 

Definition at line 1306 of file lol.cpp.

◆ calculateProtection()

int Kyra::LoLEngine::calculateProtection ( int  index)

Definition at line 1340 of file lol.cpp.

◆ callbackProcessMagicLightning()

void Kyra::LoLEngine::callbackProcessMagicLightning ( WSAMovie_v2 mov,
int  x,
int  y 

Definition at line 2974 of file lol.cpp.

◆ callbackProcessMagicSwarm()

void Kyra::LoLEngine::callbackProcessMagicSwarm ( WSAMovie_v2 mov,
int  x,
int  y 

Definition at line 2968 of file lol.cpp.

◆ castFireball()

int Kyra::LoLEngine::castFireball ( ActiveSpell a)

Definition at line 2039 of file lol.cpp.

◆ castFog()

int Kyra::LoLEngine::castFog ( ActiveSpell a)

Definition at line 2059 of file lol.cpp.

◆ castGuardian()

int Kyra::LoLEngine::castGuardian ( ActiveSpell a)

Definition at line 2073 of file lol.cpp.

◆ castHandOfFate()

int Kyra::LoLEngine::castHandOfFate ( ActiveSpell a)

Definition at line 2044 of file lol.cpp.

◆ castHeal()

int Kyra::LoLEngine::castHeal ( ActiveSpell a)

Definition at line 2025 of file lol.cpp.

◆ castHealOnSingleCharacter()

int Kyra::LoLEngine::castHealOnSingleCharacter ( ActiveSpell a)

Definition at line 2077 of file lol.cpp.

◆ castIce()

int Kyra::LoLEngine::castIce ( ActiveSpell a)

Definition at line 2034 of file lol.cpp.

◆ castLightning()

int Kyra::LoLEngine::castLightning ( ActiveSpell a)

Definition at line 2054 of file lol.cpp.

◆ castMistOfDoom()

int Kyra::LoLEngine::castMistOfDoom ( ActiveSpell a)

Definition at line 2049 of file lol.cpp.

◆ castSpark()

int Kyra::LoLEngine::castSpark ( ActiveSpell a)

Definition at line 2020 of file lol.cpp.

◆ castSpell()

int Kyra::LoLEngine::castSpell ( int  charNum,
int  spellType,
int  spellLevel 

Definition at line 1986 of file lol.cpp.

◆ castSwarm()

int Kyra::LoLEngine::castSwarm ( ActiveSpell a)

Definition at line 2064 of file lol.cpp.

◆ castVaelansCube()

int Kyra::LoLEngine::castVaelansCube ( ActiveSpell a)

Definition at line 2069 of file lol.cpp.

◆ characterHitpointsZero()

void Kyra::LoLEngine::characterHitpointsZero ( int16  charNum,
int  a 

Definition at line 3475 of file lol.cpp.

◆ characterSays()

int Kyra::LoLEngine::characterSays ( int  track,
int  charId,
bool  redraw 

Definition at line 1806 of file lol.cpp.

◆ chasePartyWithCloseAttacks()

void Kyra::LoLEngine::chasePartyWithCloseAttacks ( LoLMonster monster)

Definition at line 1285 of file sprites_lol.cpp.

◆ chasePartyWithDistanceAttacks()

bool Kyra::LoLEngine::chasePartyWithDistanceAttacks ( LoLMonster monster)

Definition at line 1207 of file sprites_lol.cpp.

◆ checkBlockBeforeObjectPlacement()

int Kyra::LoLEngine::checkBlockBeforeObjectPlacement ( uint16  x,
uint16  y,
uint16  objectWidth,
uint16  testFlag,
uint16  wallFlag 

Definition at line 350 of file sprites_lol.cpp.

◆ checkBlockOccupiedByParty()

int Kyra::LoLEngine::checkBlockOccupiedByParty ( int  x,
int  y,
int  testFlag 

Definition at line 496 of file sprites_lol.cpp.

◆ checkBlockPassability()

bool Kyra::LoLEngine::checkBlockPassability ( uint16  block,
uint16  direction 

Definition at line 753 of file scene_lol.cpp.

◆ checkDrawObjectSpace()

int Kyra::LoLEngine::checkDrawObjectSpace ( int  x1,
int  y1,
int  x2,
int  y2 

Definition at line 566 of file items_lol.cpp.

◆ checkFloatingPointerRegions()

void Kyra::LoLEngine::checkFloatingPointerRegions ( )

Definition at line 627 of file lol.cpp.

◆ checkForPartyDeath()

void Kyra::LoLEngine::checkForPartyDeath ( )

Definition at line 3560 of file lol.cpp.

◆ checkForPossibleDistanceAttack()

int Kyra::LoLEngine::checkForPossibleDistanceAttack ( uint16  monsterBlock,
int  direction,
int  distance,
uint16  curBlock 

Definition at line 1383 of file sprites_lol.cpp.

◆ checkMagic()

int Kyra::LoLEngine::checkMagic ( int  charNum,
int  spellNum,
int  spellLevel 

Definition at line 3278 of file lol.cpp.

◆ checkSceneForItems()

int Kyra::LoLEngine::checkSceneForItems ( uint16 blockDrawObjects,
int  color 

Definition at line 578 of file items_lol.cpp.

◆ chooseCharacter()

int Kyra::LoLEngine::chooseCharacter ( )

Definition at line 281 of file sequences_lol.cpp.

◆ clickedAttackButton()

int Kyra::LoLEngine::clickedAttackButton ( Button button)

Definition at line 1033 of file gui_lol.cpp.

◆ clickedAutomap()

int Kyra::LoLEngine::clickedAutomap ( Button button)

Definition at line 1793 of file gui_lol.cpp.

◆ clickedCharInventorySlot()

int Kyra::LoLEngine::clickedCharInventorySlot ( Button button)

Definition at line 1189 of file gui_lol.cpp.

◆ clickedCompass()

int Kyra::LoLEngine::clickedCompass ( Button button)

Definition at line 1779 of file gui_lol.cpp.

◆ clickedDoorSwitch()

int Kyra::LoLEngine::clickedDoorSwitch ( uint16  block,
uint16  direction 

Implements Kyra::KyraRpgEngine.

Definition at line 777 of file scene_lol.cpp.

◆ clickedDownArrow()

int Kyra::LoLEngine::clickedDownArrow ( Button button)

Definition at line 961 of file gui_lol.cpp.

◆ clickedExitCharInventory()

int Kyra::LoLEngine::clickedExitCharInventory ( Button button)

Definition at line 1236 of file gui_lol.cpp.

◆ clickedInventoryScroll()

int Kyra::LoLEngine::clickedInventoryScroll ( Button button)

Definition at line 1389 of file gui_lol.cpp.

◆ clickedInventorySlot()

int Kyra::LoLEngine::clickedInventorySlot ( Button button)

Definition at line 1338 of file gui_lol.cpp.

◆ clickedLamp()

int Kyra::LoLEngine::clickedLamp ( Button button)

Definition at line 1805 of file gui_lol.cpp.

◆ clickedLeftArrow()

int Kyra::LoLEngine::clickedLeftArrow ( Button button)

Definition at line 970 of file gui_lol.cpp.

◆ clickedLiveMagicBarsLeft()

int Kyra::LoLEngine::clickedLiveMagicBarsLeft ( Button button)

Definition at line 1161 of file gui_lol.cpp.

◆ clickedMagicButton()

int Kyra::LoLEngine::clickedMagicButton ( Button button)

Definition at line 1077 of file gui_lol.cpp.

◆ clickedMagicSubmenu()

int Kyra::LoLEngine::clickedMagicSubmenu ( Button button)

Definition at line 1095 of file gui_lol.cpp.

◆ clickedMoneyBox()

int Kyra::LoLEngine::clickedMoneyBox ( Button button)

Definition at line 1774 of file gui_lol.cpp.

◆ clickedNiche()

int Kyra::LoLEngine::clickedNiche ( uint16  block,
uint16  direction 

Implements Kyra::KyraRpgEngine.

Definition at line 794 of file scene_lol.cpp.

◆ clickedOptions()

int Kyra::LoLEngine::clickedOptions ( Button button)

Definition at line 1524 of file gui_lol.cpp.

◆ clickedPortraitEtcRight()

int Kyra::LoLEngine::clickedPortraitEtcRight ( Button button)

Definition at line 1168 of file gui_lol.cpp.

◆ clickedPortraitLeft()

int Kyra::LoLEngine::clickedPortraitLeft ( Button button)

Definition at line 1138 of file gui_lol.cpp.

◆ clickedRestParty()

int Kyra::LoLEngine::clickedRestParty ( Button button)

Definition at line 1571 of file gui_lol.cpp.

◆ clickedRightArrow()

int Kyra::LoLEngine::clickedRightArrow ( Button button)

Definition at line 979 of file gui_lol.cpp.

◆ clickedSceneDropItem()

int Kyra::LoLEngine::clickedSceneDropItem ( Button button)

Definition at line 1265 of file gui_lol.cpp.

◆ clickedScenePickupItem()

int Kyra::LoLEngine::clickedScenePickupItem ( Button button)

Definition at line 1291 of file gui_lol.cpp.

◆ clickedSceneThrowItem()

int Kyra::LoLEngine::clickedSceneThrowItem ( Button button)

Definition at line 1503 of file gui_lol.cpp.

◆ clickedScreen()

int Kyra::LoLEngine::clickedScreen ( Button button)

Definition at line 1121 of file gui_lol.cpp.

◆ clickedScroll()

int Kyra::LoLEngine::clickedScroll ( Button button)

Definition at line 1460 of file gui_lol.cpp.

◆ clickedSequenceWindow()

int Kyra::LoLEngine::clickedSequenceWindow ( Button button)

Definition at line 1451 of file gui_lol.cpp.

◆ clickedSpellTargetCharacter()

int Kyra::LoLEngine::clickedSpellTargetCharacter ( Button button)

Definition at line 1472 of file gui_lol.cpp.

◆ clickedSpellTargetScene()

int Kyra::LoLEngine::clickedSpellTargetScene ( Button button)

Definition at line 1485 of file gui_lol.cpp.

◆ clickedStatusIcon()

int Kyra::LoLEngine::clickedStatusIcon ( Button button)

Definition at line 1834 of file gui_lol.cpp.

◆ clickedTurnLeftArrow()

int Kyra::LoLEngine::clickedTurnLeftArrow ( Button button)

Definition at line 988 of file gui_lol.cpp.

◆ clickedTurnRightArrow()

int Kyra::LoLEngine::clickedTurnRightArrow ( Button button)

Definition at line 1010 of file gui_lol.cpp.

◆ clickedUpArrow()

int Kyra::LoLEngine::clickedUpArrow ( Button button)

Definition at line 952 of file gui_lol.cpp.

◆ clickedWall()

int Kyra::LoLEngine::clickedWall ( Button button)

Definition at line 1413 of file gui_lol.cpp.

◆ convertVolumeFromMixer()

int Kyra::LoLEngine::convertVolumeFromMixer ( int  value)

Reimplemented from Kyra::KyraEngine_v1.

Definition at line 301 of file sound_lol.cpp.

◆ convertVolumeToMixer()

int Kyra::LoLEngine::convertVolumeToMixer ( int  value)

Reimplemented from Kyra::KyraEngine_v1.

Definition at line 296 of file sound_lol.cpp.

◆ countActiveCharacters()

int Kyra::LoLEngine::countActiveCharacters ( )

Definition at line 1164 of file lol.cpp.

◆ createTransparencyTables()

void Kyra::LoLEngine::createTransparencyTables ( )

Definition at line 1746 of file lol.cpp.

◆ decodeCyrillic()

int Kyra::LoLEngine::decodeCyrillic ( const char *  src,
char *  dst 

Definition at line 1047 of file lol.cpp.

◆ decodeSjis()

void Kyra::LoLEngine::decodeSjis ( const char *  src,
char *  dst 

Definition at line 1024 of file lol.cpp.

◆ delay()

void Kyra::LoLEngine::delay ( uint32  millis,
bool  doUpdate = false,
bool  isMainLoop = false 

Implements Kyra::KyraRpgEngine.

Definition at line 1967 of file lol.cpp.

◆ deleteItem()

void Kyra::LoLEngine::deleteItem ( Item  itemIndex)

Definition at line 286 of file items_lol.cpp.

◆ deleteMonstersFromBlock()

int Kyra::LoLEngine::deleteMonstersFromBlock ( int  block)

Definition at line 150 of file sprites_lol.cpp.

◆ disableMonsters()

void Kyra::LoLEngine::disableMonsters ( )

Definition at line 496 of file scene_lol.cpp.

◆ displayAutomap()

void Kyra::LoLEngine::displayAutomap ( )

Definition at line 3999 of file lol.cpp.

◆ drawBlockEffects()

void Kyra::LoLEngine::drawBlockEffects ( int  index,
int  type 

Definition at line 1533 of file scene_lol.cpp.

◆ drawBlockObjects()

void Kyra::LoLEngine::drawBlockObjects ( int  blockArrayIndex)

Definition at line 503 of file sprites_lol.cpp.

◆ drawDecorations()

void Kyra::LoLEngine::drawDecorations ( int  index)

Implements Kyra::KyraRpgEngine.

Definition at line 1438 of file scene_lol.cpp.

◆ drawDoor()

void Kyra::LoLEngine::drawDoor ( uint8 shape,
uint8 doorPalette,
int  index,
int  unk2,
int  w,
int  h,
int  flags 

Definition at line 835 of file sprites_lol.cpp.

◆ drawDoorOrMonsterEquipment()

void Kyra::LoLEngine::drawDoorOrMonsterEquipment ( uint8 shape,
uint8 objectPalette,
int  x,
int  y,
int  flags,
const uint8 brightnessOverlay 

Definition at line 896 of file sprites_lol.cpp.

◆ drawItemOrMonster()

uint8 * Kyra::LoLEngine::drawItemOrMonster ( uint8 shape,
uint8 monsterPalette,
int  x,
int  y,
int  fineX,
int  fineY,
int  flags,
int  tblValue,
bool  vflip 

Definition at line 921 of file sprites_lol.cpp.

◆ drawMapBlockWall()

void Kyra::LoLEngine::drawMapBlockWall ( uint16  block,
uint8  wall,
int  x,
int  y,
int  direction 

Definition at line 4405 of file lol.cpp.

◆ drawMapPage()

void Kyra::LoLEngine::drawMapPage ( int  pageNum)

Definition at line 4181 of file lol.cpp.

◆ drawMapShape()

void Kyra::LoLEngine::drawMapShape ( uint8  wall,
int  x,
int  y,
int  direction 

Definition at line 4415 of file lol.cpp.

◆ drawMonster()

void Kyra::LoLEngine::drawMonster ( uint16  id)

Definition at line 595 of file sprites_lol.cpp.

◆ drawScene()

void Kyra::LoLEngine::drawScene ( int  pageNum)

Implements Kyra::KyraRpgEngine.

Definition at line 1205 of file scene_lol.cpp.

◆ drawSceneShapes()

void Kyra::LoLEngine::drawSceneShapes ( int  start = 0)

Implements Kyra::KyraRpgEngine.

Definition at line 1395 of file scene_lol.cpp.

◆ drawSpecialGuiShape()

void Kyra::LoLEngine::drawSpecialGuiShape ( int  pageNum)

Definition at line 1565 of file scene_lol.cpp.

◆ drinkBezelCup()

void Kyra::LoLEngine::drinkBezelCup ( int  a,
int  charNum 

Definition at line 3015 of file lol.cpp.

◆ endObjectFlight()

void Kyra::LoLEngine::endObjectFlight ( FlyingObject t,
int  x,
int  y,
int  collisionType 

Definition at line 445 of file items_lol.cpp.

◆ faceFrameRefresh()

void Kyra::LoLEngine::faceFrameRefresh ( int  charNum)

Definition at line 1289 of file lol.cpp.

◆ fadeText()

void Kyra::LoLEngine::fadeText ( )

Definition at line 1673 of file lol.cpp.

◆ findObject()

LoLObject * Kyra::LoLEngine::findObject ( uint16  index)

Definition at line 30 of file items_lol.cpp.

◆ generateBrightnessPalette()

void Kyra::LoLEngine::generateBrightnessPalette ( const Palette src,
Palette dst,
int  brightness,
int16  modifier 

Definition at line 1696 of file lol.cpp.

◆ generateFlashPalette()

void Kyra::LoLEngine::generateFlashPalette ( const Palette src,
Palette dst,
int  colorFlags 

Definition at line 1729 of file lol.cpp.

◆ generateMonsterTempData()

void * Kyra::LoLEngine::generateMonsterTempData ( LevelTempData tmp)

Implements Kyra::KyraRpgEngine.

Definition at line 539 of file saveload_lol.cpp.

◆ generateSaveThumbnail()

Graphics::Surface * Kyra::LoLEngine::generateSaveThumbnail ( ) const

Reimplemented from Kyra::KyraEngine_v1.

Definition at line 510 of file saveload_lol.cpp.

◆ getBlockFileData()

const uint8 * Kyra::LoLEngine::getBlockFileData ( int  levelIndex)

Implements Kyra::KyraRpgEngine.

Definition at line 263 of file scene_lol.cpp.

◆ getCharacterOrMonsterItemsMight()

uint16 * Kyra::LoLEngine::getCharacterOrMonsterItemsMight ( int  id)

Definition at line 1959 of file lol.cpp.

◆ getCharacterOrMonsterProtectionAgainstItems()

uint16 * Kyra::LoLEngine::getCharacterOrMonsterProtectionAgainstItems ( int  id)

Definition at line 1963 of file lol.cpp.

◆ getCharacterOrMonsterStats()

const uint16 * Kyra::LoLEngine::getCharacterOrMonsterStats ( int  id)

Definition at line 1955 of file lol.cpp.

◆ getCharSelection()

int Kyra::LoLEngine::getCharSelection ( )

Definition at line 677 of file sequences_lol.cpp.

◆ getClock2Timer()

uint8 Kyra::LoLEngine::getClock2Timer ( int  index)

Implements Kyra::KyraRpgEngine.

Definition at line 421 of file lol.h.

◆ getItemIconShapePtr()

uint8 * Kyra::LoLEngine::getItemIconShapePtr ( int  index)

Definition at line 674 of file lol.cpp.

◆ getLangString()

char * Kyra::LoLEngine::getLangString ( uint16  id)

Definition at line 983 of file lol.cpp.

◆ getLevelDecorationShapes()

uint8 * Kyra::LoLEngine::getLevelDecorationShapes ( int  index)

Definition at line 217 of file scene_lol.cpp.

◆ getMonsterCurFrame()

int Kyra::LoLEngine::getMonsterCurFrame ( LoLMonster m,
uint16  dirFlags 

Definition at line 672 of file sprites_lol.cpp.

◆ getNearestMonsterFromCharacter()

uint16 Kyra::LoLEngine::getNearestMonsterFromCharacter ( int  charNum)

Definition at line 3920 of file lol.cpp.

◆ getNearestMonsterFromCharacterForBlock()

uint16 Kyra::LoLEngine::getNearestMonsterFromCharacterForBlock ( uint16  block,
int  charNum 

Definition at line 3924 of file lol.cpp.

◆ getNearestMonsterFromPos()

uint16 Kyra::LoLEngine::getNearestMonsterFromPos ( int  x,
int  y 

Definition at line 3957 of file lol.cpp.

◆ getNearestPartyMemberFromPos()

uint16 Kyra::LoLEngine::getNearestPartyMemberFromPos ( int  x,
int  y 

Definition at line 3975 of file lol.cpp.

◆ getNextStepCoords()

void Kyra::LoLEngine::getNextStepCoords ( int16  monsterX,
int16  monsterY,
int newX,
int newY,
uint16  direction 

Definition at line 1427 of file sprites_lol.cpp.

◆ getNumClock2Timers()

uint8 Kyra::LoLEngine::getNumClock2Timers ( )

Implements Kyra::KyraRpgEngine.

Definition at line 422 of file lol.h.

◆ getSpellTargetBlock()

int Kyra::LoLEngine::getSpellTargetBlock ( int  currentBlock,
int  direction,
int  maxDistance,
uint16 targetBlock 

Definition at line 3291 of file lol.cpp.

◆ getTableEntry()

uint8 * Kyra::LoLEngine::getTableEntry ( uint8 buffer,
uint16  id 

Definition at line 1017 of file lol.cpp.

◆ giveCredits()

void Kyra::LoLEngine::giveCredits ( int  credits,
int  redraw 

Definition at line 92 of file items_lol.cpp.

◆ giveItemToMonster()

void Kyra::LoLEngine::giveItemToMonster ( LoLMonster monster,
Item  item 

Definition at line 1947 of file lol.cpp.

◆ go()

Common::Error Kyra::LoLEngine::go ( )

Implements Kyra::KyraRpgEngine.

Definition at line 507 of file lol.cpp.

◆ gui()

GUI * Kyra::LoLEngine::gui ( ) const

Implements Kyra::KyraRpgEngine.

Definition at line 360 of file lol.cpp.

◆ gui_changeCharacterStats()

void Kyra::LoLEngine::gui_changeCharacterStats ( int  charNum)

Definition at line 282 of file gui_lol.cpp.

◆ gui_disableControls()

int Kyra::LoLEngine::gui_disableControls ( int  controlMode)

Definition at line 634 of file gui_lol.cpp.

◆ gui_displayCharInventory()

void Kyra::LoLEngine::gui_displayCharInventory ( int  charNum)

Definition at line 152 of file gui_lol.cpp.

◆ gui_drawAllCharPortraitsWithStats()

void Kyra::LoLEngine::gui_drawAllCharPortraitsWithStats ( )

Definition at line 349 of file gui_lol.cpp.

◆ gui_drawCharFaceShape()

void Kyra::LoLEngine::gui_drawCharFaceShape ( int  charNum,
int  x,
int  y,
int  pageNum 

Definition at line 441 of file gui_lol.cpp.

◆ gui_drawCharInventoryItem()

void Kyra::LoLEngine::gui_drawCharInventoryItem ( int  itemIndex)

Definition at line 323 of file gui_lol.cpp.

◆ gui_drawCharPortraitWithStats()

void Kyra::LoLEngine::gui_drawCharPortraitWithStats ( int  charNum)

Definition at line 358 of file gui_lol.cpp.

◆ gui_drawCompass()

void Kyra::LoLEngine::gui_drawCompass ( )

Definition at line 578 of file gui_lol.cpp.

◆ gui_drawInventory()

void Kyra::LoLEngine::gui_drawInventory ( )

Definition at line 86 of file gui_lol.cpp.

◆ gui_drawInventoryItem()

void Kyra::LoLEngine::gui_drawInventoryItem ( int  index)

Definition at line 93 of file gui_lol.cpp.

◆ gui_drawLiveMagicBar()

void Kyra::LoLEngine::gui_drawLiveMagicBar ( int  x,
int  y,
int  curPoints,
int  unk,
int  maxPoints,
int  w,
int  h,
int  col1,
int  col2,
int  flag 

Definition at line 476 of file gui_lol.cpp.

◆ gui_drawMoneyBox()

void Kyra::LoLEngine::gui_drawMoneyBox ( int  pageNum)

Definition at line 527 of file gui_lol.cpp.

◆ gui_drawPlayField()

void Kyra::LoLEngine::gui_drawPlayField ( )

Definition at line 44 of file gui_lol.cpp.

◆ gui_drawScene()

void Kyra::LoLEngine::gui_drawScene ( int  pageNum)

Definition at line 81 of file gui_lol.cpp.

◆ gui_drawScroll()

void Kyra::LoLEngine::gui_drawScroll ( )

Definition at line 107 of file gui_lol.cpp.

◆ gui_enableCharInventoryButtons()

void Kyra::LoLEngine::gui_enableCharInventoryButtons ( int  charNum)

Definition at line 860 of file gui_lol.cpp.

◆ gui_enableControls()

int Kyra::LoLEngine::gui_enableControls ( )

Definition at line 614 of file gui_lol.cpp.

◆ gui_enableDefaultPlayfieldButtons()

void Kyra::LoLEngine::gui_enableDefaultPlayfieldButtons ( )

Definition at line 822 of file gui_lol.cpp.

◆ gui_enableSequenceButtons()

void Kyra::LoLEngine::gui_enableSequenceButtons ( int  x,
int  y,
int  w,
int  h,
int  enableFlags 

Definition at line 835 of file gui_lol.cpp.

◆ gui_highlightPortraitFrame()

void Kyra::LoLEngine::gui_highlightPortraitFrame ( int  charNum)

Definition at line 466 of file gui_lol.cpp.

◆ gui_highlightSelectedSpell()

void Kyra::LoLEngine::gui_highlightSelectedSpell ( bool  mode)

Definition at line 139 of file gui_lol.cpp.

◆ gui_initButton()

void Kyra::LoLEngine::gui_initButton ( int  index,
int  x = -1,
int  y = -1,
int  val = -1 

Implements Kyra::KyraRpgEngine.

Definition at line 897 of file gui_lol.cpp.

◆ gui_initCharInventorySpecialButtons()

void Kyra::LoLEngine::gui_initCharInventorySpecialButtons ( int  charNum)

Definition at line 873 of file gui_lol.cpp.

◆ gui_initMagicScrollButtons()

void Kyra::LoLEngine::gui_initMagicScrollButtons ( )

Definition at line 883 of file gui_lol.cpp.

◆ gui_initMagicSubmenu()

void Kyra::LoLEngine::gui_initMagicSubmenu ( int  charNum)

Definition at line 891 of file gui_lol.cpp.

◆ gui_prepareForSequence()

void Kyra::LoLEngine::gui_prepareForSequence ( int  x,
int  y,
int  w,
int  h,
int  buttonFlags 

Definition at line 1531 of file lol.cpp.

◆ gui_printCharacterStats()

void Kyra::LoLEngine::gui_printCharacterStats ( int  index,
int  redraw,
int  value 

Definition at line 238 of file gui_lol.cpp.

◆ gui_printCharInventoryStats()

void Kyra::LoLEngine::gui_printCharInventoryStats ( int  charNum)

Definition at line 231 of file gui_lol.cpp.

◆ gui_setFaceFramesControlButtons()

void Kyra::LoLEngine::gui_setFaceFramesControlButtons ( int  index,
int  xOffs 

Definition at line 867 of file gui_lol.cpp.

◆ gui_specialSceneRestoreButtons()

void Kyra::LoLEngine::gui_specialSceneRestoreButtons ( )

Definition at line 852 of file gui_lol.cpp.

◆ gui_specialSceneRestoreControls()

void Kyra::LoLEngine::gui_specialSceneRestoreControls ( int  restoreLamp)

Definition at line 1562 of file lol.cpp.

◆ gui_specialSceneSuspendControls()

void Kyra::LoLEngine::gui_specialSceneSuspendControls ( int  controlMode)

Definition at line 1550 of file lol.cpp.

◆ gui_toggleButtonDisplayMode()

void Kyra::LoLEngine::gui_toggleButtonDisplayMode ( int  shapeIndex,
int  mode 

Definition at line 658 of file gui_lol.cpp.

◆ gui_toggleFightButtons()

void Kyra::LoLEngine::gui_toggleFightButtons ( bool  disable)

Definition at line 739 of file gui_lol.cpp.

◆ gui_triggerEvent()

void Kyra::LoLEngine::gui_triggerEvent ( int  eventType)

Definition at line 799 of file gui_lol.cpp.

◆ gui_updateInput()

void Kyra::LoLEngine::gui_updateInput ( )

Definition at line 765 of file gui_lol.cpp.

◆ guiSettings()

const KyraRpgGUISettings * Kyra::LoLEngine::guiSettings ( ) const

Implements Kyra::KyraRpgEngine.

Definition at line 1980 of file lol.cpp.

◆ increaseCharacterHitpoints()

void Kyra::LoLEngine::increaseCharacterHitpoints ( int  charNum,
int  points,
bool  ignoreDeath 

Definition at line 1485 of file lol.cpp.

◆ increaseExperience()

void Kyra::LoLEngine::increaseExperience ( int  charNum,
int  skill,
uint32  points 

Definition at line 1433 of file lol.cpp.

◆ inflictDamage()

int Kyra::LoLEngine::inflictDamage ( uint16  target,
int  damage,
uint16  attacker,
int  skill,
int  flags 

Definition at line 3392 of file lol.cpp.

◆ inflictMagicalDamage()

void Kyra::LoLEngine::inflictMagicalDamage ( int  target,
int  attacker,
int  damage,
int  index,
int  hitType 

Definition at line 3314 of file lol.cpp.

◆ inflictMagicalDamageForBlock()

void Kyra::LoLEngine::inflictMagicalDamageForBlock ( int  block,
int  attacker,
int  damage,
int  index 

Definition at line 3320 of file lol.cpp.

◆ init()

Common::Error Kyra::LoLEngine::init ( void  )

Reimplemented from Kyra::KyraRpgEngine.

Definition at line 364 of file lol.cpp.

◆ initDialogueSequence()

void Kyra::LoLEngine::initDialogueSequence ( int  controlMode,
int  pageNum 

Definition at line 1596 of file lol.cpp.

◆ initKeymap()

void Kyra::LoLEngine::initKeymap ( )

Reimplemented from Engine.

Definition at line 467 of file lol.cpp.

◆ initSceneWindowDialogue()

void Kyra::LoLEngine::initSceneWindowDialogue ( int  controlMode)

Definition at line 1506 of file lol.cpp.

◆ initStaticResource()

void Kyra::LoLEngine::initStaticResource ( )

Definition at line 216 of file staticres_lol.cpp.

◆ initTextFading()

void Kyra::LoLEngine::initTextFading ( int  textType,
int  clearField 

Definition at line 1268 of file lol.cpp.

◆ isItemMoveable()

bool Kyra::LoLEngine::isItemMoveable ( Item  itemIndex)

Definition at line 275 of file items_lol.cpp.

◆ itemEquipped()

bool Kyra::LoLEngine::itemEquipped ( int  charNum,
uint16  itemType 

Definition at line 335 of file items_lol.cpp.

◆ killMonster()

void Kyra::LoLEngine::killMonster ( LoLMonster monster)

Definition at line 1543 of file sprites_lol.cpp.

◆ kingSelectionIntro()

void Kyra::LoLEngine::kingSelectionIntro ( )

Definition at line 404 of file sequences_lol.cpp.

◆ kingSelectionOutro()

void Kyra::LoLEngine::kingSelectionOutro ( )

Definition at line 488 of file sequences_lol.cpp.

◆ kingSelectionReminder()

void Kyra::LoLEngine::kingSelectionReminder ( )

Definition at line 449 of file sequences_lol.cpp.

◆ launchMagicViper()

void Kyra::LoLEngine::launchMagicViper ( )

Definition at line 3839 of file lol.cpp.

◆ launchObject()

bool Kyra::LoLEngine::launchObject ( int  objectType,
Item  item,
int  startX,
int  startY,
int  flyingHeight,
int  direction,
int  ,
int  attackerId,
int  c 

Definition at line 388 of file items_lol.cpp.

◆ lineIsPassable()

bool Kyra::LoLEngine::lineIsPassable ( int  ,

Reimplemented from Kyra::KyraRpgEngine.

Definition at line 1302 of file lol.h.

◆ loadBlockProperties()

void Kyra::LoLEngine::loadBlockProperties ( const char *  cmzFile)

Implements Kyra::KyraRpgEngine.

Definition at line 243 of file scene_lol.cpp.

◆ loadCharFaceShapes()

void Kyra::LoLEngine::loadCharFaceShapes ( int  charNum,
int  id 

Definition at line 1171 of file lol.cpp.

◆ loadGameState()

Common::Error Kyra::LoLEngine::loadGameState ( int  slot)

Load a game state.

slotthe slot from which a savestate should be loaded
returns kNoError on success, else an error code.

Implements Kyra::KyraRpgEngine.

Definition at line 36 of file saveload_lol.cpp.

◆ loadItemIconShapes()

void Kyra::LoLEngine::loadItemIconShapes ( )

Definition at line 587 of file lol.cpp.

◆ loadLevel()

void Kyra::LoLEngine::loadLevel ( int  index)

Definition at line 35 of file scene_lol.cpp.

◆ loadLevelGraphics()

void Kyra::LoLEngine::loadLevelGraphics ( const char *  file,
int  specialColor,
int  weight,
int  vcnLen,
int  vmpLen,
const char *  palFile 

Definition at line 301 of file scene_lol.cpp.

◆ loadLevelShpDat()

void Kyra::LoLEngine::loadLevelShpDat ( const char *  shpFile,
const char *  datFile,
bool  flag 

Definition at line 268 of file scene_lol.cpp.

◆ loadLevelWallData()

void Kyra::LoLEngine::loadLevelWallData ( int  fileIndex,
bool  mapShapes 

Definition at line 143 of file scene_lol.cpp.

◆ loadMapLegendData()

void Kyra::LoLEngine::loadMapLegendData ( int  level)

Definition at line 4149 of file lol.cpp.

◆ loadMonsterShapes()

void Kyra::LoLEngine::loadMonsterShapes ( const char *  file,
int  monsterIndex,
int  b 

Definition at line 30 of file sprites_lol.cpp.

◆ loadOutroShapes()

void Kyra::LoLEngine::loadOutroShapes ( int  file,
uint8 **  storage 

Definition at line 1524 of file sequences_lol.cpp.

◆ loadTalkFile()

void Kyra::LoLEngine::loadTalkFile ( int  index)

Definition at line 1793 of file lol.cpp.

◆ mainMenu()