AIG (File Format): Difference between revisions

From Wexos's Wiki
Jump to navigationJump to search
No edit summary
Line 4: Line 4:
= File Format =
= File Format =
The file byte order can be either big endian (Wii) or little endian (3DS).
The file byte order can be either big endian (Wii) or little endian (3DS).
== Header ==
The file starts with the following header:


== Header ==
== Header ==
Line 13: Line 16:
| 0x00 || Char[4] || '''File magic'''. Always ''ALIG'' in ASCII.
| 0x00 || Char[4] || '''File magic'''. Always ''ALIG'' in ASCII.
|-
|-
| 0x04 || Byte || '''[[#Version List|Version number]]'''.
| 0x04 || Byte || '''Format type'''. 0 is used in [[AFT]] font files, 2 elsewhere?
|-
|-
| 0x05 || Byte || {{Unknown-left|'''Unknown'''. 1 if using alpha?}}
| 0x05 || Byte || {{Unknown-left|'''Unknown'''. 1 if using alpha?}}
Line 21: Line 24:
| 0x08 || Char[4] || '''[[#Image Formats|Image format]]'''.
| 0x08 || Char[4] || '''[[#Image Formats|Image format]]'''.
|-
|-
| 0x0C || Byte[4] || {{Unknown-left|'''Unknown'''. Padding?}}
| 0x0C || Char[4] || {{Unknown-left|Palette format? Seen as "RGBA" in files with palettes, otherwise, 0x00000000.}}
|-
|-
|- bgcolor="#AAFFAA"
| colspan="3" align="center" | '''If [[#Header|format]] = 2'''
|- bgcolor="#DDFFDD"
| 0x10 || UInt16 || '''Width of image''' in pixels, always in little endian.
| 0x10 || UInt16 || '''Width of image''' in pixels, always in little endian.
|-
|- bgcolor="#DDFFDD"
| 0x12 || UInt16 || '''Height of image''' in pixels, always in little endian.
| 0x12 || UInt16 || '''Height of image''' in pixels, always in little endian.
|-
|- bgcolor="#DDFFDD"
| 0x14 || Byte[4] || {{Unknown-left|'''Unknown'''. Texture flags?}}
| 0x14 || Byte[4] || {{Unknown-left|'''Unknown'''.}}
|-
|- bgcolor="#DDFFDD"
| 0x18 || Byte[4] || {{Unknown-left|'''Unknown'''.}}
| 0x18 || Byte[4] || {{Unknown-left|'''Unknown'''.}}
|-
|- bgcolor="#DDFFDD"
| 0x1C || Byte[4] || {{Unknown-left|'''Unknown'''.}}
| 0x1C || UInt32 || '''Image data offset''', always in little endian.
|-
|- bgcolor="#DDFFDD"
| 0x20 || UInt32 || '''Texture data size''' in bytes.
| 0x20 || UInt32 || '''Texture data size''' in bytes.
|-
|- bgcolor="#DDFFDD"
| 0x24 || UInt16[2] || {{Unknown-left|'''Unknown'''.}}
| 0x24 || Byte[4] || {{Unknown-left|'''Unknown'''.}}
|-
|- bgcolor="#DDFFDD"
| 0x28 || Byte[24] || '''Padding'''.
| 0x28 || Byte[24] || {{Unknown-left|'''Unknown'''. Padding?}}
|}
|}


== Image Formats ==
== Image Formats ==
Line 85: Line 92:
|-
|-
| G565 || [[GameCube and Wii Image Formats#RGB565|RGB565]]
| G565 || [[GameCube and Wii Image Formats#RGB565|RGB565]]
|}
= Version List =
{|class="wikitable"
! Version !! Found in
|-
| 2.0
|
* [[One Piece: Unlimited Adventure]]
* [[One Piece: Unlimited Cruise Episode 1 - The Treasure Beneath The Waves]]
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]]
* [[One Piece: Unlimited Cruise SP]]
* [[One Piece: Unlimited Cruise SP 2]]
|}
|}



Revision as of 18:06, 22 May 2025

Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.

AIG (Aqualead ImaGe) is a texture format developed by Aqualead and found in some Wii and 3DS games (and suspected to be used in GameCube titles as well), such as One Piece: Unlimited Adventure, One Piece: Unlimited Cruise Episode 1 - The Treasure Beneath The Waves, One Piece: Unlimited Cruise Episode 2: Awakening of a Hero, One Piece: Unlimited Cruise SP and One Piece: Unlimited Cruise SP 2.

File Format

The file byte order can be either big endian (Wii) or little endian (3DS).

Header

The file starts with the following header:

Header

The file starts with the following header:

Offset Type Description
0x00 Char[4] File magic. Always ALIG in ASCII.
0x04 Byte Format type. 0 is used in AFT font files, 2 elsewhere?
0x05 Byte Unknown. 1 if using alpha?
0x06 UInt16 Unknown.
0x08 Char[4] Image format.
0x0C Char[4] Palette format? Seen as "RGBA" in files with palettes, otherwise, 0x00000000.
If format = 2
0x10 UInt16 Width of image in pixels, always in little endian.
0x12 UInt16 Height of image in pixels, always in little endian.
0x14 Byte[4] Unknown.
0x18 Byte[4] Unknown.
0x1C UInt32 Image data offset, always in little endian.
0x20 UInt32 Texture data size in bytes.
0x24 Byte[4] Unknown.
0x28 Byte[24] Unknown. Padding?


Image Formats

Format Description
8888 RGBA8888
5551 RGBA5551
4444 RGBA4444
PAL8 Unknown palette format
PAL4 Unknown palette format
PL4R Unknown palette format
PAL1 Unknown palette format
G5A3 RGB5A3
GC32 RGBA8
GCCP CMPR
GCI4 I4
GCI8 I8
GIA4 IA4
GIA8 IA8
GA4C Unknown
GA8C Unknown
GACC 2 CMPR textures, the first one is used as the main color texture and the second one is used as an alpha mask
GA45 Unknown
GA85 Unknown
GAC5 Unknown
G565 RGB565

Tools

The following tools can handle AIG files:

  • (none)