I'm not even going to pretend I did it to greatly advance the modding community,
I was just looking for an excuse to play with fuse for very long time,
and that one was as good as they get.
With this driver (available from etwng repository) you can use .packs
the way CA intended - as virtual filesystem.
It's just like mounting a DVD image in .iso format, except you can mount
multiple packs together, and driver will pick correct version from proper
file (it doesn't do dependency headers yet, only pack types and whatever
order you specified, I'll add that later).
It looks like this (on random bunch of pack files I had around, notice how they're ordered):
And then you can use them in Finder.app or any other application as normal files.
File modification date is copied from pack, but the rest is just silly defaults.
Everything is read-only just like with DVD images, and will most likely stay so.
This driver will crash if you look at it in a funny way, but it will not crash rest of the system -
it will just unmount and exit (that's how FUSE works).
I only tested it on 32-bit OSX 10.5. Compiling it on Linux, OSX 10.6, essentially nearly everything
including OpenSolaris (but not Windows), will take like 5-15 minutes of figuring out what are your correct fuse compile options.
I've heard rumors of Windows FUSE ports, and if they turn out to be true then you could have
this driver on Windows by tomorrow, and that would probably be useful. Anyone from Windows
world knows more about it?