Changes

Jump to navigation Jump to search

FF8/Menu sp2

4,313 bytes added, 01:12, 15 July 2019
m
1 revision imported
Info from [http://forums.qhimm.com/index.php?topic=17120.0 FF8 - Cards & Menu Text by Sega Cheif] and [http:MaKi<br//forums.qhimm.com/index.php?topic=17099.0 FF8 - mngrp.bin >updated by JWP]=BIN=Location of strings maybeand actual values for refine.Sebanisu
This file is a mapping file for atlas textures like icons.tex ==m004Layout of '''icon.binsp1''': ===== Header ==='''(4 x (PointerCount + 1))''' bytes
{| class="wikitable"
! Offset
! SizeOf
! Name
! Description
|-
| 0| UInt32| PointerCount| Number of entries|-| 4| Struct Pointer[PointerCount]| Pointers| Seek locations for entry groups|} === Pointer ==='''4''' bytes{| class="wikitable"! TypeOffset! SizeSizeOf! ValueName
! Description
|-
| 0
| UInt16
| Pointer
| Seek location for entry group
|-
| 2
| OffsetUInt16| Count| Number of entries in group| Text Offset?} === Entry Group ==='''(little-endian8 x Count)''' bytes <br/>At pointer's location there will be '''Struct Entry[Count]'''. Example of an entry group is the direction pad is in eight pieces. Four of them are unpressed and four are pressed versions. It has four entries for the direction pad depending on the directions it is highlighting. === Entry ==='''8''' bytes{| class="wikitable"! Offset! SizeOf! Name! Description
|-
| Byte0| 1Byte| ReceivedxPos| Items receivedPixel X coordinate in image atlas
|-
| UInt161| Byte|yPos|Pixel Y coordinate in image atlas|-|2|Byte[2]|UNK|Unknown data|-|4|Byte|Width|Width of entry in pixels|-|5|Byte|Offset X|Offset of X coordinate for when drawing|-|6|Byte|Height|Height of entry in pixels|-|7|Byte|Offset Y|Offset of Y coordinate for when drawing|}Invalid Entries will have '''X''' and '''Y''' of '''zero'''. The top '''16x16''' pixel area is blank. Everything in '''icon.tex''' is aligned to a '''8x8 grid'''. Some entry groups leave out connecting pieces I think you are expected to fill in the blank. Some things like the menu border and menu background don't appear to be listed in this file. ===End of file===Everything at and beyond file pointer '''4272 {0x10C0}''' appears to be garbage. == Layout of '''face.sp2''' and '''cardanm.sp2''': == Both '''face.sp2''' and '''cardanm.sp2''' have the same layout. Main difference is '''face.sp2''' has '''32''' valid and '''64''' total entries. '''cardanm.sp2''' only has '''11''' valid entries and '''1''' invalid, as it has no dims. In each of the card texture files the final slot is the '''Triple Triad''' card back. If the entry had dims they would be X='''192''',Y='''128''', W='''64''', H='''64'''. === Header ==={| class="wikitable"! Offset! SizeOf! Name! Description|-| 0| UInt32| Count| Number of entriesCount can be more than the actual images in the texture.<br/>'''face.sp2''': There are 8 images per texture in 2 textures, and there are 32/64 valid entries. 1 is blank.<br/>'''cardanm.sp2''': There are 11 images pre texture in 10 textures, and there are 11/12 valid entries. The 12th entry is the card back but it's missing dims. |-| 4| UInt32[Count]| Locations| Seek location for each entry|}=== Entry ==='''16''' bytes {| class="wikitable"! Offset! SizeOf! Name! Description|-| 0| UInt32| Count| Number of entries at this locationAlways '''1'''|-| 4| byte| xPos| Pixel X coordinate in image atlas|-| 5| byte| yPos| Pixel Y coordinate in image atlas'''face.sp2''': 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'''face.sp2''': '''{0x00010x20,0x36}''' on the valid entries. '''{0x60,0x36}''' on invalid entries.<br />'''cardanm.sp2''': '''{0x20,0xB6}''' on the valid entries. '''{0x00,0x00}''' on the invalid entry.
|-
| Byte8| 1UInt16| Card_IDWidth| Card id valueWidth of entry in pixelsPossible this is really a '''0x00byte'''-with a '''0x6D0 x-offset'''.
|-
| Byte10| 1UInt16| AmountHeight| Amount neededHeight of entry in pixelsPossible this is really a '''byte''' with a '''0 y-offset'''.
|-
| Byte12| 1byte[4]| UNK| [httpUnknown'''face.sp2'''://forums'''{0x00,0x00,0x8E,0x00}''' on most.qhimm.comLast one has all '''{0x00}'''<br /index>'''cardanm.php?topic=17034.msg242332#msg242332 Item_ID]| Item id valuesp2''': '''{0x00,0x00,0xAE,0x00}'''-on most. Last one has all '''0xC6{0x00}'''
|}
=MSG== End of file ===Text offsets are in bin files'''face. Strings end sp2'''File ends with '''byte[16]''' of '''{0x00}'''. Strings are encoded.
==m004.msg==Example:<br/>'Content of 'Geezard Card:\n1 will refine \ninto 5 Screws\0'' <br/>When face1.tex'''Geezardand ''' Card is selected only "'''1 will refine into 5 Screwsface2.tex'''==={| class="wikitable" shows up above in help box<br/>When choose the a box shows up with entire string!Name!File!X!Y!Width!Height|-|Squall Leonhart|face1.tex|0|0|32|48|-|Zell Dincht|face1.tex|32|0|32|48|-|Irvine Kinneas|face1.tex|64|0|32|48|-|Quistis Trepe|face1.tex|96|0|32|48|-|Rinoa Heartilly|face1.tex|128|0|32|48|-|Selphie Tilmitt|face1.tex|160|0|32|48|-|Seifer Almasy|face1.tex|192|0|32|48|-|Edea Kramer|face1.tex|224|0|32|48|-|Laguna Loire|face1.tex|0|48|32|48|-|Kiros Seagill|face1.tex|32|48|32|48|-|Ward Zabac|face1.tex|64|48|32|48|-|Lion|face1.tex|128|48|32|48|-|MiniMog|face1.tex|160|48|32|48|-|Boko|face1.tex|192|48|32|48|-|Angelo|face1.tex|224|48|32|48|-|Quezacotl|face2.tex|0|0|32|48|-|Shiva|face2.tex|32|0|32|48|-|Ifrit|face2.tex|64|0|32|48|-|Siren|face2.tex|96|0|32|48|-|Brothers|face2.tex|128|0|32|48|-|Diablos|face2.tex|160|0|32|48|-|Carbuncle|face2.tex|192|0|32|48|-|Leviathan|face2.tex|224|0|32|48|-|Pandemona|face2.tex|0|48|32|48|-|Cerberus|face2.tex|32|48|32|48|-|Alexander|face2.tex|64|48|32|48|-|Doomtrain|face2.tex|96|48|32|48|-|Bahamut|face2.tex|128|48|32|48|-|Cactuar|face2.tex|160|48|32|48|-|Tonberry|face2.tex|192|48|32|48|-|Eden|face2. With: <br/>tex|224|48'''Geezard''' ''(Number remaining)''<br/>|32|48'''Number to refine''' ''1''<br/>|}There is one blank space in '''Screwsface1.tex''' ''(Total amount)''<br/>, I skipped that entry.

Navigation menu