ScummVM API documentation
Kyra Namespace Reference

Classes

struct  ActiveItemAnim
 
class  AMIGAFont
 
struct  AmigaSfxTable
 
struct  Anim
 
class  Animator_LoK
 
struct  BeadState
 
struct  Button
 
class  CachedArchive
 
struct  Character
 
class  ChineseFont
 
class  ChineseOneByteFontHOF
 
class  ChineseOneByteFontLoK
 
class  ChineseOneByteFontMR
 
class  ChineseTwoByteFontHOF
 
class  ChineseTwoByteFontLoK
 
class  ChineseTwoByteFontMR
 
class  Debugger
 
class  Debugger_HoF
 
class  Debugger_LoK
 
class  Debugger_v2
 
class  DOSFont
 
struct  EMCData
 
class  EMCInterpreter
 
struct  EMCState
 
class  Font
 
struct  FrameControl
 
struct  GameFlags
 
class  GUI
 
class  GUI_HoF
 
class  GUI_LoK
 
class  GUI_MR
 
class  GUI_v1
 
class  GUI_v2
 
class  HalestormDriver
 
struct  HoFNestedSequence
 
struct  HoFSeqData
 
struct  HoFSeqItemAnimData
 
struct  HoFSequence
 
class  IFFParser
 
class  InstallerLoader
 
struct  ItemAnimDefinition
 
class  JohabFontLoK
 
struct  KeyCodeHash
 
class  KyraEngine_HoF
 
class  KyraEngine_LoK
 
class  KyraEngine_MR
 
class  KyraEngine_v1
 
class  KyraEngine_v2
 
class  MainMenu
 
struct  Menu
 
struct  MenuItem
 
class  MidiDriver_PCSpeaker
 
class  MixedSoundDriver
 
class  Movie
 
class  MultiSubsetFont
 
class  Palette
 
class  PauseTimer
 
class  PCSoundDriver
 
class  PlainArchive
 
class  ResArchiveLoader
 
class  ResLoaderInsMalcolm
 
class  ResLoaderPak
 
class  ResLoaderTlk
 
class  Resource
 
struct  Room
 
struct  SceneExits
 
class  Screen
 
class  Screen_HoF
 
class  Screen_LoK
 
class  Screen_LoK_16
 
class  Screen_MR
 
class  Screen_v2
 
struct  ScreenDim
 
struct  SeqLoop
 
class  SeqPlayer
 
struct  Shape
 
class  SJISFont
 
class  Sound
 
class  SoundAmiga_LoK
 
class  SoundDigital_MR
 
class  SoundMac
 
class  SoundMacRes
 
class  SoundMidiPC
 
class  SoundPC98_LoK
 
class  SoundPC_v1
 
struct  SoundResourceInfo_AmigaEoB
 
struct  SoundResourceInfo_PC
 
struct  SoundResourceInfo_PC98
 
struct  SoundResourceInfo_Towns
 
struct  SoundResourceInfo_TownsEoB
 
struct  SoundResourceInfo_TownsPC98V2
 
class  SoundTowns_LoK
 
class  SoundTownsPC98_v2
 
struct  Sprite
 
class  Sprites
 
class  StaticResource
 
class  StuffItLoader
 
class  TextDisplayer
 
class  TextDisplayer_HoF
 
class  TextDisplayer_MR
 
struct  TIM
 
class  TimAnimator
 
struct  TimerEntry
 
class  TimerManager
 
class  TIMInterpreter
 
class  TlkArchive
 
class  Util
 
class  VQADecoder
 
class  VQAMovie
 
class  WSAMovie_v1
 
class  WSAMovie_v2
 
class  WSAMovieAmiga
 

Typedefs

typedef int16 Item
 
typedef Common::Functor1< int, void > TimerFunc
 
typedef Common::Functor0< void > UpdateFunctor
 
typedef Common::Functor1< EMCState *, int > Opcode
 
typedef Common::Functor2< const TIM *, const uint16 *, int > TIMOpcode
 

Enumerations

enum  {
  GI_KYRA1 = 0, GI_KYRA2 = 1, GI_KYRA3 = 2, GI_LOL = 4,
  GI_EOB1 = 5, GI_EOB2 = 6
}
 
enum  { kItemNone = -1 }
 
enum  DebugLevels {
  kDebugLevelScriptFuncs = 1 << 0, kDebugLevelScript = 1 << 1, kDebugLevelSprites = 1 << 2, kDebugLevelScreen = 1 << 3,
  kDebugLevelSound = 1 << 4, kDebugLevelAnimator = 1 << 5, kDebugLevelMain = 1 << 6, kDebugLevelGUI = 1 << 7,
  kDebugLevelSequence = 1 << 8, kDebugLevelMovie = 1 << 9, kDebugLevelTimer = 1 << 10
}
 
enum  AudioResourceSet { kMusicIntro = 0, kMusicIngame, kMusicFinale }
 
