ScummVM API documentation
Xeen Namespace Reference

Classes

class  AccessoryItems
 
struct  AnimationEntry
 
struct  AnimationFlipped
 
struct  AnimationFrame
 
class  AnimationInfo
 
class  ArmorItems
 
class  AttributePair
 
class  Awards
 
class  BaseCCArchive
 
class  BaseSurface
 
class  BlacksmithWares
 
class  ButtonContainer
 
class  CantCast
 
class  CastSpell
 
class  CCArchive
 
struct  CCEntry
 
class  Character
 
class  CharacterArray
 
class  CharacterInfo
 
class  Choose123
 
class  Combat
 
class  Confirm
 
class  ControlPanel
 
class  CopyProtection
 
class  CreateCharacterDialog
 
class  CreditsScreen
 
class  Cutscenes
 
class  Debugger
 
class  DetectMonsters
 
class  DifficultyDialog
 
class  Dismiss
 
struct  DrawStruct
 
class  ErrorScroll
 
class  EventParameters
 
class  EventsManager
 
class  ExchangeDialog
 
class  File
 
class  FileManager
 
struct  FontData
 
class  FontSurface
 
class  HeadData
 
class  HowMuch
 
class  IdentifyMonster
 
class  IndoorDrawList
 
class  InfoDialog
 
class  Input
 
class  Interface
 
class  InterfaceMinimap
 
class  InterfaceScene
 
class  InventoryItems
 
class  InventoryItemsGroup
 
class  ItemsDialog
 
class  ItemSelectionDialog
 
struct  ItemState
 
class  LloydsBeacon
 
class  LocationManager
 
class  LocationMessage
 
class  Map
 
class  MapDialog
 
struct  MazeCell
 
class  MazeData
 
class  MazeDifficulties
 
class  MazeEvent
 
class  MazeEvents
 
struct  MazeMonster
 
struct  MazeObject
 
class  MazeWallItem
 
union  MazeWallLayers
 
class  MessageDialog
 
struct  MirrorEntry
 
class  MiscItems
 
class  MobStruct
 
class  MonsterData
 
class  MonsterObjectData
 
class  MonsterStruct
 
class  NotWhileEngaged
 
class  NumericInput
 
class  OutdoorDrawList
 
class  OutFile
 
class  Party
 
class  PartyDialog
 
class  PartyDrawer
 
class  Patcher
 
struct  PendingEvent
 
class  PleaseWait
 
struct  PowSlot
 
class  PowSlots
 
class  Quests
 
class  QuickFight
 
class  QuickReferenceDialog
 
class  Resources
 
class  Roster
 
class  SaveArchive
 
class  SavesManager
 
class  Screen
 
class  Scripts
 
class  SelectElement
 
class  SettingsBaseDialog
 
class  Sound
 
class  SoundDriver
 
class  SoundDriverAdlib
 
struct  SpellEntry
 
class  SpellOnWho
 
class  Spells
 
class  SpellsDialog
 
class  SpriteDrawer
 
class  SpriteDrawer1
 
class  SpriteDrawer2
 
class  SpriteDrawer3
 
class  SpriteDrawer4
 
class  SpriteDrawer5
 
class  SpriteDrawer6
 
class  SpriteResource
 
struct  StackEntry
 
class  StringArray
 
class  StringInput
 
class  Subtitles
 
class  SubWriteStream
 
class  SurroundingMazes
 
class  Teleport
 
class  TownPortal
 
class  Treasure
 
class  UIButton
 
struct  WallSprites
 
class  WeaponItems
 
class  WhoWill
 
class  Window
 
class  Windows
 
class  XeenEngine
 
struct  XeenGameDescription
 
class  XeenItem
 
struct  XeenSavegameHeader
 
class  XeenSerializer
 
class  XSurface
 
class  YesNo
 

Typedefs

typedef XeenItem BlacksmithItems[2][4][INV_ITEMS_TOTAL]
 
