# PhysicsFS integration

PhysicsFS is a library to provide abstract access to various archives.
See <http://icculus.org/physfs/> for more information.

This addon makes it possible to read and write files (on disk or inside
archives) using PhysicsFS, through Allegro's file I/O API.
For example, that means you can use the Image I/O addon to load
images from .zip files.

You must set up PhysicsFS through its own API.  When you want to open an
ALLEGRO_FILE using PhysicsFS, first call [al_set_physfs_file_interface],
then [al_fopen] or another function that calls [al_fopen].


These functions are declared in the following header file.
Link with allegro_physfs.

    #include <allegro5/allegro_physfs.h>

## API: al_set_physfs_file_interface

After calling this, subsequent calls to [al_fopen] will be handled
by PHYSFS_open(). Operations on the files returned by [al_fopen]
will then be performed through PhysicsFS.

At the same time, all filesystem functions like [al_read_directory] or
[al_create_fs_entry] will use PhysicsFS.

This functions only affects the thread it was called from.

To remember and restore another file I/O backend, you can use
[al_store_state]/[al_restore_state].

See also: [al_set_new_file_interface].

## API: al_get_allegro_physfs_version

Returns the (compiled) version of the addon, in the same format as
[al_get_allegro_version].
