i havent touched the code in over a month until recently. i refactored and cleaned up a bunch of stuff up. its now driven by getopt which rocks socks. mebbe this will give you an idea of its status...
// TODO test extracting list of files --save-as = "filename_N.tga"
// TODO test Yaz0 decompression.
// TODO Implement texture format a (CI14X2)
// TODO add verbose option for extraction.
// TODO convert all images in file. (-x option for all, --extract=NUMBER for specific)
// TODO convert all images in all files.
// TODO code cleanup on TextureFiles (Format, BNR, BTI, TPL)
// TODO consider making this utility a generic game cube file extractor/converter for audio
// WANTED:
// texture format a (CI14X2) compressed bnr, bti, or tpl file.
// Yaz0 compressed bnr, bti, or tpl file.
// can a map contain pointers to constructors as values -- if so how?
/*
* DESCRIPTION:
* Given a Nintendo GameCube file (BNR, BTI, or TPL), show header info, list contents, and/or extract & convert contents.
*/
/*
* SUCCESSFUL BNR TESTS:
* Dance Dance Revolution with MARIO for JP (GWZJ), opening.bnr
*/
/*
* SUCESSFULL BTI TESTS:
* Luigis Mansion (GLME), Effect\hakko.bti, texture format 1 (I8)
* Luigis Mansion (GLME), Ending\house_00.bti, texture format 4 (RGB565)
* The Legend Of Zelda The Wind Waker (GZLP), res\placename\PN0\pn_01_0.bti, texture format 2 (IA4)
* Mario Kart Double Dash (GM4E), CourseName\English\BabyLuigi_name.bti, texture format 5 (RGB5A3)
*/
/*
* SUCESSFULL TPL TESTS:
* Resident Evil 4 Disc 1 (G4BE), etc\pl010a.tpl, texture 0x08, texture format 0 (I4)
* Resident Evil 4 Disc 1 (G4BE), ss\Item\cap09.tpl, texture 0x01, texture format 3 (IA8)
* Dragons Lair 3D (GDGP), banner.tpl, texture 0x00, texture format 5 (RGB5A3)
* Bust a Move 3000 (G3SE), title\TitleE.tpl, texture 0x12, texture format 6 (RGBA8)
* Bust a Move 3000 (G3SE), Attract.tpl, texture 0x06, texture format 8 (CI4), palette format 2 (RGB5A3)
* Bust a Move 3000 (G3SE), Attract.tpl, texture 0x36, texture format 9 (CI8), palette format 2 (RGB5A3)
* Resident Evil 4 Disc 1 (G4BE), ss\Cmn\f01.tpl, texture 0x04, texture format e (CMP)
*/