Hi guys,
There are many bitmap images that come with Shareaza, especially for skins. None of these images are compressed, although for 4 bit and 16 bit indexed images it's possible to enable RLE compression. AFAIK since Windows XP all Windows versions provide native support for this compression so as long as Shareaza relies on the OS to deal with these images, this compression should be entirely transparent. Since Win 9x support was dropped, what about taking advantage of this?
So I tested with a few ShareazaOS images in C:\Program Files\Shareaza\Skins\ShareazaOS and everything seemed to work fine... under Wine. Then I grabbed the zip archive containing the source code of Shareaza 2.4.0.0 and looked for all .bmp images (dir /s *.bmp), and compressed those that were indexed (see the attachment). It's tedious because in some cases RLE compression actually increases the file size, so it's can't be easily automatized. But hey, I have time to lose...
There's also another catch: zip compresses better an image that is not already RLE compressed, so the archive's size increases slightly (~100 Kb) but this could help to reduce the disk space occupied by Shareaza when it's installed.
To give a rough idea, the result is that when extracted, the original source code's size is 50 Mb, with compressed bmp images it was reduced to 48 Mb. Interestingly, I think some other, currently RGB images could be compressed if they were indexed. For instance Skins\ShareazaOS\sos_navbar_hr.bmp Skins\ShareazaOS\sos_navbar_kr.bmp that were probably left as RGB inadvertently, or the Green Moon, NucleoX and Arcadia's Call skins (some of these skins do not appear in the executable, no idea why they are in the source archive).
So if the idea is interesting, if someone could explain me the difference between RGB and indexed in Shareaza (is it only for aesthetics wrt the colour palette?), and if additional images could indeed be indexed, like I said, I have time to lose.