Provided by: allegro4-doc_4.4.2-10_all bug

NAME

       packfile_password - Sets the global I/O encryption password. Allegro game programming library.

SYNOPSIS

       #include <allegro.h>

       void packfile_password(const char *password);

DESCRIPTION

       Sets  the  encryption  password  to be used for all read/write operations on files opened in future using
       Allegro's packfile functions (whether they are compressed or not),  including  all  the  save,  load  and
       config  routines.  Files  written  with an encryption password cannot be read unless the same password is
       selected, so be careful: if you forget the key, nobody can make your data come back again! Pass  NULL  or
       an  empty  string  to return to the normal, non-encrypted mode. If you are using this function to prevent
       people getting access to your datafiles, be careful not to store an obvious copy of the password in  your
       executable: if there are any strings like "I'm the password for the datafile", it would be fairly easy to
       get access to your data :-)

       Note #1: when writing a packfile, you can change the password to whatever  you  want  after  opening  the
       file,  without  affecting  the write operation.  On the contrary, when writing a sub-chunk of a packfile,
       you must make sure that the password that was active at the time the sub-chunk was opened is still active
       before  closing  the  sub-chunk. This is guaranteed to be true if you didn't call the packfile_password()
       routine in the meantime. Read operations, either on packfiles or sub-chunks, have no such restriction.

       Note #2: as explained above, the password is used for all read/write operations on files,  including  for
       several  functions  of  the  library  that  operate  on  files  without  explicitly using packfiles (e.g.
       load_bitmap()).  The unencrypted mode is mandatory in order  for  those  functions  to  work.   Therefore
       remember  to  call packfile_password(NULL) before using them if you previously changed the password. As a
       rule of thumb, always call packfile_password(NULL) when you are done with operations on  packfiles.   The
       only exception to this is custom packfiles created with pack_fopen_vtable().

SEE ALSO

       pack_fopen(3alleg4), load_datafile(3alleg4), pack_fopen_vtable(3alleg4)