typedef bool(SoundDriver::* CommandFn) (const byte *&srcP, byte param)
 

Enumerations

enum  Award {
  SHANGRILA_GUILD_MEMBER = 5, GOOBER = 76, SUPER_GOOBER = 77, CASTLEVIEW_GUILD_MEMBER = 83,
  SANDCASTER_GUILD_MEMBER = 84, LAKESIDE_GUILD_MEMBER = 85, NECROPOLIS_GUILD_MEMBER = 86, OLYMPUS_GUILD_MEMBER = 87
}
 
enum  Sex { MALE = 0, FEMALE = 1, YES_PLEASE = 2 }
 
enum  Race {
  HUMAN = 0, ELF = 1, DWARF = 2, GNOME = 3,
  HALF_ORC = 4
}
 
enum  CharacterClass {
  CLASS_KNIGHT = 0, CLASS_PALADIN = 1, CLASS_ARCHER = 2, CLASS_CLERIC = 3,
  CLASS_SORCERER = 4, CLASS_ROBBER = 5, CLASS_NINJA = 6, CLASS_BARBARIAN = 7,
  CLASS_DRUID = 8, CLASS_RANGER = 9, TOTAL_CLASSES = 10
}
 
enum  HatesClass { HATES_DWARF = 12, HATES_PARTY = 15, HATES_NOBODY = 16 }
 
enum  Attribute {
  MIGHT = 0, INTELLECT = 1, PERSONALITY = 2, ENDURANCE = 3,
  SPEED = 4, ACCURACY = 5, LUCK = 6, TOTAL_ATTRIBUTES = 7
}
 
enum  Skill {
  THIEVERY = 0, ARMS_MASTER = 1, ASTROLOGER = 2, BODYBUILDER = 3,
  CARTOGRAPHER = 4, CRUSADER = 5, DIRECTION_SENSE = 6, LINGUIST = 7,
  MERCHANT = 8, MOUNTAINEER = 9, NAVIGATOR = 10, PATHFINDER = 11,
  PRAYER_MASTER = 12, PRESTIDIGITATION = 13, SWIMMING = 14, TRACKING = 15,
  SPOT_DOORS = 16, DANGER_SENSE = 17
}
 
enum  Condition {
  CURSED = 0, HEART_BROKEN = 1, WEAK = 2, POISONED = 3,
  DISEASED = 4, INSANE = 5, IN_LOVE = 6, DRUNK = 7,
  ASLEEP = 8, DEPRESSED = 9, CONFUSED = 10, PARALYZED = 11,
  UNCONSCIOUS = 12, DEAD = 13, STONED = 14, ERADICATED = 15,
  NO_CONDITION = 16
}
 
enum  QuickAction { QUICK_ATTACK = 0, QUICK_SPELL = 1, QUICK_BLOCK = 2, QUICK_RUN = 3 }
 
enum  SpellsCategory { SPELLCAT_INVALID = -1, SPELLCAT_CLERICAL = 0, SPELLCAT_WIZARDRY = 1, SPELLCAT_DRUIDIC = 2 }
 
enum  DamageType {
  DT_PHYSICAL = 0, DT_MAGICAL = 1, DT_FIRE = 2, DT_ELECTRICAL = 3,
  DT_COLD = 4, DT_POISON = 5, DT_ENERGY = 6, DT_SLEEP = 7,
  DT_FINGEROFDEATH = 8, DT_HOLYWORD = 9, DT_MASS_DISTORTION = 10, DT_UNDEAD = 11,
  DT_BEASTMASTER = 12, DT_DRAGONSLEEP = 13, DT_GOLEMSTOPPER = 14, DT_HYPNOTIZE = 15,
  DT_INSECT_SPRAY = 16, DT_POISON_VOLLEY = 17, DT_MAGIC_ARROW = 18
}
 
