Difference between revisions of "FF8/WorldMap charaone"

From Final Fantasy Inside
< FF8
Jump to navigation Jump to search
my_wiki>MaKi
(section 12 (arg4 == 0x12))
my_wiki>MaKi
(Header)
Line 16: Line 16:
 
| TIM texture
 
| TIM texture
 
|-
 
|-
| ?? (after TIM textures, usually two?)
+
| *(this) != x 10 00 00 00  08 00 00 00
| VARIES
+
| Varies
 
| Chara
 
| Chara
 
|}
 
|}

Revision as of 18:21, 16 February 2019

file is different than field [ONE]

Header

Offset Length Description
0x00 uint EOF
0x04 (TIM_height * (TIM_width * 4) ) / 2 + 64 TIM texture
*(this) != x 10 00 00 00 08 00 00 00 Varies Chara

Chara

Offset Length Description
0x00 uint bone section? length (shift left 6)
0x04 uint unknown struct size. Multiply by 8
0x08 uint unknown size
?? uint 32 * *(dword_24FEE48[v24] + 36))
0x38 uint section 12 pointer + 2

section 12 (arg4 == 0x12)

names are WIP, I'm not quite sure if it's animation, geometry or bones...

Offset Length Description
0x00 + ( i==0 ? 0 : sizeof(entry[i-1])) sizeof(entry) while entry.countOfEntries != null
  • there's no count for these objects, so you have to read all entries one-by-one. In order to understand when to stop you have to check if reading new entry.countOfEntities == 0


Entry:

Offset Length Description
0x00 ushort count of entities
0x02 ushort count of bone rotations
0x04 + (entityID * (countOfBoneRot * 6) + 6) 6 + (countOfBoneRotations*6) entityObject

entityObject:

Offset Length Description
0x00 short X offset
0x02 short Z offset
0x04 short Y (up) offset
0x06 + (boneID*6) short Bone[boneID].RotX
0x08 + (boneID*6) short Bone[boneID].RotZ
0x0A + (boneID*6) short Bone[boneID].RotY