enum  KyraResources {
  kLoadAll = -1, k1ForestSeq = 1, k1KallakWritingSeq, k1KyrandiaLogoSeq,
  k1KallakMalcolmSeq, k1MalcolmTreeSeq, k1WestwoodLogoSeq, k1Demo1Seq,
  k1Demo2Seq, k1Demo3Seq, k1Demo4Seq, k1AmuleteAnimSeq,
  k1OutroReunionSeq, k1IntroCPSStrings, k1IntroCOLStrings, k1IntroWSAStrings,
  k1IntroStrings, k1OutroHomeString, k1RoomFilenames, k1RoomList,
  k1CharacterImageFilenames, k1ItemNames, k1TakenStrings, k1PlacedStrings,
  k1DroppedStrings, k1NoDropStrings, k1PutDownString, k1WaitAmuletString,
  k1BlackJewelString, k1PoisonGoneString, k1HealingTipString, k1WispJewelStrings,
  k1MagicJewelStrings, k1ThePoisonStrings, k1FluteStrings, k1FlaskFullString,
  k1FullFlaskString, k1VeryCleverString, k1NewGameString, k1DefaultShapes,
  k1Healing1Shapes, k1Healing2Shapes, k1PoisonDeathShapes, k1FluteShapes,
  k1Winter1Shapes, k1Winter2Shapes, k1Winter3Shapes, k1DrinkShapes,
  k1WispShapes, k1MagicAnimShapes, k1BranStoneShapes, k1SpecialPalette1,
  k1SpecialPalette2, k1SpecialPalette3, k1SpecialPalette4, k1SpecialPalette5,
  k1SpecialPalette6, k1SpecialPalette7, k1SpecialPalette8, k1SpecialPalette9,
  k1SpecialPalette10, k1SpecialPalette11, k1SpecialPalette12, k1SpecialPalette13,
  k1SpecialPalette14, k1SpecialPalette15, k1SpecialPalette16, k1SpecialPalette17,
  k1SpecialPalette18, k1SpecialPalette19, k1SpecialPalette20, k1SpecialPalette21,
  k1SpecialPalette22, k1SpecialPalette23, k1SpecialPalette24, k1SpecialPalette25,
  k1SpecialPalette26, k1SpecialPalette27, k1SpecialPalette28, k1SpecialPalette29,
  k1SpecialPalette30, k1SpecialPalette31, k1SpecialPalette32, k1SpecialPalette33,
  k1GUIStrings, k1ConfigStrings, k1ConfigStrings2, k1AudioTracks,
  k1AudioTracksIntro, k1CreditsStrings, k1TownsMusicFadeTable, k1TownsSFXwdTable,
  k1TownsSFXbtTable, k1TownsCDATable, k1PC98StoryStrings, k1PC98IntroSfx,
  k1AmigaIntroSFXTable, k1AmigaGameSFXTable, k1TwoByteFontLookupTable, k2SeqplayPakFiles,
  k2SeqplayCredits, k2SeqplayCreditsSpecial, k2SeqplayStrings, k2SeqplaySfxFiles,
  k2SeqplayTlkFiles, k2SeqplaySeqData, k2SeqplayIntroTracks, k2SeqplayFinaleTracks,
  k2SeqplayIntroCDA, k2SeqplayFinaleCDA, k2SeqplayShapeAnimData, k2IngamePakFiles,
  k2IngameSfxFiles, k2IngameSfxIndex, k2IngameTracks, k2IngameCDA,
  k2IngameTalkObjIndex, k2IngameTimJpStrings, k2IngameShapeAnimData, k2IngameTlkDemoStrings,
  k2FontData, k3MainMenuStrings, k3MusicFiles, k3ScoreTable,
  k3SfxFiles, k3SfxMap, k3ItemAnimData, k3ItemMagicTable,
  k3ItemStringMap, k3VqaSubtitlesIntro, k3VqaSubtitlesBoat, kMaxResIDs
}
 

Detailed Description

This is the namespace of the Kyra engine.

Status of this engine:

The KYRA engine supports the following games by Westwood:

  • Eye of the Beholder (fully supported)
  • Eye of the Beholder II - The Legend of Darkmoon (fully supported)
  • The Legend of Kyrandia (fully supported)
  • The Legend of Kyrandia 2: Hand of Fate (fully supported)
  • Lands of Lore: The Throne of Chaos (fully supported)
  • The Legend of Kyrandia 3: Malcolm's Revenge (fully supported)

There are various platform ports of the different games, almost all of them are fully supported. We also offer legacy graphics modes like CGA and EGA for games that originally supported this and also try to offer all sound drivers that the originals had. Some execeptions:

  • The PC-98 version of Eye of the Beholder II is not yet supported.
  • We don't support NES or Gameboy versions of Eye of the Beholder.

The official translations of the games of which we are aware are mostly supported. Some of the more rare versions (of which we don't even know whether they are official or fan-translated) are missing. Unfortunately, adding new languages is more complicated than just adding a detection entry. It usually requires extra resources in kyra.dat and sometimes even adjustments to the code. So it is almost impossible to support translations without owning them.

Apart from the official translations we also support an increasing number of fan translations. If there is a request for a new fan translation we might demand that the requesting person supplies the necessary kyra.dat resource files.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
kItemNone 

Constant for invalid item.

◆ DebugLevels

Enumerator
kDebugLevelScriptFuncs 

debug level for o::_* functions

kDebugLevelScript 

debug level for "EMCInterpreter" functions

kDebugLevelSprites 

debug level for "Sprites" functions

kDebugLevelScreen 

debug level for "Screen" functions

kDebugLevelSound 

debug level for "Sound" functions

kDebugLevelAnimator 

debug level for "ScreenAnimator" functions

kDebugLevelMain 

debug level for common "KyraEngine(_v#)" functions && "TextDisplayer" functions

kDebugLevelGUI 

debug level for "KyraEngine*" gui functions

kDebugLevelSequence 

debug level for "SeqPlayer" functions

kDebugLevelMovie 

debug level for movie specific funtions

kDebugLevelTimer 

debug level for "TimerManager" functions