====== SHPN ====== This is a format used to store many textures. It has the file extension //.nsh// ---- **Note: This page contains incomplete information.** ---- ===== Header ===== The header of the file takes up the first 0x10 bytes of the file. ^Offset^#Bytes^Description^ |0x00|4| "SHPN" | |0x04|4| Total size of file | |0x08|4| Number of textures | |0x0C|4| "GIMX" | ===== Offset Table ===== Following the header is a table that contain the string ID and offset for every texture in the file. Each entry is 8 bytes long. ^Offset^#Bytes^Description^ |0x00|4| 4 character string ID | |0x04|4| Offset to texture / color palette header | ===== Texture / Color Palette Header ===== Describes the attributes of the texture. Each texture header takes up 0x10 bytes and is followed by the texture data. ^Offset^#Bytes^Description^ |0x01|1| Type | |0x01|3| Offset to color palette header | |0x04|2| Texture width | |0x06|4| Texture height | |0x08|4| | |0x0C|2| | |0x0E|2| | What determines the texture format is currently unknown. If the offset of color palette is zero, then it seems an intensity (I) texture is used otherwise it uses color index (CI). If the "type" byte is 0x66, then the format size is 8-bit. Otherwise it uses a 4-bit texture type. This is speculation and may not be 100% right in every case. If the type byte is equal to 0x27, then the following data is a rgba16 color palette. The color palette header is also 0x10 bytes, and the palette colors follow after it. It is currently unknown if the texture header and the color palette header are two different structures.