#
#  Configuration file for the Allegro 5 library.
#
#  This file should be either in the same directory as your program.
#
#  On Unix, this file may also be stored as ~/.allegro5rc or /etc/allegro5rc.
#  If multiple files exist, they will be merged, with values from more specific
#  files overriding the less specific files.

[graphics]

# Graphics driver.
# Can be 'default', 'opengl' or 'direct3d' (Windows only).
driver=default

# Display configuration selection mode.
#
# Under Linux, it can be used to force the old GLX 1.2 way of choosing
# display settings or the new FBConfig method introduced with GLX 1.3.
#
# Under Windows, when using the OpenGL driver, setting it to old will
# use DescribePixelFormat and new will use wglGetPixelFormatAttribivARB
# (provided by WGL_ARB_pixel_format extension).
#
# Can be 'old' and 'new'. Default is 'new'.
config_selection=new

# What method to use to detect legacy cards for the Direct3D backend of the
# primitives addon. Can be 'default', which means it'll check that the pixel
# shader version supported is below some value. 'force_legacy' will force it to
# detect as a legacy card. 'force_modern' will force it to detect is as a modern
# card.
prim_d3d_legacy_detection=default

# For compatibility reasons, video bitmaps smaller than this size are
# backed by textures with this size. This is often no longer necessary
# on more modern systems, and should be set to < 16 if you're creating
# bitmaps smaller than this size. Note that on Android, this is ignored
# if smaller than 32.
min_bitmap_size=16

[audio]

# Driver can be 'default', 'openal', 'alsa', 'oss', 'pulseaudio' or 'directsound'
# depending on platform.
driver=default

# Mixer quality can be 'linear' (default), 'cubic' (best), or 'point' (bad).
# default_mixer_quality=linear

# The frequency to use for the default voice/mixer. Default: 44100.
# primary_voice_frequency=44100
# primary_mixer_frequency=44100

# Can be 'int16', otherwise defaults to float32.
# primary_voice_depth=float32
# primary_mixer_depth=float32

[oss]

# You can skip probing for OSS4 driver by setting this option to 'yes'.
# Default is 'no'.
force_ver3=no

# When OSS3 is used, you can choose a sound device here.
# Default is '/dev/dsp'.
device=/dev/dsp

[alsa]

# Set the ALSA sound device.
# Default is 'default'.
device=default

# Set the ALSA capture device, e.g. hw:0,0
# Default is 'default'.
capture_device=default

# Set the period size (in samples)
# Note that this is erroneously called 'buffer_size' for backwards
# compatibility.
buffer_size=32

# Set the buffer size (in samples)
buffer_size2=2048

[pulseaudio]

# Set the buffer size (in samples)
buffer_size=1024

[directsound]

# Set the DirectSound buffer size (in samples)
buffer_size = 8192

# Which window to attach the device to. Can be 'desktop', or 'foreground'. Try
# flipping this if there are issues initializing audio.
window = desktop

[opengl]

# If you want to support old OpenGL versions, you can make Allegro
# believe an older version than what you actually have is used with
# this key. This is only for testing/debugging purposes.

# force_opengl_version = 1.2

[opengl_disabled_extensions]

# Any OpenGL extensions can be listed here to make Allegro report them
# as not available. The extensions used by Allegro itself if available
# are shown below - uncommenting them would disable them:

# GL_ARB_texture_non_power_of_two=0
# GL_EXT_framebuffer_object=0

[image]

# Gamma handling of PNG files.
# A value of 0.0 means: Don't do any gamma correction.
# A value of -1.0 means: Use the value from the environment variable
# SCREEN_GAMMA (if available), otherwise fallback to a value of 2.2
# (a good guess for PC monitors, and the value for sRGB colourspace).
# Otherwise, the value is taken as-is.
png_screen_gamma = -1.0

# Compression level for PNG files. Possible values: 0-9, "best", "fastest",
# "none" or "default" (a sane compromise between size and speed).
png_compression_level = default

# Quality level for JPEG files. Possible values: 0-100
jpeg_quality_level = 75

# Quality level for WebP files. Possible values: 0-100 or "lossless"
webp_quality_level = lossless

[joystick]

