Difference between revisions of "FF8/Menu sp2"

From Final Fantasy Inside
< FF8
Jump to navigation Jump to search
my_wiki>Sebanisu
(I spent time working with face.sp2 today I'll let Maki know I added this and see if she wants to change it.)
my_wiki>Sebanisu
m (removed the horizontal line)
Line 71: Line 71:
 
look- f8 and 10 are x and y and 08 and 08 are width x height- this one is fine with what is represented in the image, but it's totally different for face.sp2
 
look- f8 and 10 are x and y and 08 and 08 are width x height- this one is fine with what is represented in the image, but it's totally different for face.sp2
  
 
----
 
  
 
== Layout of '''face.sp2''': ==
 
== Layout of '''face.sp2''': ==

Revision as of 21:04, 8 April 2019

by MaKi

This file is a mapping file for atlas textures like icons.tex

STRUCTURE

Offset SizeOf Name Description
0 uint pointerCount count of entry pointers
4 uint entryPointer absolute pointer to entry
8 + pointerCount 16 bytes Entry Entry Data

ENTRY

Offset SizeOf Name Description
0 uint UNK3 UNKNOWN
4 byte xPos Pixel X coordinate in image atlas
5 byte yPos Pixel Y coordinate in image atlas
6 ushort (??) UNK Unknown- is that a bottom right pixel?
8 uint (??) UNK Unknown- maybe a width/height?
12 uint UNK Unknown- no idea. Maybe CLUT indexer somewhere?


WIP- there's a lot of trash here... 80 20 a0 c0 28 (f8) (10) 00 00 00 a0 c0 (08) 00 (08) 00

look- f8 and 10 are x and y and 08 and 08 are width x height- this one is fine with what is represented in the image, but it's totally different for face.sp2


Layout of face.sp2:

Header

Offset SizeOf Name Description
0 UInt32 Count Number of entries

Count can be more than the actual images in the texture.
There are 16 images in each of the 2 textures, and there are 64 entries.

4 UInt32[Count] Locations Seek location for each Entry

Entry

Offset SizeOf Name Description
0 byte[4] UNK Unknown

{0x01,0x00,0x00,0x00}

4 byte xPos Pixel X coordinate in image atlas
5 byte yPos Pixel Y coordinate in image atlas

Invalid entries seem to have yPos>=Texture.Height.
Detected switch from face1.tex to face2.tex when yPos<previous.yPos.

6 byte[2] UNK Unknown

{0x20,0x36} on the valid entries. {0x60,0x36} on invalid entries.

8 UInt16 Width Width of entry in pixels
10 UInt16 Height Height of entry in pixels
12 byte[4] UNK Unknown

{0x00,0x00,0x8E,0x00} on most. Last one has all {0x00}

File ends with byte[16] of {0x00}