In Blitzmax there is one library with name Koriolis ZipStream. You can read directly from inside a zip file and you set and password for this zip file too.
It uses functions like.
SetZipStreamPasssword("My_File.ext", "some_password")
The file will be in zip format but you can use any kind of extension.
You can just zip your all data, including and not supporting data not only images, objects and sounds.
Then you call your images directly from inside the zip file.
The Application Game Kit code should be something like this.
LoadImage(1,"zip::My_File.ext//Monster.png")
I have uploaded the library source code which is in C (It was compiled with MinGW) and someone needs to port it to Application Game Kit.
And there is and another one library which creates zip files and your data files in this zip file and you lock them with password. The name of the library is zipEngine.
I have upload it too.
BUT. If you try to unzip the file which was created with this library even if you know the password with regular unzip or winzip programs it will present you an error.
But the library can restore your zip files correctly. Also if you load your data from the locked zips the data loads correctly in the program.
The Application Game Kit code should be like this.
Global save_zip_File:ZipWriter as New ZipWriter
Global load_zip_File:ZipReader = New ZipReader
save_zip_File.OpenZip("My_File.ext", False) //The last index is False and True if you want to append the files in the zip.
save_zip_File.AddFile("My_File.ext", "some_password")
save_zip_File.CloseZip()
If you see the source code you will see all functions.
Someone needs to port both of these libraries from C to Application Game Kit.
The current versions are for BlitzMax and C.
This should be nice for creating resource makers for your games or add your data on run time. I use these libraries to save and load my games and my data for my BlitzMax projects.