ScummVM API documentation
Common Namespace Reference

Classes

struct  AchievementDescription
 
struct  AchievementDescriptionList
 
struct  AchievementsInfo
 
class  AchievementsManager
 
struct  Action
 
struct  AddConst
 
class  Archive
 
class  ArchiveMember
 
struct  ArchiveMemberDetails
 
struct  ArchiveMemberListComparator
 
class  Array
 
struct  ArrayDeleter
 
class  ArtificialEventSource
 
struct  AxisTableEntry
 
class  BaseCallback
 
class  BasePtrTrackerDeletionImpl
 
class  BasePtrTrackerImpl
 
class  BasePtrTrackerInternal
 
class  BaseString
 
struct  BinaryFunction
 
class  Binder1st
 
class  Binder2nd
 
class  BitArray
 
class  BitStreamImpl
 
class  BitStreamMemoryStream
 
class  Callback
 
class  CallbackBridge
 
struct  CaseSensitiveString_EqualTo
 
struct  CaseSensitiveString_Hash
 
class  ClickteamInstaller
 
class  CompositeHardwareInputSet
 
class  ConcatReadStream
 
struct  Conditional
 
struct  Conditional< false, T, U >
 
class  ConfigManager
 
class  ConstMemFunc0
 
class  ConstMemFunc1
 
class  ConstMemFuncRef0
 
class  ConstMemFuncRef1
 
struct  CoroBaseContext
 
class  CoroContextHolder
 
class  CoroutineScheduler
 
class  CRC16
 
class  CRC16_Slow
 
class  CRC32
 
class  CRC32_Slow
 
class  CRC_BINHEX
 
class  CRC_BINHEX_Slow
 
class  CRC_CCITT
 
class  CRC_CCITT_Slow
 
class  CRCNormal
 
class  CRCReflected
 
class  CRCSlow
 
class  CueSheet
 
class  CustomHardwareInputSet
 
class  DataBlock
 
struct  DataFormatTraits
 
struct  DataFormatTraits< EndianStorageFormat >
 
struct  DataFormatTraits< MTropolis::Data::DataFormat >
 
struct  DataIO
 
struct  DataIO< MTropolis::Data::DataFormat, Common::XPFloat >
 
struct  DataIO< TDataFormat, char >
 
struct  DataIO< TDataFormat, double >
 
struct  DataIO< TDataFormat, float >
 
struct  DataIO< TDataFormat, int16 >
 
struct  DataIO< TDataFormat, int32 >
 
struct  DataIO< TDataFormat, int64 >
 
struct  DataIO< TDataFormat, int8 >
 
struct  DataIO< TDataFormat, uint16 >
 
struct  DataIO< TDataFormat, uint32 >
 
struct  DataIO< TDataFormat, uint64 >
 
struct  DataIO< TDataFormat, uint8 >
 
struct  DataMultipleIO
 
struct  DataMultipleIO< TDataFormat, T >
 
struct  DataMultipleIO< TDataFormat, T[TSize]>
 
class  DBCSString
 
class  DebugManager
 
struct  DefaultDeleter
 
class  DelayedEventSource
 
class  DialogManager
 
class  DiskImage
 
class  DisposablePtr
 
class  DumpFile
 
struct  EqualTo
 
class  Error
 
struct  Event
 
struct  EVENT
 
class  EventDispatcher
 
class  EventManager
 
class  EventMapper
 
class  EventObserver
 
class  EventSource
 
class  File
 
class  Files
 
class  Files_AppleDOS
 
class  Files_Plain
 
class  FixedSizeMemoryPool
 
class  FixedSizeMemoryPool< CHUNK_SIZE, 0 >
 
class  FixedStack
 
class  FSDirectory
 
class  FSList
 
class  FSNode
 
struct  Functor0
 
class  Functor0Mem
 
struct  Functor1
 
class  Functor1Mem
 
struct  Functor2
 
class  Functor2Fun
 
class  Functor2Mem
 
class  GenericArchiveMember
 
class  GlobalFunctionCallback
 
struct  Greater
 
struct  HardwareInput
 
struct  HardwareInput_EqualTo
 
struct  HardwareInput_Hash
 
class  HardwareInputSet
 
struct  HardwareInputTableEntry
 
struct  Hash
 
struct  Hash< AGS3::AGS::Shared::String >
 
struct  Hash< bool >
 
struct  Hash< char >
 
struct  Hash< Common::u32char_type_t >
 
struct  Hash< const char * >
 
struct  Hash< CryOmni3D::Versailles::PlaceActionKey >
 
struct  Hash< CryOmni3D::Versailles::PlaceStateActionKey >
 
struct  Hash< Director::CastMemberID >
 
struct  Hash< int >
 
struct  Hash< long >
 
struct  Hash< short >
 
struct  Hash< signed char >
 
struct  Hash< String >
 
struct  Hash< T * >
 
struct  Hash< Tetraedge::KernChars >
 
struct  Hash< Twp::Facing >
 
struct  Hash< Twp::KerningKey >
 
struct  Hash< U32String >
 
struct  Hash< unsigned char >
 
struct  Hash< unsigned int >
 
struct  Hash< unsigned long >
 
struct  Hash< unsigned short >
 
struct  Hash< void * >
 
struct  Hash< Wintermute::SystemClass * >
 
struct  Hash< Wintermute::SystemInstance * >
 
class  HashMap
 
class  Huffman
 
struct  Identity
 
struct  IFFChunk
 
class  IFFParser
 
struct  IgnoreCase_EqualTo
 
struct  IgnoreCase_Hash
 
class  INIFile
 
class  InputWatcher
 
class  InstallShieldV3
 
class  JoystickHardwareInputSet
 
struct  JoystickState
 
class  JSON
 
class  JSONValue
 
struct  KeyActionEntry
 
class  KeyboardHardwareInputSet
 
class  Keymap
 
class  Keymapper
 
class  KeymapperDefaultBindings
 
class  KeymapTypeEnabler
 
struct  KeyState
 
struct  KeyTableEntry
 
struct  LanguageDescription
 
struct  Less
 
class  List
 
struct  MacFinderExtendedInfo
 
struct  MacFinderExtendedInfoData
 
struct  MacFinderInfo
 
struct  MacFinderInfoData
 
class  MacResManager
 
class  MainTranslationManager
 
class  MemcachingCaseInsensitiveArchive
 
class  MemFunc0
 
class  MemFunc1
 
class  MemFuncRef0
 
class  MemFuncRef1
 
class  MemoryPool
 
class  MemoryReadStream
 
class  MemoryReadStreamEndian
 
class  MemoryReadWriteStream
 
class  MemorySeekableReadWriteStream
 
class  MemoryWriteStream
 
class  MemoryWriteStreamDynamic
 
struct  ModifierTableEntry
 
class  MouseHardwareInputSet
 
class  MultiMap
 
class  Mutex
 
class  MutexInternal
 
class  NamedSpan
 
class  NamedSpanImpl
 
class  NEResources
 
class  NonCopyable
 
class  ObjectPool
 
class  OSDMessageQueue
 
class  OutSaveFile
 
class  PackBitsReadStream
 
struct  Pair
 
struct  PairFirst
 
class  Path
 
class  PEResources
 
struct  PlatformDescription
 
class  PlaybackFile
 
struct  Point
 
class  PointerToBinaryFunc
 
class  PointerToUnaryFunc
 
struct  PoMessageEntry
 
class  PowerPackerStream
 
struct  PROCESS
 
class  ProDOSDisk
 
class  ProDOSFile
 
class  Queue
 
class  QuickTimeParser
 
class  RandomSource
 
