It just seems like that was way too easy. I just moved the decompression function into item class, because it has the DataBlock stored in itself now. After that it just became a matter of looping throught the array a few times to get the data I needed, in the order I need it. I'm thinking that removing an item from the "file" will just be a removal from the ArrayList, and overwrite the existing file, or save as new. Pretty much same thing with the insertion-at-index, I should be able to easily do that to the ArrayList, and again just overwrite or save as new from the updated list.
Maybe I will make it to adding recompression with different level today, who knows. I guess I will upload source and exe files later tonight when I feel I'm done for the day.
I still have to determine type code from file extention too, but here is a screenie for you.
C5RICON.TGA is the file I imported into the original archive.
Uploaded with release, and debug builds, with source code, and required DLL files.