Difference between revisions of "FF8/Menu sp2"

From Final Fantasy Inside
< FF8
Jump to navigation Jump to search
my_wiki>MaKi
(ENTRY)
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.)
Line 70: Line 70:
  
 
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''': ==
 +
 +
=== Header ===
 +
{| class="wikitable"
 +
! Offset
 +
! SizeOf
 +
! Name
 +
! Description
 +
|-
 +
| 0
 +
| UInt32
 +
| Count
 +
| Number of entries
 +
Count can be more than the actual images in the texture.<br/>
 +
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 ===
 +
 +
{| class="wikitable"
 +
! 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'''.<br />
 +
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}'''

Revision as of 21:01, 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}