class  Rational
 
class  RBTree
 
class  ReadStream
 
class  ReadStreamEndian
 
struct  RecorderEvent
 
struct  Rect
 
class  RemapWidget
 
struct  remove_const
 
struct  remove_const< const T >
 
struct  remove_cv
 
struct  remove_cv< const T >
 
struct  remove_cv< const volatile T >
 
struct  remove_cv< volatile T >
 
struct  remove_reference
 
struct  remove_reference< T & >
 
struct  remove_reference< T && >
 
struct  remove_volatile
 
struct  remove_volatile< volatile T >
 
struct  RemoveConst
 
struct  RemoveConst< const T >
 
struct  RenderModeDescription
 
class  RncDecoder
 
struct  RotationModeDescription
 
struct  SafeBool
 
class  SafeMutexedSeekableSubReadStream
 
class  SafeSeekableSubReadStream
 
class  SaveFileManager
 
class  ScopedPtr
 
struct  SDCallbacks
 
struct  SDDataBuffer
 
class  SDMarkdown
 
struct  SDStack
 
class  SearchManager
 
class  SearchSet
 
class  SeekableMemoryWriteStream
 
class  SeekableReadStream
 
class  SeekableReadStreamEndian
 
class  SeekableReadStreamEndianWrapper
 
class  SeekableSubReadStream
 
class  SeekableWriteStream
 
class  Serializable
 
class  Serializer
 
class  SharedArchiveContents
 
class  SharedPtr
 
struct  SimpleDataIO
 
class  Singleton
 
class  SortedArray
 
class  Span
 
class  SpanBase
 
class  SpanImpl
 
class  SpanOwner
 
class  StableMap
 
class  Stack
 
class  StackLock
 
struct  StatDescription
 
class  Stream
 
class  StreamDebug
 
class  String
 
class  StringTokenizer
 
class  SubReadStream
 
class  TextToSpeechManager
 
class  TimerManager
 
struct  TLanguage
 
class  TranslationManager
 
struct  TTSState
 
class  TTSVoice
 
class  U32String
 
class  U32StringTokenizer
 
class  UnalignedPtr
 
struct  UnaryFunction
 
class  UnicodeBiDiText
 
class  VirtualMouse
 
class  WeakPtr
 
class  WinResourceID
 
struct  WinResourceID_EqualTo
 
struct  WinResourceID_Hash
 
class  WinResources
 
class  WriteStream
 
class  XMLParser
 
struct  XPFloat
 

Typedefs

typedef SharedPtr< ArchiveMemberArchiveMemberPtr
 
typedef List< ArchiveMemberPtrArchiveMemberList
 
typedef List< ArchiveMemberDetailsArchiveMemberDetailsList
 
typedef CoroBaseContextCoroContext
 
typedef void(* CORO_ADDR) (CoroContext &, const void *)
 
typedef PROCESSPPROCESS
 
typedef uint32 CustomEventType
 
typedef Common::SharedPtr< DataBlockDataBlockPtr
 
typedef Common::ScopedPtr< Common::SeekableReadStreamStreamPtr
 
typedef uint32 IFF_ID
 
typedef Array< JSONValue * > JSONArray
 
typedef HashMap< String, JSONValue * > JSONObject
 
typedef HashMap< String, String, IgnoreCase_Hash, IgnoreCase_EqualToStringMap
 
typedef void(* LogWatcher) (LogMessageType::Type type, int level, uint32 debugChannels, const char *message)
 
typedef Array< uint16 > MacResIDArray
 
typedef Array< uint32 > MacResTagArray
 
typedef SeekableReadStream InSaveFile
 
typedef Array< StringStringArray
 
typedef Array< U32StringU32StringArray
 
typedef Array< Keymap * > KeymapArray
 
typedef void(* OutputFormatter) (char *dst, const char *src, size_t dstSize)
 
typedef bool(* ErrorHandler) (const char *msg)
 
typedef Array< TLanguageTLangArray
 
typedef char32_t u32char_type_t
 
template<class T >
using remove_cv_t = typename remove_cv< T >::type
 
template<class T >
using remove_const_t = typename remove_const< T >::type
 
template<class T >
using remove_volatile_t = typename remove_volatile< T >::type
 
template<class T >
using remove_reference_t = typename remove_reference< T >::type
 
typedef uint32 HardwareInputCode
 
Typedefs for various memory layouts
typedef BitStreamImpl< SeekableReadStream, uint64, 8, false, true > BitStream8MSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 8, false, false > BitStream8LSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 16, true, true > BitStream16LEMSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 16, true, false > BitStream16LELSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 16, false, true > BitStream16BEMSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 16, false, false > BitStream16BELSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 32, true, true > BitStream32LEMSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 32, true, false > BitStream32LELSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 32, false, true > BitStream32BEMSB
 
typedef BitStreamImpl< SeekableReadStream, uint64, 32, false, false > BitStream32BELSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 8, false, true > BitStreamMemory8MSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 8, false, false > BitStreamMemory8LSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 16, true, true > BitStreamMemory16LEMSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 16, true, false > BitStreamMemory16LELSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 16, false, true > BitStreamMemory16BEMSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 16, false, false > BitStreamMemory16BELSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 32, true, true > BitStreamMemory32LEMSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 32, true, false > BitStreamMemory32LELSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 32, false, true > BitStreamMemory32BEMSB
 
typedef BitStreamImpl< BitStreamMemoryStream, uint64, 32, false, false > BitStreamMemory32BELSB
 

Enumerations

enum  AltStreamType { Invalid, MacFinderInfo, MacResourceFork }
 
enum  EndianStorageFormat { Big, Little }
 
enum  ErrorCode {
  kNoError = 0, kNoGameDataFoundError, kUnsupportedGameidError, kUnsupportedColorMode,
  kAudioDeviceInitFailed, kReadPermissionDenied, kWritePermissionDenied, kPathDoesNotExist,
  kPathNotDirectory, kPathNotFile, kCreatingFileFailed, kReadingFailed,
  kWritingFailed, kMetaEnginePluginNotFound, kEnginePluginNotFound, kEnginePluginNotSupportSaves,
  kUserCanceled, kUnknownError
}
 
enum  EventType {
  EVENT_INVALID = 0, EVENT_KEYDOWN = 1, EVENT_KEYUP = 2, EVENT_MOUSEMOVE = 3,
  EVENT_LBUTTONDOWN = 4, EVENT_LBUTTONUP = 5, EVENT_RBUTTONDOWN = 6, EVENT_RBUTTONUP = 7,
  EVENT_WHEELUP = 8, EVENT_WHEELDOWN = 9, EVENT_MBUTTONDOWN = 13, EVENT_MBUTTONUP = 14,
  EVENT_MAINMENU = 15, EVENT_RETURN_TO_LAUNCHER = 16, EVENT_MUTE = 17, EVENT_QUIT = 10,
  EVENT_SCREEN_CHANGED = 11, EVENT_INPUT_CHANGED = 35, EVENT_PREDICTIVE_DIALOG = 12, EVENT_CUSTOM_BACKEND_ACTION_START = 18,
  EVENT_CUSTOM_BACKEND_ACTION_END = 19, EVENT_CUSTOM_BACKEND_ACTION_AXIS = 34, EVENT_CUSTOM_ENGINE_ACTION_START = 20, EVENT_CUSTOM_ENGINE_ACTION_END = 21,
  EVENT_VIRTUAL_KEYBOARD = 22, EVENT_DROP_FILE = 23, EVENT_JOYAXIS_MOTION = 24, EVENT_JOYBUTTON_DOWN = 25,
  EVENT_JOYBUTTON_UP = 26, EVENT_CLIPBOARD_UPDATE = 27, EVENT_CUSTOM_BACKEND_HARDWARE = 28, EVENT_DEBUGGER = 29,
  EVENT_X1BUTTONDOWN = 30, EVENT_X1BUTTONUP = 31, EVENT_X2BUTTONDOWN = 32, EVENT_X2BUTTONUP = 33,
  EVENT_FOCUS_GAINED = 36, EVENT_FOCUS_LOST = 37
}
 
