Provided by: allegro5-doc_5.2.8.0-2_all bug

NAME

       al_get_standard_path - Allegro 5 API

SYNOPSIS

              #include <allegro5/allegro.h>

              ALLEGRO_PATH *al_get_standard_path(int id)

DESCRIPTION

       Gets a system path, depending on the id parameter.  Some of these paths may be affected by
       the organization and application name, so  be  sure  to  set  those  before  calling  this
       function.

       The paths are not guaranteed to be unique (e.g., SETTINGS and DATA may be the same on some
       platforms), so you should be sure your filenames are unique if you need  to  avoid  naming
       collisions.  Also, a returned path may not actually exist on the file system.

       ALLEGRO_RESOURCES_PATH
              If  you  bundle data in a location relative to your executable, then you should use
              this path to locate that data.  On most  platforms,  this  is  the  directory  that
              contains the executable file.

              If  called  from  an OS X app bundle, then this will point to the internal resource
              directory (<bundle.app>/Contents/Resources).  To maintain consistency, if  you  put
              your  resources into a directory called “data” beneath the executable on some other
              platform (like Windows), then you should also  create  a  directory  called  “data”
              under the OS X app bundle’s resource folder.

              You should not try to write to this path, as it is very likely read-only.

              If  you  install your resources in some other system directory (e.g., in /usr/share
              or C:\ProgramData), then you are responsible for keeping track of that yourself.

       ALLEGRO_TEMP_PATH
              Path to the directory for temporary files.

       ALLEGRO_USER_HOME_PATH
              This is the user’s home directory.  You should not normally write files  into  this
              directory  directly,  or  create any sub folders in it, without explicit permission
              from the user.  One practical application of this path would be to use  it  as  the
              starting place of a file selector in a GUI.

       ALLEGRO_USER_DOCUMENTS_PATH
              This location is easily accessible by the user, and is the place to store documents
              and files that the user might want to  later  open  with  an  external  program  or
              transfer to another place.

              You  should  not  save  files  here unless the user expects it, usually by explicit
              permission.

       ALLEGRO_USER_DATA_PATH
              If your program saves any data that the user doesn’t  need  to  access  externally,
              then  you  should  place  it  here.  This is generally the least intrusive place to
              store data.  This path will usually not be present on the file system, so make sure
              to create it before writing to it.

       ALLEGRO_USER_SETTINGS_PATH
              If you are saving configuration files (especially if the user may want to edit them
              outside of your program), then you should place them here.  This path will  usually
              not be present on the file system, so make sure to create it before writing to it.

       ALLEGRO_EXENAME_PATH
              The full path to the executable.

       Returns NULL on failure.  The returned path should be freed with al_destroy_path(3alleg5).

SEE ALSO

       al_set_app_name(3alleg5),        al_set_org_name(3alleg5),       al_destroy_path(3alleg5),
       al_set_exe_name(3alleg5)