This module adds two new stream protocols for zip support in streams : "zip" and "zip?"
"zip" is for reading files that are in the specified zip.
"zip?" is for reading files that are in the specified zip OR (if not found in the zip) on the hard drive (or any other location supported by streams).
The zip stream works over another stream. This means that you can not only access zip files on the hard drive, but also zp files that are incbined, or even zip files within other zip files, and so on.
Example of valid urls: "zip::myGame/myZip.zip//someFile.txt", or even "zip::incbin::myGame/myZip.zip//someFile.txt" if the zip file is incbined.
So you could do by example: LoadText("zip::myGame/myZip.zip//someFile.txt")
Use as you please.
UPDATED on 31 aug 2008 : ZipStream is now seekable, making it usable practically anywhere you want. Tested with zipped ogg files, and it works. Note that you'll need "koriolis.bufferedstream", available in a separate thread.
LAST UPDATE on 22 jun 2010: Fixed crash when attempting to close an already closed ZipStream. Corrected misspell in SetZipStreamPassword and ClearZipStreamPassword (but also kept misspelled version for backward compatibility).
Link to corresponding thread on BRL's official site:
http://blitzbasic.com/Community/posts.php?topic=71734