enum  JoystickButton {
  JOYSTICK_BUTTON_INVALID, JOYSTICK_BUTTON_A, JOYSTICK_BUTTON_B, JOYSTICK_BUTTON_X,
  JOYSTICK_BUTTON_Y, JOYSTICK_BUTTON_BACK, JOYSTICK_BUTTON_GUIDE, JOYSTICK_BUTTON_START,
  JOYSTICK_BUTTON_LEFT_STICK, JOYSTICK_BUTTON_RIGHT_STICK, JOYSTICK_BUTTON_LEFT_SHOULDER, JOYSTICK_BUTTON_RIGHT_SHOULDER,
  JOYSTICK_BUTTON_DPAD_UP, JOYSTICK_BUTTON_DPAD_DOWN, JOYSTICK_BUTTON_DPAD_LEFT, JOYSTICK_BUTTON_DPAD_RIGHT,
  JOYSTICK_BUTTON_DPAD_CENTER
}
 
enum  JoystickAxis {
  JOYSTICK_AXIS_LEFT_STICK_X, JOYSTICK_AXIS_LEFT_STICK_Y, JOYSTICK_AXIS_RIGHT_STICK_X, JOYSTICK_AXIS_RIGHT_STICK_Y,
  JOYSTICK_AXIS_LEFT_TRIGGER, JOYSTICK_AXIS_RIGHT_TRIGGER, JOYSTICK_AXIS_HAT_X, JOYSTICK_AXIS_HAT_Y
}
 
enum  MouseButton {
  MOUSE_BUTTON_LEFT = 0, MOUSE_BUTTON_RIGHT = 1, MOUSE_BUTTON_MIDDLE = 2, MOUSE_WHEEL_UP = 3,
  MOUSE_WHEEL_DOWN = 4, MOUSE_BUTTON_X1 = 5, MOUSE_BUTTON_X2 = 6
}
 
enum  DiskImageEncoding { DiskImageEncodingNone, DiskImageEncodingNib, DiskImageEncodingWoz }
 
enum  JSONType {
  JSONType_Null, JSONType_String, JSONType_Bool, JSONType_Number,
  JSONType_IntegerNumber, JSONType_Array, JSONType_Object
}
 
enum  MKDAutolink { MKDA_NOT_AUTOLINK, MKDA_NORMAL, MKDA_EMAIL }
 
enum  mkd_tableflags {
  MKD_TABLE_ALIGN_L = 1, MKD_TABLE_ALIGN_R = 2, MKD_TABLE_ALIGN_CENTER = 3, MKD_TABLE_ALIGNMASK = 3,
  MKD_TABLE_HEADER = 4
}
 
enum  mkd_extensions {
  MKDEXT_NO_INTRA_EMPHASIS = (1 << 0), MKDEXT_TABLES = (1 << 1), MKDEXT_FENCED_CODE = (1 << 2), MKDEXT_AUTOLINK = (1 << 3),
  MKDEXT_STRIKETHROUGH = (1 << 4), MKDEXT_SPACE_HEADERS = (1 << 6), MKDEXT_SUPERSCRIPT = (1 << 7), MKDEXT_LAX_SPACING = (1 << 8)
}
 
enum  FileType : char {
  kFileTypeDead = 0, kFileTypeSeed = 1, kFileTypeSapling = 2, kFileTypeTree = 3,
  kFileTypePascal = 4, kFileTypeSubDir = 0x0D, kFileTypeSubHead = 0x0E, kFileTypeVolHead = 0x0F
}
 
enum  FileExt {
  kFileExtNull = 0, kFileExtBad = 1, kFileExtTxt = 4, kFileExtBin = 6,
  kFileExtGfx = 8, kFileExtDir = 0xF, kFileExtDB = 0x19, kFileExtWord = 0x1A,
  kFileExtSpread = 0x1B, kFileExtSTART = 0xB3, kFileExtPascal = 0xEF, kFileExtPDCI = 0xF0,
  kFileExtPDRes = 0xF9, kFileExtIBProg = 0xFA, kFileExtIBVar = 0xFB, kFileExtAPSProg = 0xFC,
  kFileExtAPSVar = 0xFD, kFileExtEDASM = 0xFE, kFileExtSYS = 0xFF
}
 
enum  WinResourceType {
  kWinCursor = 0x01, kWinBitmap = 0x02, kWinIcon = 0x03, kWinMenu = 0x04,
  kWinDialog = 0x05, kWinString = 0x06, kWinFontDir = 0x07, kWinFont = 0x08,
  kWinAccelerator = 0x09, kWinRCData = 0x0A, kWinMessageTable = 0x0B, kWinGroupCursor = 0x0C,
  kWinGroupIcon = 0x0E, kWinNameTable = 0x0F, kWinVersion = 0x10, kWinDlgInclude = 0x11,
  kWinPlugPlay = 0x13, kWinVXD = 0x14, kWinAniCursor = 0x15, kWinAniIcon = 0x16,
  kWinHTML = 0x17, kWinManifest = 0x18
}
 