enum  SpecialAttack {
  SA_NONE = 0, SA_MAGIC = 1, SA_FIRE = 2, SA_ELEC = 3,
  SA_COLD = 4, SA_POISON = 5, SA_ENERGY = 6, SA_DISEASE = 7,
  SA_INSANE = 8, SA_SLEEP = 9, SA_CURSEITEM = 10, SA_INLOVE = 11,
  SA_DRAINSP = 12, SA_CURSE = 13, SA_PARALYZE = 14, SA_UNCONSCIOUS = 15,
  SA_CONFUSE = 16, SA_BREAKWEAPON = 17, SA_WEAKEN = 18, SA_ERADICATE = 19,
  SA_AGING = 20, SA_DEATH = 21, SA_STONE = 22
}
 
enum  ShootType { ST_0 = 0, ST_1 = 1 }
 
enum  CombatMode { COMBATMODE_STARTUP = 0, COMBATMODE_INTERACTIVE = 1, COMBATMODE_2 = 2 }
 
enum  PowType {
  POW_INVALID = -1, POW_FIREBALL = 0, POW_INCINERATE = 1, POW_FIERY_FLAIL = 2,
  POW_LIGHTNING = 3, POW_MEGAVOLTS = 4, POW_SPARKS = 5, POW_STOPPER = 6,
  POW_MAGIC_ORB = 7, POW_COLD_RAY = 8, POW_FROST_WAVE = 9, POW_SPRAY = 10,
  POW_ARROW = 11, POW_MAGIC_ARROW = 12, POW_ENERGY_BLAST = 13, POW_SPARKLES = 14,
  POW_DEADLY_SWARM = 15
}
 
enum  RangeType { RT_SINGLE = 0, RT_GROUP = 1, RT_ALL = 2, RT_HIT = 3 }
 
enum  { GType_Clouds = 1, GType_DarkSide = 2, GType_WorldOfXeen = 3, GType_Swords = 4 }
 
enum  ItemsMode {
  ITEMMODE_CHAR_INFO = 0, ITEMMODE_BUY = 1, ITEMMODE_SELL = 2, ITEMMODE_3 = 3,
  ITEMMODE_RECHARGE = 4, ITEMMODE_5 = 5, ITEMMODE_ENCHANT = 6, ITEMMODE_COMBAT = 7,
  ITEMMODE_8 = 8, ITEMMODE_REPAIR = 9, ITEMMODE_IDENTIFY = 10, ITEMMODE_TO_GOLD = 11,
  ITEMMODE_INVALID = -1
}
 
enum  MessageWaitType { WT_FREEZE_WAIT = 0, WT_NONFREEZED_WAIT = 1, WT_LOC_WAIT = 2, WT_ANIMATED_WAIT = 3 }
 
enum  SpellDialogMode { SPELLS_DIALOG_BUY = 0, SPELLS_DIALOG_SELECT = 1, SPELLS_DIALOG_INFO = 0x80 }
 
enum  Justify { JUSTIFY_NONE = 0, JUSTIFY_CENTER = 1, JUSTIFY_RIGHT = 2 }
 
enum  Obscurity {
  OBSCURITY_BLACK = 0, OBSCURITY_3 = 1, OBSCURITY_2 = 2, OBSCURITY_1 = 3,
  OBSCURITY_NONE = 4
}
 
enum  IconsMode { ICONS_STANDARD = 0, ICONS_COMBAT = 1 }
 
enum  FallState { FALL_NONE = 0, FALL_IN_PROGRESS = 1, FALL_START = 2 }
 
enum  ItemCategory {
  CATEGORY_WEAPON = 0, CATEGORY_ARMOR = 1, CATEGORY_ACCESSORY = 2, CATEGORY_MISC = 3,
  NUM_ITEM_CATEGORIES = 4
}
 
enum  AttributeCategory {
  ATTR_MIGHT = 0, ATTR_INTELLECT = 1, ATTR_PERSONALITY = 2, ATTR_SPEED = 3,
  ATTR_ACCURACY = 4, ATTR_LUCK = 5, ATTR_HIT_POINTS = 6, ATTR_SPELL_POINTS = 7,
  ATTR_ARMOR_CLASS = 8, ATTR_THIEVERY = 9
}
 
