I found that a certain WAV file (Teamspeak's "Your presence in the channel is no longer appreciated") doesn't like getting compressed with bzip2. When I try to extract, I get an error from bzip saying that the data is corrupt - which is odd. I'm pretty sure I'm compressing the file correctly...
Oh well, I can not compress that file anyway.
The new version of my packer; DruinkPacker has better support for large files. FudgePacker memory mapped the whole pack file - which would have been a very bad thing if the pack file was several MB. The new version only memory maps enough of the pack file to extract the current file. Sizes are rounded up to 4MB to save me remapping the file constantly.
I don't currently support compression, but it'd be easy to add to the library. I don't like how bloated Fudgepacker was, with support for both zlib and bzip2. If anything, I'll just support zlib, because it's faster.
Another difference between DruinkPacker and FudgePacker is that DruinkPacker file headers are encrypted. Nothing major, each file just has its header chunk XORd with some value. Also, I don't store file names in the pack file - just file IDs. Since the game engine can get a 32-bit ID from any string (I may change this to 64-bit if I get collisions), I can just store the ID in the pack file instead of the full pathname.
So tonight (Or more likely during lunch time today), I need to get my new packer library set up to link to my engine. The pack library and a seperate exe that you can drag and drop a directory onto is already done.
After that, I'm going to move on to doing graphicy stuff - first a texture loader and cache, then I need some form of scene graph (I should just be able to port my old code), and I'd like to get my texture sheets and sprite code working nicely again (Even if it's just a lightweight set of classes and fucntions), then models. Then networking...
EDIT: Yup, DruinkPacker is now all working with my engine. A few minor teething problems, but nothing major. Yay!
In fact, I should fix my crap journal header... There we go. Slightly more useful. I should really add colour or something.
I'm open to suggestions on how to lay that out - I'd like rough percentages too (E.g. MD2 model loading - 50%).