enum  KeyCode {
  KEYCODE_INVALID = 0, KEYCODE_BACKSPACE = 8, KEYCODE_TAB = 9, KEYCODE_CLEAR = 12,
  KEYCODE_RETURN = 13, KEYCODE_PAUSE = 19, KEYCODE_ESCAPE = 27, KEYCODE_SPACE = 32,
  KEYCODE_EXCLAIM = 33, KEYCODE_QUOTEDBL = 34, KEYCODE_HASH = 35, KEYCODE_DOLLAR = 36,
  KEYCODE_PERCENT = 37, KEYCODE_AMPERSAND = 38, KEYCODE_QUOTE = 39, KEYCODE_LEFTPAREN = 40,
  KEYCODE_RIGHTPAREN = 41, KEYCODE_ASTERISK = 42, KEYCODE_PLUS = 43, KEYCODE_COMMA = 44,
  KEYCODE_MINUS = 45, KEYCODE_PERIOD = 46, KEYCODE_SLASH = 47, KEYCODE_0 = 48,
  KEYCODE_1 = 49, KEYCODE_2 = 50, KEYCODE_3 = 51, KEYCODE_4 = 52,
  KEYCODE_5 = 53, KEYCODE_6 = 54, KEYCODE_7 = 55, KEYCODE_8 = 56,
  KEYCODE_9 = 57, KEYCODE_COLON = 58, KEYCODE_SEMICOLON = 59, KEYCODE_LESS = 60,
  KEYCODE_EQUALS = 61, KEYCODE_GREATER = 62, KEYCODE_QUESTION = 63, KEYCODE_AT = 64,
  KEYCODE_LEFTBRACKET = 91, KEYCODE_BACKSLASH = 92, KEYCODE_RIGHTBRACKET = 93, KEYCODE_CARET = 94,
  KEYCODE_UNDERSCORE = 95, KEYCODE_BACKQUOTE = 96, KEYCODE_a = 97, KEYCODE_b = 98,
  KEYCODE_c = 99, KEYCODE_d = 100, KEYCODE_e = 101, KEYCODE_f = 102,
  KEYCODE_g = 103, KEYCODE_h = 104, KEYCODE_i = 105, KEYCODE_j = 106,
  KEYCODE_k = 107, KEYCODE_l = 108, KEYCODE_m = 109, KEYCODE_n = 110,
  KEYCODE_o = 111, KEYCODE_p = 112, KEYCODE_q = 113, KEYCODE_r = 114,
  KEYCODE_s = 115, KEYCODE_t = 116, KEYCODE_u = 117, KEYCODE_v = 118,
  KEYCODE_w = 119, KEYCODE_x = 120, KEYCODE_y = 121, KEYCODE_z = 122,
  KEYCODE_DELETE = 127, KEYCODE_TILDE = 176, KEYCODE_KP0 = 256, KEYCODE_KP1 = 257,
  KEYCODE_KP2 = 258, KEYCODE_KP3 = 259, KEYCODE_KP4 = 260, KEYCODE_KP5 = 261,
  KEYCODE_KP6 = 262, KEYCODE_KP7 = 263, KEYCODE_KP8 = 264, KEYCODE_KP9 = 265,
  KEYCODE_KP_PERIOD = 266, KEYCODE_KP_DIVIDE = 267, KEYCODE_KP_MULTIPLY = 268, KEYCODE_KP_MINUS = 269,
  KEYCODE_KP_PLUS = 270, KEYCODE_KP_ENTER = 271, KEYCODE_KP_EQUALS = 272, KEYCODE_UP = 273,
  KEYCODE_DOWN = 274, KEYCODE_RIGHT = 275, KEYCODE_LEFT = 276, KEYCODE_INSERT = 277,
  KEYCODE_HOME = 278, KEYCODE_END = 279, KEYCODE_PAGEUP = 280, KEYCODE_PAGEDOWN = 281,
  KEYCODE_F1 = 282, KEYCODE_F2 = 283, KEYCODE_F3 = 284, KEYCODE_F4 = 285,
  KEYCODE_F5 = 286, KEYCODE_F6 = 287, KEYCODE_F7 = 288, KEYCODE_F8 = 289,
  KEYCODE_F9 = 290, KEYCODE_F10 = 291, KEYCODE_F11 = 292, KEYCODE_F12 = 293,
  KEYCODE_F13 = 294, KEYCODE_F14 = 295, KEYCODE_F15 = 296, KEYCODE_F16 = 297,
  KEYCODE_F17 = 298, KEYCODE_F18 = 299, KEYCODE_NUMLOCK = 300, KEYCODE_CAPSLOCK = 301,
  KEYCODE_SCROLLOCK = 302, KEYCODE_RSHIFT = 303, KEYCODE_LSHIFT = 304, KEYCODE_RCTRL = 305,
  KEYCODE_LCTRL = 306, KEYCODE_RALT = 307, KEYCODE_LALT = 308, KEYCODE_RMETA = 309,
  KEYCODE_LMETA = 310, KEYCODE_LSUPER = 311, KEYCODE_RSUPER = 312, KEYCODE_MODE = 313,
  KEYCODE_COMPOSE = 314, KEYCODE_HELP = 315, KEYCODE_PRINT = 316, KEYCODE_SYSREQ = 317,
  KEYCODE_BREAK = 318, KEYCODE_MENU = 319, KEYCODE_POWER = 320, KEYCODE_EURO = 321,
  KEYCODE_UNDO = 322, KEYCODE_SLEEP = 323, KEYCODE_MUTE = 324, KEYCODE_EJECT = 325,
  KEYCODE_VOLUMEUP = 326, KEYCODE_VOLUMEDOWN = 327, KEYCODE_LEFTSOFT = 328, KEYCODE_RIGHTSOFT = 329,
  KEYCODE_CALL = 330, KEYCODE_HANGUP = 331, KEYCODE_CAMERA = 332, KEYCODE_WWW = 333,
  KEYCODE_MAIL = 334, KEYCODE_CALCULATOR = 335, KEYCODE_CUT = 336, KEYCODE_COPY = 337,
  KEYCODE_PASTE = 338, KEYCODE_SELECT = 339, KEYCODE_CANCEL = 340, KEYCODE_AC_SEARCH = 341,
  KEYCODE_AC_HOME = 342, KEYCODE_AC_BACK = 343, KEYCODE_AC_FORWARD = 344, KEYCODE_AC_STOP = 345,
  KEYCODE_AC_REFRESH = 346, KEYCODE_AC_BOOKMARKS = 347, KEYCODE_AUDIONEXT = 348, KEYCODE_AUDIOPREV = 349,
  KEYCODE_AUDIOSTOP = 350, KEYCODE_AUDIOPLAY = 351, KEYCODE_AUDIOPAUSE = 352, KEYCODE_AUDIOPLAYPAUSE = 353,
  KEYCODE_AUDIOMUTE = 354, KEYCODE_AUDIOREWIND = 355, KEYCODE_AUDIOFASTFORWARD = 356, KEYCODE_LAST
}
 
enum  {
  ASCII_BACKSPACE = 8, ASCII_TAB = 9, ASCII_RETURN = 13, ASCII_ESCAPE = 27,
  ASCII_SPACE = 32, ASCII_F1 = 315, ASCII_F2 = 316, ASCII_F3 = 317,
  ASCII_F4 = 318, ASCII_F5 = 319, ASCII_F6 = 320, ASCII_F7 = 321,
  ASCII_F8 = 322, ASCII_F9 = 323, ASCII_F10 = 324, ASCII_F11 = 325,
  ASCII_F12 = 326
}
 
enum  {
  KBD_CTRL = 1 << 0, KBD_ALT = 1 << 1, KBD_SHIFT = 1 << 2, KBD_META = 1 << 3,
  KBD_NON_STICKY = (KBD_CTRL|KBD_ALT|KBD_SHIFT|KBD_META), KBD_NUM = 1 << 4, KBD_CAPS = 1 << 5, KBD_SCRL = 1 << 6,
  KBD_STICKY = (KBD_NUM|KBD_CAPS|KBD_SCRL)
}
 
enum  Language : int8 {
  AR_ARB, BG_BUL, CA_ESP, CS_CZE,
  DA_DNK, DE_DEU, EL_GRC, EN_ANY,
  EN_GRB, EN_USA, ES_ESP, EU_ESP,
  ET_EST, FA_IRN, FI_FIN, FR_FRA,
  HE_ISR, HR_HRV, HU_HUN, IT_ITA,
  JA_JPN, KO_KOR, LT_LTU, LV_LVA,
  NL_BEL, NL_NLD, NB_NOR, PL_POL,
  PT_BRA, PT_PRT, RU_RUS, SE_SWE,
  SK_SVK, SR_SRB, TR_TUR, UA_UKR,
  ZH_ANY, ZH_CHN, ZH_TWN, UNK_LANG = -1
}
 
enum  Platform : int8 {
  kPlatformDOS, kPlatformAmiga, kPlatformAmstradCPC, kPlatformAtari8Bit,
  kPlatformAtariST, kPlatformMacintosh, kPlatformFMTowns, kPlatformWindows,
  kPlatformNES, kPlatformC64, kPlatformCoCo, kPlatformCoCo3,
  kPlatformLinux, kPlatformAcorn, kPlatformSegaCD, kPlatform3DO,
  kPlatformPCEngine, kPlatformApple2, kPlatformApple2GS, kPlatformPC98,
  kPlatformWii, kPlatformPSX, kPlatformPS2, kPlatformXbox,
  kPlatformCDi, kPlatformIOS, kPlatformAndroid, kPlatformOS2,
  kPlatformBeOS, kPlatformPocketPC, kPlatformMegaDrive, kPlatformSaturn,
  kPlatformPippin, kPlatformMacintoshII, kPlatformShockwave, kPlatformZX,
  kPlatformTI994, kPlatformUnknown = -1
}
 