enum  ElementalCategory {
  ELEM_FIRE = 0, ELEM_ELECTRICITY = 1, ELEM_COLD = 2, ELEM_ACID_POISON = 3,
  ELEM_ENERGY = 4, ELEM_MAGIC = 5
}
 
enum  WeaponId { XEEN_SLAYER_SWORD = 34 }
 
enum  Effectiveness {
  EFFECTIVE_NONE = 0, EFFECTIVE_DRAGON = 1, EFFECTIVE_UNDEAD = 2, EFFECTIVE_GOLEM = 3,
  EFFECTIVE_INSECT = 4, EFFEctIVE_MONSTERS = 5, EFFECTIVE_ANIMAL = 6
}
 
enum  LocationAction {
  BANK = 0, BLACKSMITH = 1, GUILD = 2, TAVERN = 3,
  TEMPLE = 4, TRAINING = 5, ARENA = 6, NO_ACTION = 7,
  REAPER = 8, GOLEM = 9, DWARF_MINE = 10, SPHINX = 11,
  PYRAMID = 12, DWARF_TOWN = 13
}
 
enum  MonsterType {
  MONSTER_MONSTERS = 0, MONSTER_ANIMAL = 1, MONSTER_INSECT = 2, MONSTER_HUMANOID = 3,
  MONSTER_UNDEAD = 4, MONSTER_GOLEM = 5, MONSTER_DRAGON = 6
}
 
enum  MapId { XEEN_CASTLE1 = 75, XEEN_CASTLE4 = 78 }
 
enum  MazeFlags {
  OUTFLAG_GRATE = 0x80, OUTFLAG_DRAIN = 0x20, OUTFLAG_OBJECT_EXISTS = 0x08, INFLAG_INSIDE = 0x08,
  FLAG_AUTOEXECUTE_EVENT = 0x10, RESTRICTION_ETHERIALIZE = 0x40, RESTRICTION_80 = 0x80, RESTRICTION_TOWN_PORTAL = 0x100,
  RESTRICTION_SUPER_SHELTER = 0x200, RESTRICTION_TIME_DISTORTION = 0x400, RESTRICTION_LLOYDS_BEACON = 0x800, RESTRICTION_TELPORT = 0x1000,
  RESTRICTION_2000 = 0x2000, RESTRICTION_REST = 0x4000, RESTRICTION_SAVE = 0x8000, FLAG_GROUND_BITS = 7
}
 
enum  MazeFlags2 { FLAG_IS_OUTDOORS = 0x8000, FLAG_IS_DARK = 0x4000 }
 
enum  SurfaceType {
  SURFTYPE_DEFAULT = 0, SURFTYPE_WATER = 0, SURFTYPE_DIRT = 1, SURFTYPE_GRASS = 2,
  SURFTYPE_SNOW = 3, SURFTYPE_SWAMP = 4, SURFTYPE_LAVA = 5, SURFTYPE_DESERT = 6,
  SURFTYPE_ROAD = 7, SURFTYPE_DWATER = 8, SURFTYPE_TFLR = 9, SURFTYPE_SKY = 10,
  SURFTYPE_CROAD = 11, SURFTYPE_SEWER = 12, SURFTYPE_CLOUD = 13, SURFTYPE_SCORCH = 14,
  SURFTYPE_SPACE = 15
}
 
enum  Direction {
  DIR_NORTH = 0, DIR_EAST = 1, DIR_SOUTH = 2, DIR_WEST = 3,
  DIR_ALL = 4
}
 
enum  Difficulty { ADVENTURER = 0, WARRIOR = 1 }
 
enum  ConsumableType { CONS_GOLD = 0, CONS_GEMS = 1, CONS_FOOD = 2, CONS_CONDITION = 3 }
 
enum  PartyBank { WHERE_PARTY = 0, WHERE_BANK = 1 }
 
