| ►Common API | Common classes, functions, and structures |
| ►Lua | Functions for the Lua programming language. See Lua.org |
| Double serialization | Functions for encoding and decoding double values |
| Algorithms | Templates for algorithms used to manipulate data |
| Archive | The Archive module allows for managing the members of arbitrary containers in a uniform fashion. It also supports looking up by names and file names, opening a file, and returning a usable input stream |
| Arrays | Functions for replacing std arrays |
| Base64 encoding & decoding. | API for encoding and decoding Base64 strings |
| Bit stream | API for implementing a bit stream |
| Buffered stream | API for implementing a buffered stream |
| Callbacks | Callback class templates |
| Data compression library | PKWARE data compression library (DCL) |
| deflate | API for deflate based operations |
| Huffman bit stream decoding | API for operations related to Huffman bit stream decoding |
| InstallShield | API for managing the InstallShield |
| StuffIt decompressor | API related to StuffIt archive files |
| ARJ decompressor | API related to ARJ archive files |
| ZIP decompressor | API related to ZIP archive files |
| Configuration manager | The (singleton) configuration manager, used to query and set configuration values using string keys |
| Coroutine support for simulating multi-threading | The following implementation is loosely based on an article by Simon Tatham: Coroutines in C. However, many improvements and tweaks have been made, in particular by taking advantage of C++ features not available in C |
| Debug channels | Functions for managing debug channels |
| Debug functions | Functions for printing debug messages |
| Dialog Manager | The Dialog Manager allows GUI code to interact with native system dialogs |
| Endian conversions | Functions and macros for endian conversions and byteswap conversions |
| Error codes | Commonly used error codes |
| Events | The types of events backends may generate |
| Files | API for operations on files |
| Interchange File Format (IFF) | API for operations on IFF container files |
| INI files | API for operations on INI configuration files |
| Quicktime file parser | Parser for QuickTime/MPEG-4 files |
| ►Windows resources | API for managing Windows resources |
| Windows New Executable resources | API for managing Windows New Executable resources |
| XML parser | The XML parser allows for parsing XML-like files |
| Fixed-point fractions | API for fixed-point fractions |
| File system | API for operations on the file system |
| Functions | API for managing functions |
| GUI options | API for managing the options of the graphical user interface (GUI) |
| ►Hash table (HashMap) | API for operations on a hash table |
| Hash table pointer | Template for a HashMap pointer |
| Keyboard | API for keyboard operations |
| Language | API for managing game language |
| Lists | API for managing doubly linked lists |
| Localization | Functions for managing localized elements of the GUI |
| Macintosh resource fork manager | API for Macintosh resource fork manager |
| MD5 checksum | API for computing the MD5 checksum |
| ►Memory | Functions for managing the memory |
| Memory pool | API for managing the memory pool |
| Mutex | API for managing the mutex |
| NonCopyable class | API for NonCopyable class |
| OSD message queue | API for managing the queue of On Screen Display (OSD) messages |
| Path | API for working with paths |
| Game platforms | API for managing game platforms |
| Pointers | API and templates for pointers |
| Queue | API and templates for queues |
| RNG | Random number generator (RNG) implementation |
| Rational class | API for rational class |
| Red-black tree | API for operating on a red black tree |
| Rectangular zones | API for operations on rectangular zones |
| Render modes | API for render modes |
| Rotation modes | API for rotation modes |
| Safe Boolean | Template for a SafeBool function |
| Save files | API for managing save files |
| Serializer | API for serializing data |
| Singleton | API for managing singletons |
| stable map | API for operating on a key value map |
| Stack | Fixed-size stack implementation |
| ►Strings | API for working with strings |
| String array | String array implementation |
| ►Streams | API for managing readable and writable data streams |
| Substreams | API for managing readable data substreams |
| ►OSystem | API related to OSystem - the main interface for ScummVM backends |
| Subsystem modules | |
| Feature flags | |
| Graphics | |
| Overlay | |
| Mouse | |
| Events and Time | |
| Mutex handling | |
| Sound | |
| Audio CD | |
| Miscellaneous | |
| Text-to-speech Manager | The TTS module allows for speech synthesis |
| Text console | Output formatter, typically used for debugging |
| Timer | API for managing the timer |
| String tokenizer | String tokenizer for creating tokens out of parts of a string |
| Message translation manager | API related to translation |
| UTF-32 strings | API for working with UTF-32 strings |
| Util | Various utility functions |
| Achievements | API related to in-game achievements |
| ►Audio API | APIs for managing in-game audio |
| Audio streams | API for managing audio input streams |
| OPL emulation | OPL class for managing an OPS emulator |
| MIDI drivers | API for managing MIDI drivers |
| MIDI parser | A framework and common functionality for parsing event-based music streams |
| QT MIDI parser | The QuickTime Music version of MidiParser class |
| MIDI player | MidiPlayer class for playing MIDI sounds |
| Miles and XMIDI | API for managing XMIDI files used by Miles Sound System |
| Mixer | Mixer class used for playing audio streams |
| Mixer implementation | The (default) implementation of the ScummVM audio mixing subsystem |
| MIDI driver for MT-32 and GM | MIDI driver for MT-32 and GM compatible emulators and devices |
| Music devices and plugins | API for managing music devices and music plugins |
| Sample rate | API for managing sound sample rate |
| Timestamp | Timestamp class for specifying points in time and measuring time intervals |
| ►Engine API | API related to engines |
| ►Specific engines | |
| ►SCI engine | |
| Vocabulary resources in SCI | |
| Advanced Detector | The Advanced Detector (AD) provides a standard framework for filename and MD5-based game detection |
| Engine | API for managing various functions of the engine |
| Games | API for managing games by engines |
| Meta engine | API for managing various functions of the meta engine |
| Obsolete game IDs | API for managing obsolete game IDs and updating the config file |
| Save states | API for managing save states |
| Util | Various utility functions related to engines |
| ►Graphics API | API related to on-screen graphics - surfaces, pixels, cursors, fonts, palettes, and renderers |
| Blitting | Graphics blitting operations |
| Conversions | Graphics conversion operations |
| Cursor | Cursor class used for representing the mouse cursor on the screen |
| Cursor manager | The CursorManager class for managing the behavior of the mouse cursor |
| Fonts | API for representing and managing fonts on the screen |
| Font manager | FontManager class used for managing fonts |
| Mac cursor | Macintosh cursor decoding |
| Managed surface | The ManagedSurface class that adds extra functionality on top of the Surface class |
| PaletteManager | The PaletteManager class |
| Pixel formats | Structures for managing pixel formats |
| Renderer | API for managing renderer engines |
| Screen | Screen class for managing the screen |
| Surface | Surface class for managing an arbitrary graphics surface |
| Thumbnails | API for managing screen thumbnails used for save games |
| Pixel buffers | Class for managing pixel buffers |
| Vector renderer | VectorRenderer for drawing on a given surface |
| Specialized vector renderer | VectorRendererSpec class |
| Windows cursor | API related to Windows cursors |
| YUV to RGB conversion | Methods for converting YUV images into RGB surfaces |
| ►Image API | API of various image decoders used in engines |
| BRC decoder | Decoder for BRC images |
| BMP decoder | Decoder for BMP images |
| CEL decoder | Decoder for CEL images |
| cicn decoder | Decoder for cicn images |
| IFF decoder | Decoder for images encoded as Interchange File Format (IFF) |
| Image decoder | ImageDecoder class used for representing and managing various image decoders |
| JPEG decoder | Decoder for JPEG images |
| Neochrome decoder | Atari-ST Neochrome decoder based on NEOLoad by Jason "Joefish" Railton |
| PCX decoder | Decoder for PCX images |
| PICT decoder | Decoder for PICT images |
| PNG decoder | Decoder for PNG images |
| SCR decoder | Decoder for ZX-Spectrum SCREEN$ based on: https://gist.github.com/alexanderk23/f459c76847d9412548f7 |
| TGA (TARGA) decoder | Decoder for TGA images |
| XBM decoder | Decoder for XBM images |
| ENet global functions | |
| ►ENet private implementation functions | |
| ENet internal callbacks | |
| ENet socket functions | |
| ENet address functions | |
| ►AGS Engine | Engine to run Adventure Game Studio games |
| ►AGS Globals | Globals for the AGS engine |
| Allegro globals | |
| agsstaticobject globals | |
| agsplatformdriver globals | |
| agsplugin globals | |
| audio globals | |
| button globals | |
| cc_dynamicarray globals | |
| cc_dynamicobject globals | |
| cc_common globals | |
| cc_instance globals | |
| cc_options globals | |
| cc_script globals | |
| cc_serializer globals | |
| character globals | |
| cscdialog globals | |
| debug globals | |
| dialog globals | |
| display globals | |
| draw globals | |
| draw_software globals | |
| engine globals | |
| engine_setup globals | |
| event globals | |
| file globals | |
| fonts globals | |
| game globals | |
| game_init globals | |
| game_run globals | |
| gfxfilter_aad3d globals | |
| gfxfilter_allegro globals | |
| gfxfilter_d3d globals | |
| global_dialog globals | |
| global_game globals | |
| global_object globals | |
| graphics_mode globals | |
| gui globals | |
| guibutton globals | |
| guidialog globals | |
| guiinv globals | |
| guilabel globals | |
| guilistbox globals | |
| guimain globals | |
| guislider globals | |
| guitextbox globals | |
| interactions globals | |
| invwindow globals | |
| lzw globals | |
| main globals | |
| managedobjectpool globals | |
| mouse globals | |
| mousew32 globals | |
| overlay globals | |
| quit globals | |
| room globals | |
| route_finder_impl globals | |
| screen globals | |
| script globals | |
| agsscript_user_object agscript_string script_runtime globals | |
| string globals | |
| systemimports globals | |
| sys_events globals | |
| timer globals | |
| translation globals | |
| walkablearea globals | |
| walkbehind globals | |
| wordsdictionary globals | |
| PALInternal | |
| LensDistort | |
| Translucence | |
| Starfield | |
| Plasma | |
| Reflections | |
| Raycast | |