[file header] | |
+0x00 [04] | Signature {L} MIG. {B} .GIM |
+0x04 [04] | GIM Version {L} 00.1 {B} 1.00 |
+0x08 [04] | Format (スタンダードGIM、PS3用GIMではnull) {L} PSP[0x00] {B} [0x00]PSP |
+0x0C [04] | null |
eof addr part | |
+0x00 [02] | 0x02 |
+0x02 [02] | null |
+0x04 [04] | End of File addr (このパートの先頭からのファイル終端のオフセット) |
+0x08 [04] | part size (実質16bytes[0x10]固定) |
+0x0C [04] | 0x10? |
fileinfo addr part | |
+0x00 [02] | 0x03 |
+0x02 [02] | null |
+0x04 [04] | fileinfo addr (このパートの先頭からのfileinfo data partのオフセット) |
+0x08 [04] | part size (実質16bytes[0x10]固定) |
+0x0C [04] | 0x10? |
palette data part | |
+0x00 [02] | 0x05 |
+0x02 [02] | null |
+0x04 [04] | (+0x08と同じ値?) |
+0x08 [04] | part size |
+0x0C [04] | 0x10? |
+0x10 [02] | data offset? |
+0x12 [02] | null? |
+0x14 [02] | palette_format 0x00:RGBA5650 0x01:RGBA5551 0x02:RGBA4444 0x03:RGBA8888 |
+0x16 [02] | null? |
+0x18 [02] | palette colors 0x10:16 colors 0x100:256 colors |
+ | ? |
+0x28 [04] | 0x30? |
+0x2C [04] | 0x40? |
+0x30 [04] | part size -16[0x10] |
+0x34 [04] | null? |
+0x38 [02] | 0x02? |
+0x3A [02] | 0x01? |
+0x3C [02] | 0x03? |
+0x3E [02] | 0x01? |
+0x40 [04] | 0x40? |
+0x44 [12] | null? |
+0x50 [xx] | palette data(16色なら16x4=64B、256色なら256x4=1024B) GIM用のパレットのデータはR,G,B,Aの4バイト×色数と並んでいる。 BMP用のパレットのデータはB,G,R,Aの順なのでR,Bの値の入れ替えが必要。 |
image data part | |
+0x00 [02] | 0x04 |
+0x02 [02] | null |
+0x04 [04] | (+0x08と同じ値?) |
+0x08 [04] | part size |
+0x0C [04] | 0x10? |
+0x10 [02] | data offset? |
+0x12 [02] | null? |
+0x14 [02] | image_format 0x00:rgba5650 0x01:rgba5551 0x02:rgba4444 0x03:rgba8888 0x04:index4 0x05:index8 0x06:index16 0x07:index32 |
+0x16 [02] | pixel_order 0x00:normal 0x01:faster (PSP高速ピクセル格納形式 [16x8ブロック再配置]) |
+0x18 [02] | visible width(XMBアイコンなどに使われる可視領域サイズ) |
+0x1A [02] | visible height( 同 ) |
+0x1C [02] | color depth index4:0x04 index8:0x08 index16:0x10 index32:0x20 rgba****:0x20 |
+0x1E [02] | 0x10? |
+0x20 [02] | 0x08? |
+0x22 [02] | 0x02? |
+0x24 [04] | null? |
+0x28 [04] | 0x30? |
+0x2C [04] | 0x40? |
+0x30 [04] | part size -16[0x10] |
+0x34 [04] | null? |
+0x38 [02] | 0x01? |
+0x3A [02] | 0x01? |
+0x3C [02] | 0x03? |
+0x3E [02] | 0x01? |
+0x40 [04] | 0x40? |
+0x44 [12] | null? |
+0x50 [xx] | image data |
fileinfo data part (このパートがないファイルもある。) | |
+0x00 [02] | 0xFF |
+0x02 [02] | null |
+0x04 [04] | (+0x08と同じ値?) |
+0x08 [04] | part size |
+0x0C [04] | 0x10? |
+0x10 [xx] | (自由に記述可能) GimConvというソフトで変換されていることが多いようで、 変換元ファイル名(0x00)PCユーザー名?(0x00)日時(0x00)GimConv 1.xx と書かれていることが多い。 |