enum  RecorderEventType { kRecorderEventTypeNormal = 0, kRecorderEventTypeTimer = 1, kRecorderEventTypeTimeDate = 2, kRecorderEventTypeScreenUpdate = 3 }
 
enum  RenderMode {
  kRenderDefault = 0, kRenderVGA = 1, kRenderEGA = 2, kRenderCGA = 3,
  kRenderHercG = 4, kRenderHercA = 5, kRenderAmiga = 6, kRenderFMTowns = 7,
  kRenderPC98_256c = 8, kRenderPC98_16c = 9, kRenderApple2GS = 10, kRenderAtariST = 11,
  kRenderMacintosh = 12, kRenderMacintoshBW = 13, kRenderCGAComp = 14, kRenderCGA_BW = 15,
  kRenderCPC = 16, kRenderZX = 17, kRenderC64 = 18, kRenderVGAGrey = 19,
  kRenderPC98_8c = 20, kRenderWin256c = 21, kRenderWin16c = 22
}
 
enum  RotationMode { kRotationNormal = 0, kRotation90 = 90, kRotation180 = 180, kRotation270 = 270 }
 
enum  : uint { kSpanMaxSize = 0xFFFFFFFF, kSpanKeepOffset = 0xFFFFFFFF }
 
enum  SpanValidationMode { kValidateRead, kValidateWrite, kValidateSeek }
 
enum  CodePage {
  kCodePageInvalid = -1, kUtf8 = 0, kWindows1250, kWindows1251,
  kWindows1252, kWindows1253, kWindows1254, kWindows1255,
  kWindows1256, kWindows1257, kWindows932, kWindows936,
  kWindows949, kWindows950, kISO8859_1, kISO8859_2,
  kISO8859_5, kMacCentralEurope, kMacRoman, kDos850,
  kDos862, kDos866, kJohab, kASCII,
  kLatin1 = kISO8859_1, kBig5 = kWindows950, kGBK = kWindows936, kEUCCN = kWindows936,
  kLastEncoding = kASCII
}
 
enum  StringEncodingResult { kStringEncodingResultSucceeded, kStringEncodingResultHasErrors }
 
enum  TranslationIDs { kTranslationAutodetectId = 0, kTranslationBuiltinId = 1000 }
 
enum  BiDiParagraph { BIDI_PAR_ON = 0, BIDI_PAR_RTL = 1, BIDI_PAR_LTR = 2 }
 
enum  HardwareInputType {
  kHardwareInputTypeInvalid, kHardwareInputTypeKeyboard, kHardwareInputTypeMouse, kHardwareInputTypeJoystickButton,
  kHardwareInputTypeJoystickHalfAxis, kHardwareInputTypeCustom
}
 
enum  AxisType { kAxisTypeFull, kAxisTypeHalf }
 
enum  AchievementsPlatform { STEAM_ACHIEVEMENTS, GALAXY_ACHIEVEMENTS, UNK_ACHIEVEMENTS = -1 }
 

Functions

template<typename T >
unsigned int distance (T *first, T *last)
 
template<typename T >
unsigned int distance (T first, T last)
 
template<typename T >
T * sortChoosePivot (T *first, T *last)
 
template<typename T >
sortChoosePivot (T first, T last)
 
template<typename T , class StrictWeakOrdering >
sortPartition (T first, T last, T pivot, StrictWeakOrdering &comp)
 
template<class T >
gcd (T a, T b)
 
template<class T >
nextHigher2 (T v)
 
template<class It , class Dat >
void replace (It begin, It end, const Dat &original, const Dat &replaced)
 
template<class It , class T >
It remove (It first, It last, const T &val)
 
template<typename RandomIt , typename V , typename Comp = Less<V>>
RandomIt lowerBound (RandomIt first, RandomIt last, const V &val, Comp comp={})
 
template<typename RandomIt , typename V , typename Comp = Less<V>>
RandomIt upperBound (RandomIt first, RandomIt last, const V &val, Comp comp={})
 
bool b64Validate (String &string)
 
String b64EncodeString (String &string)
 
String b64EncodeStream (ReadStream &stream)
 
String b64EncodeData (void *dataPtr, size_t dataSize)
 
String b64DecodeString (String &string)
 
MemoryReadStreamb64DecodeStream (String &string, uint32 outputLength)
 
bool b64DecodeData (String &string, void *dataPtr)
 
ReadStreamwrapBufferedReadStream (ReadStream *parentStream, uint32 bufSize, DisposeAfterUse::Flag disposeParentStream)
 
SeekableReadStreamwrapBufferedSeekableReadStream (SeekableReadStream *parentStream, uint32 bufSize, DisposeAfterUse::Flag disposeParentStream)
 
SeekableWriteStreamwrapBufferedWriteStream (SeekableWriteStream *parentStream, uint32 bufSize)
 
WriteStreamwrapBufferedWriteStream (WriteStream *parentStream, uint32 bufSize)
 
bool decompressDCL (ReadStream *sourceStream, byte *dest, uint32 packedSize, uint32 unpackedSize)
 
SeekableReadStreamdecompressDCL (SeekableReadStream *sourceStream, uint32 packedSize, uint32 unpackedSize)
 
SeekableReadStreamdecompressDCL (SeekableReadStream *sourceStream)
 
bool inflateZlib (byte *dst, unsigned long *dstLen, const byte *src, unsigned long srcLen)
 
bool inflateZlibHeaderless (byte *dst, uint *dstLen, const byte *src, uint srcLen, const byte *dict=nullptr, uint dictLen=0)
 
bool inflateClickteam (byte *dst, uint *dstLen, const byte *src, uint srcLen)
 
SeekableReadStreamwrapCompressedReadStream (SeekableReadStream *toBeWrapped, DisposeAfterUse::Flag disposeParent=DisposeAfterUse::YES, uint64 knownSize=0)
 
SeekableReadStreamwrapDeflateReadStream (SeekableReadStream *toBeWrapped, DisposeAfterUse::Flag disposeParent=DisposeAfterUse::YES, uint64 knownSize=0, const byte *dict=nullptr, uint dictLen=0)
 
SeekableReadStreamwrapClickteamReadStream (SeekableReadStream *toBeWrapped, DisposeAfterUse::Flag disposeParent=DisposeAfterUse::YES, uint64 knownSize=0)
 
WriteStreamwrapCompressedWriteStream (WriteStream *toBeWrapped)
 
Common::ArchivecreateGenteeInstallerArchive (Common::SeekableReadStream *stream, const char *prefixToRemove, bool threadSafe)
 
uint32 REVERSEBITS (uint32 x)
 
ArchivemakeInstallShieldArchive (const Common::Path &baseName)
 
ArchivemakeInstallShieldArchive (const Common::Path &baseName, Common::Archive &archive)
 
ArchivemakeInstallShieldArchive (const Common::FSNode &baseName)
 
ArchivecreateStuffItArchive (const Path &fileName, bool flattenTree=false)
 
ArchivecreateStuffItArchive (SeekableReadStream *stream, bool flattenTree=false)
 
ArchivemakeArjArchive (const Path &name, bool flattenTree=false)
 
ArchivemakeArjArchive (const Array< Path > &names, bool flattenTree=false)
 
ArchivemakeZipArchive (const Path &name, bool flattenTree=false)
 
ArchivemakeZipArchive (const FSNode &node, bool flattenTree=false)
 
ArchivemakeZipArchive (SeekableReadStream *stream, bool flattenTree=false)
 
