Warcraft 3 (BLP) Texture (with mipmaps) 256 color bitmap with mipmaps: header size is 156b (0x9C) struct { char ident[4]; // 'BLP1' unsigned long u1[2], sizex, sizey, u2[2]; unsigned long poffs[16], psize[16]; } BlpHeader; then palette follows (RGB0), 256*4b and then picture data (sizex * sizey * 2 bytes) of first picture, then next mipmaps poffs[0] is offset to first picture. its size in bytes is written in psize[0]. every next picture's size is 4 times smaller, and sizex & sizey are 2 times smaller. (1/4 of previous) if compress == 1, picture is plain pic, with palette. if compress == 0, picture is jpeg. to complete it, you have to take 270h bytes from offset 0xA0, and then to append to it data from pic offset[0] of size picsize[0]. ------------------------------------------------ spella~6 - paletized bitmap (175 942= 0x2 AF 46) 'BLP1' | compress | # mipmaps?| sizex ? 42 4C 50 31 01 00 00 00 08 00 00 00 00 01 00 00 sizey ? | | | ofs pic1 00 01 00 00 04 00 00 00 01 00 00 00 9C 04 00 00 ofs pic2 | pic3 | pic4 | pic5 9C 04 02 00 9C 84 02 00 9C A4 02 00 9C AC 02 00 pic6 | pic7 | pic8 | pic9 9C AE 02 00 1C AF 02 00 3C AF 02 00 44 AF 02 00 | | | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | size1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 size2 | size3 | size4 | size5 00 80 00 00 00 20 00 00 00 08 00 00 00 02 00 00 size6 | size7 | size8 | size9 80 00 00 00 20 00 00 00 08 00 00 00 02 00 00 00 | | | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | | 00 00 00 00 00 00 00 00 00 00 00 00 DD 4F 73 00 ------------------------------------------------------ clouds~1.blp 42 4C 50 31 00 00 00 00 08 00 00 00 40 00 00 00 40 00 00 00 04 00 00 00 01 00 00 00 9C 04 00 00 E2 0B 00 00 BD 0E 00 00 DB 0F 00 00 59 10 00 00 D2 10 00 00 21 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 46 07 00 00 DB 02 00 00 1E 01 00 00 7E 00 00 00 79 00 00 00 4F 00 00 00 2D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70 02 00 00 00 14 08 00 40 00 40 04 01 11 00 02 11 00 03 11 00 04 11 00 FF DA 00 0E 04 01 00 02 11 03 11 04 11 00 3F 00 F9 52 BF 95 0F E5 43 FA A4 28 00 2C 41 6B 2C DF 75 78 F5 35 D1 43 0B 56 B7 C3 1D 3B B3 A2 86 16 AD 6F 86 3A 77 60 58 1A 78 1F EB 26 00 14 08 00 20 00 20 04 01 11 00 02 11 00 03 11 00 04 11 00 FF DA 00 0E 04 01 00 02 11 03 11 04 11 00 3F 00 F9 62 18 8C AD 81 C0 1C 92 7A 0A FE 58 A3 49 D5 95 96 89 6A DB D9 1F CB 14 69 3A B2 B2 D1 2D 5B 7B 23 FA A4 97 75 BC 7C 04 69 4F A9