enum  { kAutoSaveSlot = 0 }
 
enum  Opcode {
  OP_None = 0x00, OP_Display0x01 = 0x01, OP_DoorTextSml = 0x02, OP_DoorTextLrg = 0x03,
  OP_SignText = 0x04, OP_NPC = 0x05, OP_PlayFX = 0x06, OP_TeleportAndExit = 0x07,
  OP_If1 = 0x08, OP_If2 = 0x09, OP_If3 = 0x0A, OP_MoveObj = 0x0B,
  OP_TakeOrGive = 0x0C, OP_NoAction = 0x0D, OP_Remove = 0x0E, OP_SetChar = 0x0F,
  OP_Spawn = 0x10, OP_DoTownEvent = 0x11, OP_Exit = 0x12, OP_AfterMap = 0x13,
  OP_GiveMulti = 0x14, OP_ConfirmWord = 0x15, OP_Damage = 0x16, OP_JumpRnd = 0x17,
  OP_AfterEvent = 0x18, OP_CallEvent = 0x19, OP_Return = 0x1A, OP_SetVar = 0x1B,
  OP_TakeOrGive_2 = 0x1C, OP_TakeOrGive_3 = 0x1D, OP_CutsceneEndClouds = 0x1E, OP_TeleportAndContinue = 0x1F,
  OP_WhoWill = 0x20, OP_RndDamage = 0x21, OP_MoveWallObj = 0x22, OP_AlterCellFlag = 0x23,
  OP_AlterHed = 0x24, OP_DisplayStat = 0x25, OP_TakeOrGive_4 = 0x26, OP_SeatTextSml = 0x27,
  OP_PlayEventVoc = 0x28, OP_DisplayBottom = 0x29, OP_IfMapFlag = 0x2A, OP_SelectRandomChar = 0x2B,
  OP_GiveEnchanted = 0x2C, OP_ItemType = 0x2D, OP_MakeNothingHere = 0x2E, OP_NoAction_2 = 0x2F,
  OP_ChooseNumeric = 0x30, OP_DisplayBottomTwoLines = 0x31, OP_DisplayLarge = 0x32, OP_ExchObj = 0x33,
  OP_FallToMap = 0x34, OP_DisplayMain = 0x35, OP_Goto = 0x36, OP_ConfirmWord_2 = 0x37,
  OP_GotoRandom = 0x38, OP_CutsceneEndDarkside = 0x39, OP_CutsceneEdWorld = 0x3A, OP_FlipWorld = 0x3B,
  OP_PlayCD = 0x3C
}
 
enum  { SCRIPT_ABORT = -1, SCRIPT_RESET = -2 }
 
enum  MusicCommand { STOP_SONG = 0, RESTART_SONG = 1, SET_VOLUME = 0x100, GET_STATUS = 0xFFE0 }
 
