Difference between revisions of "Defines"
(→Defines to enable platform specific optional features: locale detection is supported on Windows, clarify that by removing "(?)".) |
(New section with defines, which might be useful for release builds. Also move the NDEBUG define to that section since it actually disables assertions, thus it did not realy belong to the debug section) |
||
Line 697: | Line 697: | ||
|- | |- | ||
| LAYOUT_DEBUG_DIALOG | | LAYOUT_DEBUG_DIALOG | ||
| | | | ||
| | | | ||
Line 790: | Line 785: | ||
| | | | ||
| | | | ||
|} | |||
==Defines useful for release builds== | |||
{| border="1" cellspacing="0" cellpadding="2" | |||
|- | |||
! Token | |||
! Defined by | |||
! Used in | |||
! Purpose | |||
|- | |||
| RELEASE_BUILD | |||
| The build system. | |||
| | |||
| This is (and should be) defined for all release builds. | |||
|- | |||
| NDEBUG | |||
| | |||
| | |||
| This define disables all assertions. We usually do not set this, i.e. ship releases with assertions. | |||
|} | |} | ||
Line 989: | Line 1,004: | ||
|- | |- | ||
| REG_EXMEMCNT | | REG_EXMEMCNT | ||
| | | | ||
| | | | ||
Line 1,019: | Line 1,029: | ||
|- | |- | ||
| SCUMMVM_SVN_REVISION | | SCUMMVM_SVN_REVISION | ||
| The build system. | |||
| | | | ||
| | | Appends the specified revision number to the version string. | ||
|- | |- | ||
| SCUMM_IMUSE_INTERNAL | | SCUMM_IMUSE_INTERNAL |
Revision as of 09:56, 8 October 2010
This is a list of all the tokens that are being used in a #ifdef or #ifndef in a .cpp or .h file, except for .h files, where tokens used as #ifndef FOO_H or #ifndef FOO_H_ are excluded, as these are almost certainly just include guards. The list is current as of r52922.
No additional filtering has been performed as of yet; some tokens are defined by a platform, while others may not actually be used. Additionally, defined symbols not used in #ifndef or #ifdef are not included at all here.
Defines to be set by/for backends
The following defines are meant to be defined by backend authors, typically in configure (or a custom Makefile). Usually these enable or disable certain features in ScummVM. E.g. a low-powered port might turn off some features that won't work on the target device anyway, to free up some memory.
Defines to configure the backend
Token | Defined by | Used in | Purpose |
---|---|---|---|
AUDIO_REVERSE_STEREO | |||
BACKEND_8BIT | |||
DATA_PATH | |||
MIXER_DOUBLE_BUFFERING | |||
OUTPUT_UNSIGNED_AUDIO | |||
SCUMM_BIG_ENDIAN | |||
SCUMM_LITTLE_ENDIAN | |||
SCUMM_NEED_ALIGNMENT | |||
SCUMMVM_DONT_DEFINE_TYPES | |||
SMALL_SCREEN_DEVICE |
Defines to enable usage of external dependencies
Token | Defined by | Used in | Purpose |
---|---|---|---|
LEGACY_FLAC | |||
USE_FLAC | |||
USE_MAD | |||
USE_MPEG2 | |||
USE_MPEG2_0_3_1 | |||
USE_READLINE | |||
USE_TREMOLO | |||
USE_TREMOR | |||
USE_VORBIS | |||
USE_ZLIB |
Defines to configure plugin handling
Token | Defined by | Used in | Purpose |
---|---|---|---|
DYNAMIC_MODULES | |||
PLUGIN_DIRECTORY | |||
PLUGIN_EXPORT | |||
PLUGIN_PREFIX | |||
PLUGIN_SUFFIX |
Defines to enable engines or parts of them
Token | Defined by | Used in | Purpose |
---|---|---|---|
ENABLE_AGI | |||
ENABLE_AGOS | |||
ENABLE_AGOS2 | |||
ENABLE_CINE | |||
ENABLE_CRUISE | |||
ENABLE_DRACI | |||
ENABLE_DRASCULA | |||
ENABLE_GOB | |||
ENABLE_GROOVIE | |||
ENABLE_GROOVIE2 | |||
ENABLE_HE | |||
ENABLE_HUGO | |||
ENABLE_IHNM | |||
ENABLE_KYRA | |||
ENABLE_LOL | |||
ENABLE_LURE | |||
ENABLE_M4 | |||
ENABLE_MADE | |||
ENABLE_MOHAWK | |||
ENABLE_PARALLACTION | |||
ENABLE_QUEEN | |||
ENABLE_SAGA | |||
ENABLE_SAGA2 | |||
ENABLE_SCI | |||
ENABLE_SCI32 | |||
ENABLE_SCI3_GAMES | |||
ENABLE_SCUMM | |||
ENABLE_SCUMM_7_8 | |||
ENABLE_SKY | |||
ENABLE_SWORD1 | |||
ENABLE_SWORD2 | |||
ENABLE_TEENAGENT | |||
ENABLE_TESTBED | |||
ENABLE_TINSEL | |||
ENABLE_TOUCHE | |||
ENABLE_TUCKER |
Defines to change user-visible default behaviours
Token | Defined by | Used in | Purpose |
---|---|---|---|
FORCE_RTL | Makes ScummVM return to the launcher instead of exiting (ideal for ports that take a long while to load) | ||
LURE_CLICKABLE_MENUS | Makes the Lure of the Temptress' menus clickable instead of hoverable (making them more usable for touchscreens) |
Defines to enable common optional features
Token | Defined by | Used in | Purpose |
---|---|---|---|
ENABLE_KEYMAPPER | |||
ENABLE_VKEYBD | |||
DISABLE_COMMAND_LINE | |||
DISABLE_FANCY_THEMES | |||
DISABLE_HELP | |||
DISABLE_TEXT_CONSOLE | |||
DISABLE_TOWNS_DUAL_LAYER_MODE | SCUMM FM-Towns games | Reduces binary size by removing the FM-Towns dual layer emulation. This removes support for SCUMM v5 FM-Towns games and it might add some glitches to SCUMM v3 FM-Towns games. | |
USE_HQ_SCALERS | |||
USE_INDEO3 | |||
USE_OSD | |||
USE_RGB_COLOR | |||
USE_SCALERS | |||
USE_TEXT_CONSOLE | |||
USE_TRANSLATION |
Defines to enable platform specific optional features
Token | Defined by | Used in | Purpose |
---|---|---|---|
DISABLE_PSP_MP3 | |||
USE_DETECTLANG | Enables the detection of the system language (supported on POSIX systems, Windows) |
Defines to enable emulation of audio devices
Token | Defined by | Used in | Purpose |
---|---|---|---|
DISABLE_DOSBOX_OPL | |||
DISABLE_NES_APU | |||
DISABLE_PC98_RHYTHM_CHANNEL | PC-98 versions of Legend of Kyrandia 2 and Lands of Lore | Reduces binary size by disabling the rhythm channel when emulating certain PC-98 sound cards | |
DISABLE_SID | |||
ENABLE_FASCIN_ADLIB | strangerke | Fascination | Enable the MDY/TBR player used by Fascination (Dos Floppy). |
USE_MT32EMU |
Defines to enable platform specific MIDI drivers
Token | Defined by | Used in | Purpose |
---|---|---|---|
USE_ALSA | |||
USE_FLUIDSYNTH | |||
USE_SEQ_MIDI |
Defines to enable common optimizations
Token | Defined by | Used in | Purpose |
---|---|---|---|
DISABLE_GUI_BUILTIN_THEME | Disables embedding the default theme into the executable (reduces the binary size) | ||
DISABLE_SAVEGAME_SORTING | |||
REDUCE_MEMORY_USAGE | |||
STREAM_AUDIO_FROM_DISK |
Defines to enable platform specific optimizations
Token | Defined by | Used in | Purpose |
---|---|---|---|
MT32EMU_HAVE_X86 | |||
USE_ARM_COSTUME_ASM | |||
USE_ARM_GFX_ASM | |||
USE_ARM_SCALER_ASM | |||
USE_ARM_SMUSH_ASM | |||
USE_NASM | Enables x86 optimized versions of the HQ scalers |
Defines to enable debugging and testing facilities
Token | Defined by | Used in | Purpose |
---|---|---|---|
DEBUG | |||
DEBUG_ADLIB | |||
DEBUG_EXTRACTION_TABLES | |||
DEBUG_HASH_COLLISIONS | |||
DEBUG_PARSER | |||
DEBUG_RATECONV | |||
DEBUG_SPRITE_MASK | |||
DEBUG_WII_GDB | |||
DEBUG_WII_MEMSTATS | |||
DETECTOR_TESTING_HACK | |||
DL_DEBUG | |||
DUMP_OBJECT | |||
DUMP_SCRIPT | |||
DUMP_SCRIPTS | |||
DUMP_STDOUT | |||
ENABLE_PROFILING | |||
FUNCTION_DEBUG | |||
INTRO_TEST | |||
LAYOUT_DEBUG_DIALOG | |||
PSP_ENABLE_SPEED_TESTS | |||
PSP_ENABLE_UNIT_TESTS | |||
SAGA_DEBUG | |||
SCENE_DEBUG | |||
SCI_DEBUG_PARSE_TREE_AUGMENTATION | |||
SCI_VERBOSE_RESMAN | |||
SCRIPT_DEBUG | |||
SCRIPT_TEST | |||
SWORD2_DEBUG | |||
TEST_MEMORY_COPY | |||
USE_PROFILER | |||
VM_DEBUG_SEND | |||
__PS2_DEBUG__ | |||
__PS2_FILE_DEBUG__ | |||
__PSP_DEBUG_FUNCS__ | |||
__PSP_DEBUG_PRINT__ | |||
__PSP_PRINT_TO_FILE__ |
Defines useful for release builds
Token | Defined by | Used in | Purpose |
---|---|---|---|
RELEASE_BUILD | The build system. | This is (and should be) defined for all release builds. | |
NDEBUG | This define disables all assertions. We usually do not set this, i.e. ship releases with assertions. |
Unsorted
The following defines have not yet put into any category. Many of them might also be inappropriate for this page.
Token | Defined by | Used in | Purpose |
---|---|---|---|
COREAUDIO_DISABLE_REVERB | |||
DETECT_BRODERBUND_TITLES | |||
DISABLE_MD5 | |||
DISC_CACHE | |||
DITHER | |||
DRAW_GRAPHICS | |||
DW2_EXACT_SIZE | |||
DXA_EXPERIMENT_MAXD | |||
ENABLE_RENDER_MEASURE | |||
EPOC_AS_APP | |||
FILE_TIME_SUPPORT | |||
FORCEINLINE | |||
FORCE_SLIDY | |||
GUI_THEME_EVAL | |||
HEAVY_LOGGING | |||
INADDR_NONE | |||
INCLUDED_FROM_BASE_VERSION_CPP | |||
JAPAN | |||
JOY_ANALOG | |||
JOY_INVERT_Y | |||
LIMIT_FPS | |||
LIMIT_FRAME_RATE | |||
MAC_OPTIONS | |||
MAXPATHLEN | |||
MAXTRAX_HAS_MICROTONAL | |||
MAXTRAX_HAS_MODULATION | |||
MAX_INT | |||
MIN | |||
NORETURN_POST | |||
NORETURN_PRE | |||
NOSERIAL | |||
NO_ADAPTOR | |||
PATH_MAX | |||
PERFECT_5_TO_4_RESCALING | |||
PRINT_BUFFERS | |||
PSP_KB_SHELL | |||
REG_EXEMEMCNT | |||
REG_EXMEMCNT | |||
RONIN_TIMER_ACCESS | |||
SAMPLES_PER_SEC_8000 | |||
SCALER_PROFILE | |||
SCI_CONSOLE | |||
SCUMMVM_SVN_REVISION | The build system. | Appends the specified revision number to the version string. | |
SCUMM_IMUSE_INTERNAL | |||
SKIP_INTRO | |||
SLOW_RINCE_DOWN | |||
SCUMMVM_IPC_INCLUDE | |||
SNPRINTF_LONGLONG_SUPPORT | |||
SOUND_CROP_CHANNELS | |||
STRINGBUFLEN | |||
SYSEX_CALLBACK_FUNCTION | |||
TIMIDITY_LOW_DELAY | |||
UNICODE | |||
UNZ_BUFSIZE | |||
UNZ_MAXFILENAMEINZIP | |||
UPGRADE_ALL_TARGETS_HACK | |||
USERSPACE_ONLY | |||
USE_HASHMAP_MEMORY_POOL | |||
WAVE_PRECISION | |||
WIN32_PLATFORM_WFSP | |||
WRAP_MALLOC | |||
__FRAMFS_SAVE_MANAGER__ | |||
__MINGW32CE__ | |||
__MMX__ | |||
__N64_PORTDEFS__ | |||
__PAKFS_SAVE_MANAGER__ | |||
__PS2FILE_IO__ | |||
__PS2_FILE_SEMA__ | |||
__SSE__ | |||
__USE_INLINE__ | |||
__USE_LIBMC__ |
Defines used to determine the target platform/OS
Token | Defined by | Used in | Purpose |
---|---|---|---|
ANDROID | |||
ARM | |||
GAMECUBE | |||
IPHONE | |||
IPHONE_OFFICIAL | |||
LINUPY | |||
LINUXMOTO_SDL | |||
MACOSX | |||
MOTOEZX | |||
MOTOMAGX | |||
NDS | |||
QTOPIA | |||
S60 | |||
UIQ | |||
UNIX | |||
WIN32 | |||
__DC__ | |||
__DS__ | |||
__N64__ | |||
__OS2__ | |||
__PLAYSTATION2__ | |||
__PSP__ | |||
__sgi | |||
__SYMBIAN32__ | |||
__WII__ |