ScummVM API documentation
Draci Namespace Reference

Classes

class  Animation
 
class  AnimationManager
 
struct  BAFile
 
class  BArchive
 
struct  Dialogue
 
struct  Displacement
 
class  DraciConsole
 
class  DraciEngine
 
struct  DraciSavegameHeader
 
class  Drawable
 
class  Font
 
class  Game
 
struct  GameInfo
 
class  GameItem
 
class  GameObject
 
struct  GPL2Command
 
struct  GPL2Function
 
struct  GPL2Operator
 
struct  GPL2Program
 
class  LegacySoundArchive
 
class  Mouse
 
class  MusicPlayer
 
struct  Person
 
class  Room
 
class  Screen
 
class  Script
 
struct  SndHandle
 
class  Sound
 
class  SoundArchive
 
struct  SoundSample
 
class  Sprite
 
class  Surface
 
class  Text
 
class  WalkingMap
 
class  WalkingState
 
class  ZipSoundArchive
 

Typedefs

typedef void(Script::* GPLHandler) (const Common::Array< int > &)
 
typedef int(Script::* GPLOperatorHandler) (int, int) const
 
typedef int(Script::* GPLFunctionHandler) (int) const
 
typedef Common::Array< Common::PointWalkingPath
 

Enumerations

enum  {
  kOverlayImage = -1, kWalkingMapOverlay = -2, kWalkingShortestPathOverlay = -3, kWalkingObliquePathOverlay = -4,
  kTitleText = -5, kSpeechText = -6, kInventorySprite = -7, kDialogueLinesID = -8,
  kUnused = -12, kInventoryItemsID = -13
}
 
enum  { kIgnoreIndex = -2 }
 
enum  DRACIAction {
  kActionNone, kActionEscape, kActionMap, kActionShowWalkMap,
  kActionToggleWalkSpeed, kActionInventory, kActionOpenMainMenu, kActionTogglePointerItem,
  kActionInvRotatePrevious, kActionInvRotateNext
}
 
enum  {
  kDraciGeneralDebugLevel = 1 << 0, kDraciBytecodeDebugLevel = 1 << 1, kDraciArchiverDebugLevel = 1 << 2, kDraciLogicDebugLevel = 1 << 3,
  kDraciAnimationDebugLevel = 1 << 4, kDraciSoundDebugLevel = 1 << 5, kDraciWalkingDebugLevel = 1 << 6
}
 
enum  {
  kFontColor1 = 2, kFontColor2 = 0, kFontColor3 = 3, kFontColor4 = 4,
  kOverFontColor = 255, kTitleColor = 255, kLineActiveColor = 254, kLineInactiveColor = 255
}
 
enum  { kDragonObject = 0 }
 
enum  { kDialogueLines = 4 }
 
enum  { kBlackPalette = -1 }
 
enum  { kMouseEnableSwitching = -1, kMouseDoNotSwitch = -2 }
 
enum  SpeechConstants { kBaseSpeechDuration = 12000, kSpeechTimeUnit = 2640, kStandardSpeed = 60 }
 
enum  FadeConstants { kFadingTimeUnit = 50, kBlackFadingIterations = 15, kBlackFadingTimeUnit = 7 }
 
enum  AnimationConstants { kTimeUnit = 20 }
 
enum  InventoryConstants {
  kInventoryItemWidth = 25, kInventoryItemHeight = 25, kInventoryColumns = 7, kInventoryLines = 5,
  kInventoryX = 70, kInventoryY = 30, kInventorySlots = kInventoryLines * kInventoryColumns, kStatusChangeTimeout = 500
}
 
enum  LoopStatus { kStatusOrdinary, kStatusGate, kStatusInventory, kStatusDialogue }
 
enum  LoopSubstatus {
  kOuterLoop, kInnerWhileTalk, kInnerWhileFade, kInnerDuringDialogue,
  kInnerUntilExit
}
 
enum  CursorType {
  kNormalCursor, kArrowCursor1, kArrowCursor2, kArrowCursor3,
  kArrowCursor4, kDialogueCursor, kHighlightedCursor, kMainMenuCursor,
  kUninitializedCursor = 100, kItemCursor
}
 
enum  ScreenParameters { kScreenWidth = 320, kScreenHeight = 200, kNumColors = 256, kDefaultTransparent = 255 }
 
enum  { kMaxParams = 3, kNumCommands = 55 }
 
enum  GPL2ParameterType { kGPL2Num = 1, kGPL2Str = 2, kGPL2Ident = 3, kGPL2Math = 4 }
 
enum  SoundFormat {
  RAW, RAW80, MP3, OGG,
  FLAC
}
 
enum  sndHandleType { kFreeHandle, kEffectHandle, kVoiceHandle }
 
enum  DrawableType { kDrawableText, kDrawableSprite }
 
enum  SightDirection {
  kDirectionLast, kDirectionMouse, kDirectionUnknown, kDirectionRight,
  kDirectionLeft, kDirectionIntelligent
}
 
enum  Movement {
  kMoveUndefined = -1, kMoveDown, kMoveUp, kMoveRight,
  kMoveLeft, kFirstTurning, kMoveRightDown = kFirstTurning, kMoveRightUp,
  kMoveLeftDown, kMoveLeftUp, kMoveDownRight, kMoveUpRight,
  kMoveDownLeft, kMoveUpLeft, kMoveLeftRight, kMoveRightLeft,
  kMoveUpStopLeft, kMoveUpStopRight, kLastTurning = kMoveUpStopRight, kSpeakRight,
  kSpeakLeft, kStopRight, kStopLeft, kFirstTemporaryAnimation
}
 

Functions

WARN_UNUSED_RESULT bool readSavegameHeader (Common::InSaveFile *in, DraciSavegameHeader &header, bool skipThumbnail=true)
 
void writeSavegameHeader (Common::OutSaveFile *out, const DraciSavegameHeader &header)
 
Common::Error saveSavegameData (int saveGameIdx, const Common::String &saveName, DraciEngine &vm)
 
Common::Error loadSavegameData (int saveGameIdx, DraciEngine *vm)
 

Variables

const char *const kFontSmall
 
const char *const kFontBig
 
const Displacement kNoDisplacement
 

Detailed Description

This is the namespace of the Draci engine.

Status of this engine: Complete

Games using this engine:

  • Dragon History

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Animation IDs for those animations that don't have their IDs specified in the data files.

◆ anonymous enum

anonymous enum

Used by overlays as a neutral index that won't get released with the GPL Release command.

◆ anonymous enum

anonymous enum

Default font colors. They all seem to remain constant except for the first one which varies depending on the character speaking. kOverFontColor is set to transparent.

◆ InventoryConstants

Inventory related magical constants

Enumerator
kInventoryX 

Used for positioning of the inventory sprite on the X axis.

kInventoryY 

Used for positioning of the inventory sprite on the Y axis.

◆ anonymous enum

anonymous enum
Enumerator
kMaxParams 

The maximum number of parameters for a GPL command

◆ GPL2ParameterType

Represents a single command in the GPL scripting language bytecode. Each command is represented in the bytecode by a command number and a subnumber.

◆ Movement

Enumerates the animations for the dragon's movement.