enum  MagicSpell {
  MS_AcidSpray = 0, MS_Awaken = 1, MS_BeastMaster = 2, MS_Bless = 3,
  MS_Clairvoyance = 4, MS_ColdRay = 5, MS_CreateFood = 6, MS_CureDisease = 7,
  MS_CureParalysis = 8, MS_CurePoison = 9, MS_CureWounds = 10, MS_DancingSword = 11,
  MS_DayOfProtection = 12, MS_DayOfSorcery = 13, MS_DeadlySwarm = 14, MS_DetectMonster = 15,
  MS_DivineIntervention = 16, MS_DragonSleep = 17, MS_ElementalStorm = 18, MS_EnchantItem = 19,
  MS_EnergyBlast = 20, MS_Etheralize = 21, MS_FantasticFreeze = 22, MS_FieryFlail = 23,
  MS_FingerOfDeath = 24, MS_Fireball = 25, MS_FirstAid = 26, MS_FlyingFist = 27,
  MS_FrostBite = 28, MS_GolemStopper = 29, MS_Heroism = 30, MS_HolyBonus = 31,
  MS_HolyWord = 32, MS_Hynotize = 33, MS_IdentifyMonster = 34, MS_Implosion = 35,
  MS_Incinerate = 36, MS_Inferno = 37, MS_InsectSpray = 38, MS_ItemToGold = 39,
  MS_Jump = 40, MS_Levitate = 41, MS_Light = 42, MS_LightningBolt = 43,
  MS_LloydsBeacon = 44, MS_MagicArrow = 45, MS_MassDistortion = 46, MS_MegaVolts = 47,
  MS_MoonRay = 48, MS_NaturesCure = 49, MS_Pain = 50, MS_PoisonVolley = 51,
  MS_PowerCure = 52, MS_PowerShield = 53, MS_PrismaticLight = 54, MS_ProtFromElements = 55,
  MS_RaiseDead = 56, MS_RechargeItem = 57, MS_Resurrection = 58, MS_Revitalize = 59,
  MS_Shrapmetal = 60, MS_Sleep = 61, MS_Sparks = 62, MS_StarBurst = 63,
  MS_StoneToFlesh = 64, MS_SunRay = 65, MS_SuperShelter = 66, MS_SuppressDisease = 67,
  MS_SuppressPoison = 68, MS_Teleport = 69, MS_TimeDistortion = 70, MS_TownPortal = 71,
  MS_ToxicCloud = 72, MS_TurnUndead = 73, MS_WalkOnWater = 74, MS_WizardEye = 75,
  NO_SPELL = 76, TOTAL_SPELLS = 76
}
 
enum  { SCALE_MASK = 0x7FFF, SCALE_ENLARGE = 0x8000 }
 
enum  SpriteFlags {
  SPRFLAG_MODE_MASK = 0xF00, SPRFLAG_DRAWER1 = 0x100, SPRFLAG_DRAWER2 = 0x200, SPRFLAG_DRAWER3 = 0x300,
  SPRFLAG_DRAWER4 = 0x400, SPRFLAG_DRAWER5 = 0x500, SPRFLAG_DRAWER6 = 0x600, SPRFLAG_DRAWER7 = 0x700,
  SPRFLAG_800 = 0x800, SPRFLAG_SCENE_CLIPPED = 0x2000, SPRFLAG_BOTTOM_CLIPPED = 0x4000, SPRFLAG_HORIZ_FLIPPED = 0x8000,
  SPRFLAG_RESIZE = 0x10000
}
 
enum  XeenDebugChannels { kDebugPath = 1 << 0, kDebugScripts = 1 << 1, kDebugGraphics = 1 << 2, kDebugSound = 1 << 3 }
 
enum  Mode {
  MODE_FF = -1, MODE_STARTUP = 0, MODE_INTERACTIVE = 1, MODE_COMBAT = 2,
  MODE_3 = 3, MODE_4 = 4, MODE_SLEEPING = 5, MODE_6 = 6,
  MODE_7 = 7, MODE_8 = 8, MODE_SCRIPT_IN_PROGRESS = 9, MODE_CHARACTER_INFO = 10,
  MODE_INTERACTIVE2 = 12, MODE_DIALOG_123 = 13, MODE_INTERACTIVE7 = 17, MODE_86 = 86
}
 
enum  GameMode {
  GMODE_NONE = 0, GMODE_STARTUP = 1, GMODE_MENU = 2, GMODE_PLAY_GAME = 3,
  GMODE_QUIT = 4
}
 

Variables

Resourcesg_resources
 
XeenEngineg_vm
 

Detailed Description

This is the namespace of the Xeen engine.

Status of this engine: In Development

Games using this engine:

  • Might & Magic 4: Clouds of Xeen
  • Might & Magic 5: Darkside of Xeen
  • Might & Magic: World of Xeen
  • Might & Magic: Swords of Xeen

Typedef Documentation

◆ BlacksmithItems

typedef XeenItem Xeen::BlacksmithItems[2][4][INV_ITEMS_TOTAL]

Each side of Xeen supports 4 blacksmith inventories of up to 9 items each