We are looking to add an archiving system to our game, where the assets (textures, scripts, sounds, etc.) will be located and directly accessed from memory. The main requirements are:
Files must not be compressed
Archive must have an internal folder structure
Individual files must be accessed directly from the archive without the need to extract them to the hard disk
If an external API is used, it must be able to run on Windows, Mac and Linux ; optimally, it should be redistributable free of charge
Our game engine is in C#, and we are looking for a managed solution (i.e. no PhysicsFS). What could be our options in this case?
Could it make sense to implement the whole thing by ourselves, using FileStream?