file_select_ex - Displays the Allegro file selector with a caption.
int file_select_ex(const char *message, char *path, const char
*ext, int size, int w, int h);
Displays the Allegro file selector, with the message as caption. The path
parameter contains the initial filename to display (this can be used to set
the starting directory, or to provide a default filename for a save-as
operation). The user selection is returned by altering the path buffer, whose
maximum capacity in bytes is specified by the size parameter. Note that it
should have room for at least 80 characters (not bytes), so you should reserve
6x that amount, just to be sure. The list of files is filtered according to
the file extensions in the ext parameter. Passing NULL includes all files;
"PCX;BMP" includes only files with `.PCX' or `.BMP' extensions. If
you wish to control files by their attributes, one of the fields in the
extension list can begin with a slash, followed by a set of attribute
characters. Any attribute written on its own, or with a '+' before it,
indicates to include only files which have that attribute set. Any attribute
with a '-' before it indicates to leave out any files with that attribute. The
flag characters are `r' (read-only), `h' (hidden), `s' (system), `d'
(directory) and `a' (archive). For example, an extension string of
"PCX;BMP;/+r-h" will display only PCX or BMP files that are
read-only and not hidden. The directories are not affected in the same way as
the other files by the extension string: the extensions are never taken into
account for them and the other attributes are taken into account only when 'd'
is mentioned in the string; in other words, all directories are included when
'd' is not mentioned in the string. The file selector is stretched to the
width and height specified in the w and h parameters, and to the size of the
standard Allegro font. If either the width or height argument is set to zero,
it is stretched to the corresponding screen dimension. This function returns
zero if it was closed with the Cancel button or non-zero if it was OK'd.