I recently got back to working on FNIStash in Haskell after some diversion into F#, and I had a great breakthrough in developing yesterday. I successfully installed the Codec-Image-Devil package of bindings to the DevIL image library, which I then used to read the DDS files that are archived in TL2’s PAK archive. For each one of these DDS files there also exists and IMAGESET (XML) file that defines the name and location of each icon in the DDS file. Using this information, I wrote out each icon to disk as a PNG file. My goal is that eventually these will be hosted through an HTML interface to simulate the TL2 stash.
I was somewhat selective about the icons I wrote to disk, and I still got out nearly 1000 icons. Here are a few: