[physfs] abstract archivers...

Ryan C. Gordon icculus at icculus.org
Wed Nov 28 01:52:17 EST 2012


This is work in progress and will be changing a little before we ship a 
formal 2.1.0 release.

I've just pushed the changes to allow application-defined archivers, 
which means you can supply your own implementation at runtime and it 
will be available to PhysicsFS just like the built-in .zip, etc handlers.

One use for this is to supply your own archive formats without making 
changes to PhysicsFS directly. Another is to supply a "virtual" archive 
that has no file format at all, but as far as the library is concerned, 
it still can query for directory info, open fake file streams, etc.

Think of this as making PhysicsFS a lot like FUSE: you can do any crazy 
thing you like and make it look like a filesystem, and live in the same 
virtual tree as real files (and files in archives, etc). Want to 
PHYSFS_openRead() a file on an HTTP server? You can do it now, with 
enough coding effort in your app.

The interface that your app provides, PHYSFS_Archiver, is going to be 
simplified a little...it's got a few legacy complexities to shake out 
still. I still need to work out the API to say "mount this virtual thing 
with this archiver and don't look for a real file," and test things in 
general.

Basic API details at this point:

http://hg.icculus.org/icculus/physfs/file/5476917b8ddf/src/physfs.h#l3317

Enjoy!

--ryan.



More information about the physfs mailing list