Fatal Fake + Crucis
Posted: Wed Nov 23, 2011 4:04 am
Fate/stay night game.
characters stored in CDT format, stages in STG format.
Both are the same format except characters store bones/weights.
Textures are stored in the file as well (all DDS)
Update 2011-12-10: Crucis Fatal Fake available a couple posts down.
Update 2011-12-12: Noesis plugin (WIP) available for Crucis here
Update 2011-12-19: Crucis plugin now handle textures.
Unstable internet atm so no samples.
I've gotten the geometry with textures but don't know anything else.
The models aren't THAT great, but maybe someone might like them.
EDIT: just realized the unknown structs are wrong. I wrote this up and then started writing code but then didn't go back and update this after I worked it out.
characters stored in CDT format, stages in STG format.
Both are the same format except characters store bones/weights.
Textures are stored in the file as well (all DDS)
Update 2011-12-10: Crucis Fatal Fake available a couple posts down.
Update 2011-12-12: Noesis plugin (WIP) available for Crucis here
Update 2011-12-19: Crucis plugin now handle textures.
Unstable internet atm so no samples.
I've gotten the geometry with textures but don't know anything else.
The models aren't THAT great, but maybe someone might like them.
EDIT: just realized the unknown structs are wrong. I wrote this up and then started writing code but then didn't go back and update this after I worked it out.
Code: Select all
Fatal Fake CDT - character models
struct Vertex {
float_3 vx, vy, vz
dword_3 ?
float_3
float_3
}
Struct Face {
word_3 v1, v2, v3
}
struct unk1 {
dword count
dword_count ?
word unk
if unk1 == 0
float
else
unk2
}
struct unk2 {
byte_23
dword numVerts
numVerts {
float_5
byte (0 or 1)
}
dword count
count {
dword_2
float_8
}
byte 0
float ?
}
====
float_2 ??
word len
len name
dword numMesh
float ?
struct mesh? {
word len
len name
dword ?
dword numVerts
byte ?
numVerts Vertex
dword ??
dword numSections #face sections
numSections FaceSection {
dword numIndex / 3
numIndex Face
dword ?
word len
len sectionName
}
struct unk1
}
dword numTex
struct Texture {
word len
len TexName
dword_2 texSize
texSize texData
}
dword numMat
numMat Material {
float_16
dword ?
word len
len matName
dword_5 ??
dword_numTex
numTex {
word len
len texName
}
}
dword numBones
Bone struct {
...
}