Xzip is a custom file archive utility for GameMaker Studio 2. Don't store your external files where anyone can see and edit them, use Xzip!
GameMaker Studio supports the inclusion of external files with game projects... with caveats. By default, any included files will export completely unprotected, while your primary assets are tucked safely away in an archive that's difficult for the average user to access or modify. Why shouldn't external files get the same treatment?
Although GameMaker has built-in support for .zip archives with the
zip_unzip command, this command offers no granular access to archive contents and will pause the game until the entire archive is extracted. It also lacks support for any kind of security features. What's more, there's no corresponding
zip_zip command to create archives in the first place!
Xzip is an archive format reimagined just for GameMaker Studio 2 to manage external files discretely and securely. Although it utilizes compression, Xzip's focus is not on making big files smaller. Instead, Xzip aims to make using external archives convenient, fast, and powerful using only native GML and smart, simple commands.
Xzip is built using native GML functions for the widest platform compatibility. Unlike
zip_unzip , which offers no flexibility, Xzip can create, read, and extract archives with individual file access. You can even access and modify files inside the archive--no extraction required!
Xzip supports adding and manipulating files individually, as folders, or as arrays. All relative paths are preserved in the archive--but you don't need to remember that. Automatic folder management means a file name and extension are all you need to access data anywhere in the archive.
Can't remember that much? Numerical indices are supported too!
Using a combination of custom metadata and compressed binary data, Xzip balances speed and security to serve the broadest possible uses for your external file needs. You can also read and write regular game data to the same archives as your files!
While anyone can access zip files included with your game, data stored in Xzip cannot be read with conventional archive software. To further protect against unwanted tampering, extracted files can be verified against their original archived copies and overwritten if any changes are detected.
For maximum security, combine with GameMaker's built-in MD5 encoding to determine if the archive itself has been tampered with, and your files are bullet-proof.
(Note that Xzip itself does not use encryption. However, encrypted files can be read and written to Xzip archives for highest security.)
All XGASOFT products include clear, detailed documentation in code comments, included PDFs, and online. Visit the online documentation now!