# Linux: Allegro normally searches for joystick device N at /dev/input/jsN.
# You can override the device file path on a per-device basis, like this.

# device0=/dev/input/by-id/usb-blahblah-joystick

# Windows: You can choose between the XINPUT or DIRECTINPUT driver for
# joysticks and force feedback joysticks. Xinput is the more modern
# system, but DirectInput has more force feedback capabilities for older
# joysticks.
driver=XINPUT

# Windows: Use this to force an XInput DLL version, example "3" forces
# xinput1_3.dll. By default, the latest version is used.

# force_xinput_version = 3

[keyboard]

# You can trap/untrap the mouse cursor within a window with a key combination
# of your choice, e.g. "Ctrl-G", "Shift-Ctrl-G", "Ctrl-LShift", "RWin".
# This feature currently only works on X11 and Windows.

# toggle_mouse_grab_key = ScrollLock

# By default, you can press Ctrl-Alt-Delete or Ctrl-Alt-End to quit Allegro
# programs. Set this to false to disable this feature. This only works on
# Linux.

# enable_three_finger_exit = true

# By default, pressing the LED toggling keys (e.g. CapsLock) will also toggle
# the LED on the keyboard. Setting this to false disable that connection.
# This can only be controled on non-X11 Linux.

# enable_key_led_toggle = true


[trace]
# Comma-separated list of channels to log. Default is "all" which
# disables channel filtering. Some possible channels are:
# system,display,keyboard,opengl
# Channel names can be prefixed with - to exclude only those channels.
# Each addon and source-file can define additional channels though so
# there are more.
channels=all

# Log-level. Can be one of debug, info, warn, error, none or empty.
# In debug builds if it is empty or unset, then the level is set to debug.
# In release builds if it is empty or unset, then the level is set to none.
# If not none, Allegro will write out the logs to an allegro.log file next to
# the binary. Use ALLEGRO_TRACE environment variable to control that file
# location. A special filename of - (dash) means logging to stdout.
# You can override this value via the ALLEGRO_TRACE_LEVEL environment variable.
level=

# Set to 0 to disable line numbers in log files.
lines=1

# Set to 0 to disable timestamps in log files.
timestamps=1

# Set to 0 to disable function names in log files.
functions=1

[x11]
# Can be fullscreen_only, always, never
bypass_compositor = fullscreen_only

[xkeymap]
# Override X11 keycode. The below example maps X11 code 52 (Y) to Allegro
# code 26 (Z) and X11 code 29 (Z) to Allegro code 25 (Y).
# 52=26
# 29=25


[shader]
# If you want to support override version of the d3dx9_xx.dll library
# define this value.
# By default, latest installed version is used.

# force_d3dx9_version = 36

[ttf]

# Set these to something other than 0 to override the default page sizes for TTF
# glyphs.
min_page_size = 0
max_page_size = 0

# This entry contains characters that will be pre-catched during font loading.
# cache_text = a bcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

# Uncomment if you want only the characters in the cache_text entry to ever be drawn
# skip_cache_misses = true

[osx]

# If set to false, then Allegro will send ALLEGRO_EVENT_DISPLAY_HALT_DRAWING
# and ALLEGRO_EVENT_DISPLAY_RESUME_DRAWING events when the user resizes a
# window. Drawing while resizing ("live resizing") has historically been buggy,
# so setting this to false allows you to opt out of this behavior and detect
# when the resize happens.
allow_live_resize = true

[compatibility]

# Prior to 5.2.4 on Windows you had to manually resize the display when
# showing the menu using the dialog addon. After 5.2.4 this is done
# automatically, but may break old code that handled this eventuality.
# Set this to false for such code.
automatic_menu_display_resize = true

# On OSX outside an app bundle, on system init allegro manually promotes the process
# to a graphical application. This may be undesirable for console applications. Set
# this to false to disable this behavior.
osx_tell_dock_outside_bundle = true

# To restore behavior of older code versions, specify this value to the
# Allegro version that had the desired old behavior.
# joystick_version = 5.2.9
# keyboard_version = 5.2.9

# Prefer using DUMB rather than OpenMPT to decode module files.
acodec_prefer_dumb = false
