The engine could provide functions like GetByte(),GetInt(),GetString(),... (-> just like MultiEx does it) to get data from the archive file and something along the lines of AddFile(), AddFolder(),... (which the engine would use to create an intern tree which will then be displayed to the user, if the archive format doesn't support directories, there is only one root folder "/")
The advantage is that you have a powerful programming language for your needs. This makes it possible to also support encryption and compression.
What do you think?