Common::ArchivecreateMacVISEArchive (Common::SeekableReadStream *stream)
 
DBCSString operator+ (const DBCSString &x, const DBCSString &y)
 
DBCSString operator+ (const DBCSString &x, DBCSString::value_type y)
 
bool load_engine_data (const Common::Path &datFilename, const Common::String &subfolder, int reqMajorVersion, int reqMinorVersion, Common::U32String &errorMsg, bool useDataPrefix=false)
 
bool isMouseEvent (const Event &event)
 
EventSourcemakeKeyboardRepeatingEventSource (EventSource *eventSource)
 
int32 computeMD5 (const Common::FSNode &node, Common::String &md5, uint32 md5Bytes)
 
void sd_bufput (SDDataBuffer *, const void *, size_t)
 
template<class Op >
Binder1st< Op > bind1st (const Op &op, typename Op::FirstArgumentType t)
 
template<class Op >
Binder2nd< Op > bind2nd (const Op &op, typename Op::SecondArgumentType t)
 
template<class Arg , class Result >
PointerToUnaryFunc< Arg, Result > ptr_fun (Result(*func)(Arg))
 
template<class Arg1 , class Arg2 , class Result >
PointerToBinaryFunc< Arg1, Arg2, Result > ptr_fun (Result(*func)(Arg1, Arg2))
 
template<class Result , class T >
MemFunc0< Result, T > mem_fun (Result(T::*f)())
 
template<class Result , class T >
ConstMemFunc0< Result, T > mem_fun (Result(T::*f)() const)
 
template<class Result , class Arg , class T >
MemFunc1< Result, Arg, T > mem_fun (Result(T::*f)(Arg))
 
template<class Result , class Arg , class T >
ConstMemFunc1< Result, Arg, T > mem_fun (Result(T::*f)(Arg) const)
 
template<class Result , class T >
MemFuncRef0< Result, T > mem_fun_ref (Result(T::*f)())
 
template<class Result , class T >
ConstMemFuncRef0< Result, T > mem_fun_Ref (Result(T::*f)() const)
 
template<class Result , class Arg , class T >
MemFuncRef1< Result, Arg, T > mem_fun_ref (Result(T::*f)(Arg))
 
template<class Result , class Arg , class T >
ConstMemFuncRef1< Result, Arg, T > mem_fun_ref (Result(T::*f)(Arg) const)
 
bool checkGameGUIOption (const String &option, const String &str)
 
String parseGameGUIOptions (const String &str)
 
const String getGameGUIOptionsDescription (const String &options)
 
void updateGameGUIOptions (const String &options, const String &langOption)
 
uint hashit (const char *str)
 
uint hashit_lower (const char *str)
 
uint hashit_lower (const String &str)
 
