GIM Image: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks (→Games) |
||
| (68 intermediate revisions by 3 users not shown) | |||
| Line 20: | Line 20: | ||
// null - PS3 or std | // null - PS3 or std | ||
4 bytes - reserved | 4 bytes - reserved | ||
// block headers | // block headers | ||
num_of_blocks * | |||
{ | { | ||
2 bytes (uint16) - block ID // 0x02 - Root | 2 bytes (uint16) - block ID // 0x01 - Block | ||
// 0x02 - Root | |||
// 0x03 - Picture | // 0x03 - Picture | ||
// 0x04 - Image | // 0x04 - Image | ||
// 0x05 - Palette | // 0x05 - Palette | ||
// 0x06 - Sequence | |||
// 0xFF - File info | // 0xFF - File info | ||
2 bytes (uint16) - | |||
2 bytes (uint16) - unused | |||
4 bytes (uint32) - block size | 4 bytes (uint32) - block size | ||
4 bytes (uint32) - next block relative offset | 4 bytes (uint32) - next block relative offset | ||
4 bytes (uint32) - block data relative offset | 4 bytes (uint32) - block data relative offset | ||
} | } | ||
| Line 38: | Line 43: | ||
num_of_blocks * | num_of_blocks * | ||
{ | { | ||
x bytes - block data | x bytes - block data // See "Related Structures" section | ||
// for more details | |||
} | } | ||
</pre> | </pre> | ||
</div> | </div><br><br> | ||
=== Related Structures === | |||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | |||
<pre> | |||
// Image block (0x04) data | |||
// image header | |||
2 bytes (uint16) - header size | |||
2 bytes (uint16) - reference | |||
2 bytes (uint16) - image format // 0x00 = RGBA5650 (16 bit no alpha) | |||
// 0x01 = RGBA5551 (16 bit sharp alpha) | |||
// 0x02 = RGBA4444 (16 bit gradient alpha) | |||
// 0x03 = RGBA8888 (32 bit gradient alpha) | |||
// 0x04 = INDEX4 (16 colors) | |||
// 0x05 = INDEX8 (256 colors) | |||
// 0x06 = INDEX16 (16 colors with alpha) | |||
// 0x07 = INDEX32 (256 colors with alpha) | |||
// 0x08 = DXT1 (no alpha) | |||
// 0x09 = DXT3 (sharp alpha) | |||
// 0x0A = DXT5 (gradient alpha) | |||
// 0x108 = DXT1EXT | |||
// 0x109 = DXT3EXT | |||
// 0x10A = DXT5EXT | |||
2 bytes (uint16) - pixel order // 0x00 - NORMAL | |||
// 0x01 - PSPIMAGE | |||
2 bytes (uint16) - image/palette width | |||
2 bytes (uint16) - image/palette height | |||
2 bytes (uint16) - image/palette bpp alignment | |||
2 bytes (uint16) - image/palette pitch alignment | |||
2 bytes (uint16) - image/palette height alignment | |||
2 bytes (uint16) - dimension count // e.g. 2 | |||
2 bytes (uint16) - reserved | |||
2 bytes (uint16) - reserved | |||
4 bytes (uint32) - index relative start offset // e.g. 0 | |||
4 bytes (uint32) - first plane relative start offset | |||
4 bytes (uint32) - last plane relative start offset | |||
4 bytes (uint32) - plane mask | |||
2 bytes (uint16) - level type // 0x00 - GENERIC | |||
// 0x01 - MIPMAP | |||
// 0x02 - MIPMAP2 | |||
// 0x03 - SEQUENCE | |||
2 bytes (uint16) - level/mipmap count | |||
2 bytes (uint16) - frame type | |||
2 bytes (uint16) - frame count | |||
x bytes - optional user data | |||
x bytes - padding | |||
4 bytes (uint32) - frame offset // e.g. 64 | |||
0-12 bytes - padding | |||
// data | |||
x bytes - image/palette data | |||
</pre> | |||
</div><br><br> | |||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | |||
<pre> | |||
// File Info block (0xFF) data | |||
22 bytes (char) - original filename | |||
14 bytes (char) - Windows user account | |||
25 bytes (char) - creation timestamp | |||
14 bytes (char) - GimConv version | |||
0-3 bytes - optional padding | |||
</pre> | |||
</div><br><br> | |||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | |||
<pre> | |||
// Sequence block (0x06) data | |||
2 bytes (uint16) - header size | |||
2 bytes (uint16) - reference | |||
2 bytes (uint16) - frame start | |||
2 bytes (uint16) - frame end | |||
2 bytes (uint16) - frame rate | |||
2 bytes (uint16) - frame repeat | |||
2 bytes (uint16) - n constants | |||
2 bytes (uint16) - n functions | |||
4 bytes (uint32) - constants | |||
4 bytes (uint32) - functions | |||
4 bytes (uint32) - keyframes | |||
4 bytes (uint32) - total | |||
x bytes - sequence data | |||
</pre> | |||
</div><br><br> | |||
=== MultiEx BMS Script === | === MultiEx BMS Script === | ||
| Line 50: | Line 149: | ||
* This file format occurs in PSP and PS2 games. | * This file format occurs in PSP and PS2 games. | ||
* Files with this file format can have extension ".gim" or ".mig". | |||
* Command for proper GIM to PNG conversion is "gimconv.exe in.gim -o out.png" for gimconv tool. | |||
=== Compatible Programs === | === Compatible Programs === | ||
| Line 62: | Line 163: | ||
* [http://www.romhacking.net/utilities/659/ TextER] | * [http://www.romhacking.net/utilities/659/ TextER] | ||
* [http://tizzyt-archive.blogspot.com/2013/10/gis2png.html gis2png] | * [http://tizzyt-archive.blogspot.com/2013/10/gis2png.html gis2png] | ||
* GIM Viewer | |||
* [http://ka244.cocolog-nifty.com/blog/files/mig_bmp_tools_kmax.zip mig2bmp / bmp2mig] | * [http://ka244.cocolog-nifty.com/blog/files/mig_bmp_tools_kmax.zip mig2bmp / bmp2mig] | ||
* OPTIX iMage studio | * OPTIX iMage studio | ||
* [https://archive.org/details/DissidiaModdingSuite Dissidia Modding Suite] (it includes GimConv and gim2png) | |||
* [https://richwhitehouse.com/index.php?content=inc_projects.php&showproject=91 Noesis] | * [https://richwhitehouse.com/index.php?content=inc_projects.php&showproject=91 Noesis] | ||
=== Games === | === Games === | ||
List of games using this file format: | List of games using this file format: | ||
* Yu-Gi-Oh! Tag Force | * Ano Hi Mita Hana no Namae o Bokutachi wa Mada Shiranai | ||
* Yu-Gi-Oh! Tag Force 2 | * Boku wa Tomodachi ga Sukunai Portable (PSP) (*.DAT) | ||
* Corpse Party (PSP) (*.GIM) | |||
* Danganronpa: Kibou no Gakuen to Zetsubou no Koukousei | |||
* Dissidia: Final Fantasy | |||
* Otome wa Boku ni Koishiteru Portable | |||
* Super Danganronpa 2: Farewell Despair Academy | |||
* Sword Art Online: Infinity Moment | |||
* Yu-Gi-Oh! GX Tag Force | |||
* Yu-Gi-Oh! GX Tag Force Evolution | |||
* Yu-Gi-Oh! GX Tag Force 2 | |||
* Yu-Gi-Oh! GX Tag Force 3 | |||
* Yu-Gi-Oh! 5D's Tag Force 4 | |||
* Yu-Gi-Oh! 5D's Tag Force 5 | |||
* Yu-Gi-Oh! 5D's Tag Force 6 | |||
* Yu-Gi-Oh! ARC-V Tag Force Special | |||
=== See Also === | === See Also === | ||
| Line 76: | Line 193: | ||
[[Category:Complete | [[Category:Complete Complete|GIM Image]] | ||
[[Category:Platform PSP|GIM Image]] | [[Category:Platform PSP|GIM Image]] | ||
[[Category:Platform PS2|GIM Image]] | [[Category:Platform PS2|GIM Image]] | ||
Latest revision as of 17:31, 29 June 2023
Back to index | Edit this page
GIM
- Format Type : Image
- Endian Order : Little Endian / Big Endian
Format Specifications
// GIM image
// file format
// header
4 bytes (char) - magic // "MIG." or ".GIM"
4 bytes (char) - version // "1.00" or "00.1"
4 bytes (char) - platform // "PSP" - PSP
// null - PS3 or std
4 bytes - reserved
// block headers
num_of_blocks *
{
2 bytes (uint16) - block ID // 0x01 - Block
// 0x02 - Root
// 0x03 - Picture
// 0x04 - Image
// 0x05 - Palette
// 0x06 - Sequence
// 0xFF - File info
2 bytes (uint16) - unused
4 bytes (uint32) - block size
4 bytes (uint32) - next block relative offset
4 bytes (uint32) - block data relative offset
}
// block data
num_of_blocks *
{
x bytes - block data // See "Related Structures" section
// for more details
}
Related Structures
// Image block (0x04) data
// image header
2 bytes (uint16) - header size
2 bytes (uint16) - reference
2 bytes (uint16) - image format // 0x00 = RGBA5650 (16 bit no alpha)
// 0x01 = RGBA5551 (16 bit sharp alpha)
// 0x02 = RGBA4444 (16 bit gradient alpha)
// 0x03 = RGBA8888 (32 bit gradient alpha)
// 0x04 = INDEX4 (16 colors)
// 0x05 = INDEX8 (256 colors)
// 0x06 = INDEX16 (16 colors with alpha)
// 0x07 = INDEX32 (256 colors with alpha)
// 0x08 = DXT1 (no alpha)
// 0x09 = DXT3 (sharp alpha)
// 0x0A = DXT5 (gradient alpha)
// 0x108 = DXT1EXT
// 0x109 = DXT3EXT
// 0x10A = DXT5EXT
2 bytes (uint16) - pixel order // 0x00 - NORMAL
// 0x01 - PSPIMAGE
2 bytes (uint16) - image/palette width
2 bytes (uint16) - image/palette height
2 bytes (uint16) - image/palette bpp alignment
2 bytes (uint16) - image/palette pitch alignment
2 bytes (uint16) - image/palette height alignment
2 bytes (uint16) - dimension count // e.g. 2
2 bytes (uint16) - reserved
2 bytes (uint16) - reserved
4 bytes (uint32) - index relative start offset // e.g. 0
4 bytes (uint32) - first plane relative start offset
4 bytes (uint32) - last plane relative start offset
4 bytes (uint32) - plane mask
2 bytes (uint16) - level type // 0x00 - GENERIC
// 0x01 - MIPMAP
// 0x02 - MIPMAP2
// 0x03 - SEQUENCE
2 bytes (uint16) - level/mipmap count
2 bytes (uint16) - frame type
2 bytes (uint16) - frame count
x bytes - optional user data
x bytes - padding
4 bytes (uint32) - frame offset // e.g. 64
0-12 bytes - padding
// data
x bytes - image/palette data
// File Info block (0xFF) data 22 bytes (char) - original filename 14 bytes (char) - Windows user account 25 bytes (char) - creation timestamp 14 bytes (char) - GimConv version 0-3 bytes - optional padding
// Sequence block (0x06) data 2 bytes (uint16) - header size 2 bytes (uint16) - reference 2 bytes (uint16) - frame start 2 bytes (uint16) - frame end 2 bytes (uint16) - frame rate 2 bytes (uint16) - frame repeat 2 bytes (uint16) - n constants 2 bytes (uint16) - n functions 4 bytes (uint32) - constants 4 bytes (uint32) - functions 4 bytes (uint32) - keyframes 4 bytes (uint32) - total x bytes - sequence data
MultiEx BMS Script
Not written yet.
Notes and Comments
- This file format occurs in PSP and PS2 games.
- Files with this file format can have extension ".gim" or ".mig".
- Command for proper GIM to PNG conversion is "gimconv.exe in.gim -o out.png" for gimconv tool.
Compatible Programs
- gim2bmp
- gim2png
- GimConv
- GimExtractor
- GitMO
- MinoriTool
- Puyo Tools
- TextER
- gis2png
- GIM Viewer
- mig2bmp / bmp2mig
- OPTIX iMage studio
- Dissidia Modding Suite (it includes GimConv and gim2png)
- Noesis
Games
List of games using this file format:
- Ano Hi Mita Hana no Namae o Bokutachi wa Mada Shiranai
- Boku wa Tomodachi ga Sukunai Portable (PSP) (*.DAT)
- Corpse Party (PSP) (*.GIM)
- Danganronpa: Kibou no Gakuen to Zetsubou no Koukousei
- Dissidia: Final Fantasy
- Otome wa Boku ni Koishiteru Portable
- Super Danganronpa 2: Farewell Despair Academy
- Sword Art Online: Infinity Moment
- Yu-Gi-Oh! GX Tag Force
- Yu-Gi-Oh! GX Tag Force Evolution
- Yu-Gi-Oh! GX Tag Force 2
- Yu-Gi-Oh! GX Tag Force 3
- Yu-Gi-Oh! 5D's Tag Force 4
- Yu-Gi-Oh! 5D's Tag Force 5
- Yu-Gi-Oh! 5D's Tag Force 6
- Yu-Gi-Oh! ARC-V Tag Force Special
See Also