Changes

Jump to navigation Jump to search

FF8/FileFormat DAT

2,813 bytes added, 01:57, 8 December 2010
no edit summary
(The following Was ripped off of Wikipedia because I'm lazy)By Mirex, JWP and myst6re.
Another Mind (????????? Anaz? Maindo?) is an FMV visual Novel created by Squaresofy for Sony PlayStation and released on November 12, 1998 in Japan. The game is extremely obscure. The game involves a 16 year-old girl named Hitomi Hayama who is involved in a car accident and admitted to a hospital. Upon waking, she realizes that another mind has taken residence in her head. The player takes on the role of this separate consciousness. The pair are then put into the middle of a mystery that begins at the hospital, which includes a murder, several suicide attempts, and a bombing attempt. Hitomi frequently communicates back with the player, and the player must convince her to perform actions rather than commanding.== Header ==
DAT file is divided into 11 sections (except for c0m127.dat, which contains only 2 sections : 7th and 8th).
The following are the file formats {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | Description|-| 0| 4 bytes| Number of sections (always =11, except for the gamec0m127. If the extension end in a dat)|-| 4| nbSections * 4 bytes| Section Positions|-| 4 + nbSections * 4| 4 bytes| File size|} == Section 1: Skeleton == {| border="1" cellspacing="Z1" They are compressed in an LZS format elaborated below.cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | Description|-| 0| 2 bytes| Number of bones|-|style="background:rgb(255,255,204)" | 2|style="background:rgb(255,255,204)" | 14 bytes|style="background:rgb(255,255,204)" | Unknown|-| 16| Number of bones * 48 bytes| Bones|} === Bone struct ===
{| border="01" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background: rgb(0204,0204,0204)" align="center"| Offset! style="background:rgb(204,204,204)" align="center" | Extension Length! style="background:rgb(204,204,204)" align="center" | DataDescription
|-
|style="background:rgb(255,255,255)" 0| [[ANZ]]2 bytes|style="background:rgb(255,255,255)" align="center" | LZS Compressed Dialog Answer LookupParent id
|-
|style="background:rgb(255,255,255)" 2|[[BBB]]2 bytes|style="background:rgb(255,255,255)" align="center" | UnknownBone size
|-
|style="background:rgb(255,255,204)" | 4|style="background:rgb(255,255,204)" |[[BIN]]44 bytes|style="background:rgb(255,255,255204)" | Unknown (often empty)|} == Section 2: Model geometry == === Header (data sub table)=== {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | UnknownDescription
|-
|style="background:rgb(255,255,255)" 0| [[BIZ]]4 bytes|style="background:rgb(255,255,255)" align="center" | LZS Compressed BIN file (Unknown)Number of objects
|-
|4| nbObjects * 4 bytes| Object Positions|} === Object Data === {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(255204,255204,255204)" | [[DAT]]Offset|! style="background:rgb(255204,255204,255204)" align| Length! style="centerbackground:rgb(204,204,204)" | Sound EffectsDescription
|-
|style="background:rgb(255,255,255)" 0| [[DCT]]2 bytes|style="background:rgb(255,255,255)" align="center" | Japanese Word Dictionary Number of Vertices Data
|-
|style="background:rgb(255,255,255)" 2| [[KAT]]Varies * NbVerticesData|style="background:rgb(255,255,255)" align="center" | UnknownVertices Data
|-
|style="background:rgb(255,255,255)" Varies| [[SNG]]absolutePosition % 4|style="background:rgbPadding (255,255,2550x00)" align="center" | Midi/Mod like Music Data
|-
|Varies| 2 bytes| Num triangles|-| Varies| 2 bytes| Num quads|-| Varies| 8 bytes| Padding (0x00)|-| Varies| numTriangles * 16 bytes| Triangles|-| Varies| numQuads * 20 bytes| Quads|-| Varies| 4 bytes| Total number of vertices (may be not visible)|} ==== Vertice Data ==== {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(255204,255204,255204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | Description|-| 0| 2 bytes| Bone id|-| 2| 2 bytes| Number of vertices|-| 4| nbVertices * 6 bytes| Vertices (nbVertices * 3 shorts)|} ==== Useful structures ====  typedef struct { sint16 x, y, z; } vertice;(sizeof = 6)  typedef struct { uint16 vertex_indexes[3]; uint8 texCoords1[2]; uint8 texCoords2[2]; uint16 textureID_related; uint8 texCoords3[2]; uint16 u; // textureID_related2 } triangle;(sizeof = 16)  typedef struct { uint16 vertex_indexes[4]; uint8 texCoords1[2]; uint16 textureID_related; uint8 texCoords2[STR2]; uint16 u; // textureID_related2 uint8 texCoords3[2]; uint8 texCoords4[2]; } triangle;(sizeof = 20) == Section 3: Model animation == === Header (data sub table) === {|border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(255204,255204,255204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | Description|-| 0| 4 bytes| Number of animations|-| 4| nbAnimations * 4 bytes| Animations Positions|} == Section 4: Unknown == Optionnal section, often empty. == Section 5: A.I. == Maybe A.I. scripts. === Header === {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | Description|-| 0| 2 bytes| Number of scripts|-| 2| nbScripts * 2 bytes| Scripts Positions|} == Section 6: unknown == Can be empty. == Section 7: Informations & stats == TODO (interpreted at 94%) == Section 8: Battle scripts == == Section 9: Sounds == Contains AKAO sequences. == Section 10: Sounds == Contains AKAO sequences. == Section 11: Textures == Contains some [[PSX/TIM_format|TIMs]] with size 128x128 (8bit paletized). {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | MDEC format movie fileDescription
|-
|style="background:rgb(255,255,255)" 0| [[TIZ]]4 bytes|style="background:rgb(255,255,255)" align="center" | LZS Compressed TIM fileNumber of TIMs
|-
|style="background:rgb(255,255,255)" 4| [[VIB]]nbTIMs * 4 bytes|style="background:rgb(255,255,255)" align="center" | UnknownTIMs Positions
|-
|style="background:rgb(255,255,255)" 4 + nbTIMs * 4| [[ZZZ]]4 bytes|style="background:rgb(255,255,255)" align="center" | LZS Compressed dialogsEnd of file
|-
| 8 + nbTIMs * 4
| Varies * nbTIMs
| TIMs
|}
Anonymous user

Navigation menu