template<class Key >
void NORETURN_PRE unknownKeyError (Key k) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (::Common::String key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (signed char key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (unsigned char key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (short signed key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (short unsigned key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (long signed key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (long unsigned key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (signed int key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (unsigned int key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (long long signed key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (long long unsigned key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (void *key) NORETURN_POST
 
template<>
void NORETURN_PRE unknownKeyError (const char *key) NORETURN_POST
 
int intLog2 (uint32 v)
 
Language parseLanguage (const String &str)
 
Language parseLanguageFromLocale (const char *locale)
 
const char * getLanguageCode (Language id)
 
const char * getLanguageLocale (Language id)
 
const char * getLanguageDescription (Language id)
 
const String getGameGUIOptionsDescriptionLanguage (Common::Language lang)
 
bool checkGameGUIOptionLanguage (Common::Language lang, const String &str)
 
List< StringgetLanguageList ()
 
void getLanguageYesNo (Language id, KeyCode &keyYes, KeyCode &keyNo)
 
void getLanguageYesNo (KeyCode &keyYes, KeyCode &keyNo)
 
void setLogWatcher (LogWatcher f)
 
LogWatcher getLogWatcher ()
 
bool computeStreamMD5 (ReadStream &stream, uint8 digest[16], uint32 length=0)
 
String computeStreamMD5AsString (ReadStream &stream, uint32 length=0)
 
void memset16 (uint16 *dst, uint16 val, size_t count)
 
void memset32 (uint32 *dst, uint32 val, size_t count)
 
void memset64 (uint64 *dst, uint64 val, size_t count)
 
template<class In , class Type >
Type * uninitialized_copy (In first, In last, Type *dst)
 
template<class In , class Type >
Type * uninitialized_move (In first, In last, Type *dst)
 
template<class Type , class Value >
void uninitialized_fill_n (Type *dst, size_t n, const Value &x)
 
Platform parsePlatform (const String &str)
 
const char * getPlatformCode (Platform id)
 
const char * getPlatformAbbrev (Platform id)
 
const char * getPlatformDescription (Platform id)
 
List< StringgetPlatformList ()
 
String punycode_encode (const U32String &src)
 
U32String punycode_decode (const String &src, bool *error=nullptr)
 
String punycode_encodefilename (const U32String &src)
 
U32String punycode_decodefilename (const String &src)
 
bool punycode_hasprefix (const String &src)
 
bool punycode_needEncode (const String &src)
 
const Rational operator+ (int left, const Rational &right)
 
const Rational operator- (int left, const Rational &right)
 
const Rational operator* (int left, const Rational &right)
 
const Rational operator/ (int left, const Rational &right)
 
bool operator== (int left, const Rational &right)
 
bool operator!= (int left, const Rational &right)
 
bool operator> (int left, const Rational &right)
 
bool operator< (int left, const Rational &right)
 
bool operator>= (int left, const Rational &right)
 
bool operator<= (int left, const Rational &right)
 
RenderMode parseRenderMode (const String &str)
 
const char * getRenderModeCode (RenderMode id)
 
const char * getRenderModeDescription (RenderMode id)
 
String renderMode2GUIO (RenderMode id)
 
String allRenderModesGUIOs ()
 
RotationMode parseRotationMode (int val)
 
U32String convertUtf8ToUtf32 (const String &str)
 
String convertUtf32ToUtf8 (const U32String &str)
 
U32String convertToU32String (const char *str, CodePage page=kUtf8)
 
String convertFromU32String (const U32String &str, CodePage page=kUtf8)
 
uint16 convertUHCToUCS (uint8 high, uint8 low)
 
void releaseCJKTables ()
 
String operator+ (const String &x, const String &y)
 
String operator+ (const char *x, const String &y)
 
String operator+ (const String &x, const char *y)
 
String operator+ (const String &x, char y)
 
String operator+ (char x, const String &y)
 
bool operator== (const char *x, const String &y)
 
bool operator!= (const char *x, const String &y)
 
char * ltrim (char *t)
 
char * rtrim (char *t)
 
char * trim (char *t)
 
String lastPathComponent (const String &path, const char sep)
 
String firstPathComponents (const String &path, const char sep)
 
String normalizePath (const String &path, const char sep)
 
bool matchString (const char *str, const char *pat, bool ignoreCase=false, const char *wildcardExclusions=NULL)
 
void replace (Common::String &source, const Common::String &what, const Common::String &with)
 
String tag2string (uint32 tag, bool nonPrintable=false)
 
void strcpy_s (char *dst, size_t size, const char *src)
 
template<typename T , size_t N>
FORCEINLINE void strcpy_s (T(&dst)[N], const char *src)
 
void strcat_s (char *dst, size_t size, const char *src)
 
template<typename T , size_t N>
FORCEINLINE void strcat_s (T(&dst)[N], const char *src)
 
int vsprintf_s (char *dst, size_t size, const char *format, va_list ap) GCC_PRINTF(3
 
template<typename T , size_t N>
int FORCEINLINE GCC_PRINTF (2, 0) int vsprintf_s(T(&dst)[N]
 
return vsprintf_s ((char *) dst, N, format, ap)
 
int sprintf_s (char *dst, size_t size, MSVC_PRINTF const char *format,...) GCC_PRINTF(3
 
template<typename T , size_t N>
int GCC_PRINTF (2, 3) int sprintf_s(T(&dst)[N]
 
 va_start (ap, format)
 
 va_end (ap)
 
size_t strlcpy (char *dst, const char *src, size_t size)
 
size_t strlcat (char *dst, const char *src, size_t size)
 
size_t strnlen (const char *src, size_t maxSize)
 
String toPrintable (const String &src, bool keepNewLines=true)
 
String percentEncodeString (const String &src)
 
void setErrorOutputFormatter (OutputFormatter f)
 
void setErrorHandler (ErrorHandler handler)
 
bool operator< (const TLanguage &l, const TLanguage &r)
 
UnicodeBiDiText convertBiDiU32String (const U32String &input, BiDiParagraph dir=BIDI_PAR_ON)
 
String convertBiDiString (const String &input, const Common::Language lang, BiDiParagraph dir=BIDI_PAR_ON)
 
String convertBiDiString (const String &input, const Common::CodePage page, BiDiParagraph dir=BIDI_PAR_ON)
 
String convertBiDiStringByLines (const String &input, const Common::CodePage page, BiDiParagraph dir=BIDI_PAR_ON)
 
U32String operator+ (const U32String &x, const U32String &y)
 
U32String operator+ (const U32String &x, U32String::value_type y)
 
U32String toPrintable (const U32String &src, bool keepNewLines=true)
 
template<class T >
constexpr remove_reference_t< T > && move (T &&t) noexcept
 
template<class T >
constexpr T && forward (remove_reference_t< T > &&t) noexcept
 
template<class T >
constexpr T && forward (remove_reference_t< T > &t) noexcept
 
void hexdump (const byte *data, int len, int bytesPerLine=16, int startOffset=0)
 
bool parseBool (const String &val, bool &valAsBool)
 
bool isAscii (int c)
 
bool isAlnum (int c)
 
bool isAlpha (int c)
 
bool isDigit (int c)
 
bool isXDigit (int c)
 
bool isLower (int c)
 
bool isSpace (int c)
 
bool isUpper (int c)
 
bool isPrint (int c)
 
bool isPunct (int c)
 
bool isCntrl (int c)
 
bool isGraph (int c)
 
bool isBlank (int c)
 
Common::String getHumanReadableBytes (uint64 bytes, const char *&unitsOut)
 
bool generateZipSet (SearchSet &searchSet, const char *defaultFile, const char *packsMask, const char *packsPath="iconspath")
 
Copy templates
template<class In , class Out >
Out copy (In first, In last, Out dst)
 
template<class In , class Out >
Out copy_backward (In first, In last, Out dst)
 
template<class In , class Out , class Op >
Out copy_if (In first, In last, Out dst, Op op)
 
Move templates
template<class In , class Out >
Out move (In first, In last, Out dst)
 
template<class In , class Out >
Out move_backward (In first, In last, Out dst)
 
template<class In , class Out , class Op >
Out move_if (In first, In last, Out dst, Op op)
 
Fill templates
template<class Value >
signed char * fill (signed char *first, signed char *last, Value val)
 
template<class Value >
unsigned char * fill (unsigned char *first, unsigned char *last, Value val)
 
template<class Value >
char * fill (char *first, char *last, Value val)
 
Range templates
template<class In , class Value >
In fill (In first, In last, const Value &val)
 
template<class In , class T >
In find (In first, In last, const T &v)
 
template<class In , class Pred >
In find_if (In first, In last, Pred p)
 
template<class In , class Op >
Op for_each (In first, In last, Op f)
 
template<typename T >
void reverse (T first, T last)
 
Sorting templates
template<typename T , class StrictWeakOrdering >
void sort (T first, T last, StrictWeakOrdering comp)
 
template<typename T >
void sort (T *first, T *last)
 
template<class T >
void sort (T first, T last)
 

Variables

CoroContext nullContext
 
const uint16 kWindows1250ConversionTable [128]
 
const uint16 kWindows1251ConversionTable [128]
 
const uint16 kWindows1252ConversionTable [128]
 
const uint16 kWindows1253ConversionTable [128]
 
const uint16 kWindows1254ConversionTable [128]
 
const uint16 kWindows1255ConversionTable [128]
 
const uint16 kWindows1256ConversionTable [128]
 
const uint16 kWindows1257ConversionTable [128]
 
const uint16 kMacCentralEuropeConversionTable [128]
 
const uint16 kMacRomanConversionTable [128]
 
const uint16 kLatin1ConversionTable [128]
 
const uint16 kLatin2ConversionTable [128]
 
const uint16 kISO5ConversionTable [128]
 
const uint16 kASCIIConversionTable [128]
 
const uint16 kDos850ConversionTable [128]
 
const uint16 kDos862ConversionTable [128]
 
const uint16 kDos866ConversionTable [128]
 
const int16 JOYAXIS_MIN = -32768
 
const int16 JOYAXIS_MAX = 32767
 
const LanguageDescription g_languages []
 
const LanguageDescription g_obsoleteLanguages []
 
const PlatformDescription g_platforms []
 
const RenderModeDescription g_renderModes []
 
const RotationModeDescription g_rotationModes []
 
int FORCEINLINE const char * format
 
int FORCEINLINE const char va_list ap
 
int MSVC_PRINTF const char int ret
 
const KeyTableEntry defaultKeys []
 
const ModifierTableEntry defaultModifiers []
 
const HardwareInputTableEntry defaultMouseButtons []
 
const HardwareInputTableEntry defaultJoystickButtons []
 
const AxisTableEntry defaultJoystickAxes []
 
const char *const kStandardActionsKeymapName = "standard-actions"
 
const char *const kGuiKeymapName = "gui"
 
const char *const kGlobalKeymapName = "global"
 
const char *const kStandardActionLeftClick
 
const char *const kStandardActionMiddleClick
 
const char *const kStandardActionRightClick
 
const char *const kStandardActionInteract
 
const char *const kStandardActionSkip
 
const char *const kStandardActionPause
 
const char *const kStandardActionMoveUp
 
const char *const kStandardActionMoveDown
 
const char *const kStandardActionMoveLeft
 
const char *const kStandardActionMoveRight
 
const char *const kStandardActionOpenMainMenu
 
const char *const kStandardActionLoad
 
const char *const kStandardActionSave
 
const char *const kStandardActionOpenSettings
 
const char *const kStandardActionEE
 
const char *const kStandardActionCut
 
const char *const kStandardActionCopy
 
const char *const kStandardActionPaste
 

Detailed Description

Provides support for a simplified way of creating a data file for an engine using a standard zip file, and mapping it into ScummVM's filesystem.

This allows contents of the zip file to be accessed by calling Common::File::open with their filenames directly, like file1.png or data/file1.png.

You should create a folder named /devtools/create_<engine>/files to put your engine's files within, with any necessary extraction code in /devtools/create_<engine>/, that will save the files in files/

For development purposes, if you go the Game Options dialog for a game in the ScummVM launcher, and set the Extra Path in the Paths tab to /devtools/create_<engine>, the engine will access the files directly without requiring you to keep regenerating a data file. And when you're finished, and want to create a final data file, you can zip up the files/ folder, rename the .zip to have a .dat extension, and save it in /dists/engine-data.

For example, the mm engine has it's files in /devtools/create_mm/files, and it's contents are zipped up and saved as /dists/engine-data/mm.dat.

This code is heavily based on the Pluto code base. Copyright below

Copyright (C) 2011 by Ben Noordhuis info@.nosp@m.bnoo.nosp@m.rdhui.nosp@m.s.nl

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Internal interface to the QuickTime audio decoder.

This is available so that the QuickTimeVideoDecoder can use this directly.

This is the namespace of the AGOS engine.

Status of this engine: ???

Games using this engine:

  • Elvira: Mistress of the Dark
  • Elvira 2: The Jaws of Cerberus
  • The Feeble Files
  • Simon the Sorcerer
  • Simon the Sorcerer 2
  • Simon the Sorcerer Puzzle Pack

Typedef Documentation

◆ LogWatcher

typedef void(* Common::LogWatcher) (LogMessageType::Type type, int level, uint32 debugChannels, const char *message)

A callback that is invoked by debug, warning and error methods.

A typical example would be a function that shows a debug console and displays the given message in it.

Enumeration Type Documentation

◆ DiskImageEncoding

Disk image formats that require decoding to read their sectors

◆ BiDiParagraph

List of paragraph directions

◆ HardwareInputType

Enumerator
kHardwareInputTypeInvalid 

Empty / invalid input type

kHardwareInputTypeKeyboard 

Keyboard input that sends -up and -down events

kHardwareInputTypeMouse 

Mouse input that sends -up and -down events

kHardwareInputTypeJoystickButton 

Joystick input that sends -up and -down events

kHardwareInputTypeJoystickHalfAxis 

Joystick input that sends "analog" values

kHardwareInputTypeCustom 

Input that sends single events

◆ AxisType

Enumerator
kAxisTypeFull 

An axis that sends "analog" values from JOYAXIS_MIN to JOYAXIS_MAX. e.g. a gamepad stick axis

kAxisTypeHalf 

An axis that sends "analog" values from 0 to JOYAXIS_MAX. e.g. a gamepad trigger

Function Documentation

◆ createGenteeInstallerArchive()

Common::Archive* Common::createGenteeInstallerArchive ( Common::SeekableReadStream stream,
const char *  prefixToRemove,
bool  threadSafe 
)

NOTE for future implementation: A Gentee Installer setup executable can be deployed with a package file (disk1.pak, etc.) or the data can be embedded in the setup executable. If it's deployed with the executable, then you must read 12 bytes from offset 1008 in the executable file. Of that, the first 4 bytes is the position of the embedded ginstall.dll compressed data, the next 4 are the compressed size of ginstall.dll, and the next 4 are the decompressed size of ginstall.dll.

From that, compute the end position of the DLL data from the DLL position + the compressed size. If that position is less than the end of the file, then the package is embedded in the setup executable starting at that location. Loads a Gentee Installer package.

This product appears to have been renamed to CreateInstall in later versions, which also adopted other compression methods like PPMd. This version uses LZ77 with adaptive Huffman coding.

Parameters
streamData stream to load
prefixToRemoveSpecifies the prefix of extract directives to include, and removes the prefix If you pass an empty string or null, all directives will be included
threadSafeIf true, all read operations will be wrapped in a mutex-guarded substream
Returns
The Gentee Installer package archive

◆ operator+() [1/2]

DBCSString Common::operator+ ( const DBCSString x,
const DBCSString y 
)

Concatenate strings x and y.

◆ operator+() [2/2]

DBCSString Common::operator+ ( const DBCSString x,
DBCSString::value_type  y 
)

Append the given y character to the given x string.

◆ load_engine_data()

bool Common::load_engine_data ( const Common::Path datFilename,
const Common::String subfolder,
int  reqMajorVersion,
int  reqMinorVersion,
Common::U32String errorMsg,
bool  useDataPrefix = false 
)

Loads the engine data file and maps it into the filessystem so that the files within it can be opened as normal files.

Parameters
datFilename.dat filename
subfolderSubfolder in the engine data for the game
reqMajorVersionRequired major version number the folder contents need to be (as specified in version.txt)
reqMinorVersionRequired minor version
errorMsgIf an error occurs, contains a description
useDataPrefixIf true, the subfolder gets mapped into ScummVM as a 'data' subfolder, to differentiate them from files directly in the game folder. If false, the default, then filenames\

◆ mem_fun() [1/2]

template<class Result , class T >
ConstMemFunc0<Result, T> Common::mem_fun ( Result(T::*)() const  f)
inline

Creates a unary function object from a class member function pointer. The parameter passed to the function object is the 'this' pointer to be used for the function call.

◆ mem_fun() [2/2]

template<class Result , class Arg , class T >
ConstMemFunc1<Result, Arg, T> Common::mem_fun ( Result(T::*)(Arg) const  f)
inline

Creates a binary function object from a class member function pointer. The first parameter passed to the function object is the 'this' pointer to be used for the function call. The second one is the parameter passed to the member function.

◆ mem_fun_ref()

template<class Result , class Arg , class T >
ConstMemFuncRef1<Result, Arg, T> Common::mem_fun_ref ( Result(T::*)(Arg) const  f)
inline

Creates a binary function object from a class member function pointer. The first parameter passed to the function object is the object instance to be used for the function call. Note unlike mem_fun, it takes a reference as parameter. The second one is the parameter passed to the member function.

◆ setLogWatcher()

void Common::setLogWatcher ( LogWatcher  f)

Set the watcher used by debug, error and warning methods.

◆ getLogWatcher()

LogWatcher Common::getLogWatcher ( )

Get the watcher used by debug, error and warning methods.

◆ punycode_encode()

String Common::punycode_encode ( const U32String src)

Convert UTF-32 to Punycode. Returns the encoded string.

◆ punycode_decode()

U32String Common::punycode_decode ( const String src,
bool *  error = nullptr 
)

Convert Punycode to UTF-32. Returns the decoded string

◆ punycode_decodefilename()

U32String Common::punycode_decodefilename ( const String src)

Convert Punycode filename to Binary using special 0x81 escape character. Returns the decoded string

◆ generateZipSet()

bool Common::generateZipSet ( SearchSet searchSet,
const char *  defaultFile,
const char *  packsMask,
const char *  packsPath = "iconspath" 
)

Scan the given directory for a set of versioned zip packs and put them into the provided SearchSet

There are 2 types of files: defaultFile, that could potentially sit in the themepath or even be built-in into the executable; and so called pack files typically containing creation date in their names.

These files are put in the SearchSet in a sorted way, thus, the latter packs have higher priority.

Example: gui-icons.dat, gui-icons-20211112.dat, gui-icons-20220602.dat

Used by: icons packs and shader packs

Parameters
[out]searchSetThe SearchSet to modify
[in]defaultFileName of the default file
[in]packsMaskMask of the pack files
[in]packsPathName of ConfMan variable with Path to the packs. Default is "iconspath""
Returns
True if the string has been parsed correctly, false if an error

Variable Documentation

◆ defaultKeys

const KeyTableEntry Common::defaultKeys[]

A standard set of keyboard keys

◆ defaultModifiers

const ModifierTableEntry Common::defaultModifiers[]

A standard set of keyboard modifiers

◆ defaultMouseButtons

const HardwareInputTableEntry Common::defaultMouseButtons[]

A standard set of mouse buttons

◆ defaultJoystickButtons

const HardwareInputTableEntry Common::defaultJoystickButtons[]

A standard set of joystick buttons based on the ScummVM event model

◆ defaultJoystickAxes

const AxisTableEntry Common::defaultJoystickAxes[]

A standard set of joystick axes based on the ScummVM event model