-
Notifications
You must be signed in to change notification settings - Fork 3
/
structs.yml
101 lines (86 loc) · 2.63 KB
/
structs.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
---
EQG:
structs:
Mod:
- string[4]@assert<$ == "EQGM">: magic
- uint32: Version
- uint32: strlen, numMat, numVert, numTri, numBones
- stringtable[strlen]: stringTable
- Material[numMat]: Materials
- Vertex[numVert]@if<Version < 3>: Vertices
- Vertex3[numVert]@if<Version >= 3>: Vertices
- Triangle[numTri]: Triangles
- Bone[numBones]: Bones
- BoneAssignment[numVert]@if<numBones > 0>: BoneAssignments
Ter:
- string[4]@assert<$ == "EQGT">: magic
- uint32: Version
- uint32: strlen, numMat, numVert, numTri
- stringtable[strlen]: stringTable
- Material[numMat]: Materials
- Vertex[numVert]@if<Version < 3>: Vertices
- Vertex3[numVert]@if<Version >= 3>: Vertices
- Triangle[numTri]: Triangles
Material:
- uint32: Index
- stringref<uint32>: Name, Shader
- uint32: numProp
- MatProperty[numProp]: Properties
MatProperty:
- stringref<uint32>: Name
- uint32@assert<$ != 1 && $ <= 3>: Type
- float@if<Type == 0>: FloatValue
- stringref<uint32>@if<Type == 2>: StringValue
- uint32@if<Type == 3>: ARGBValue
Vertex:
- float[3]: Position, Normal
- float[2]: TexCoord
Vertex3:
- float[3]: Position, Normal
- uint32: unk1
- float[2]: TexCoord
- float[2]: unk2
Triangle:
- uint32[3]: Indices
- uint32: MatIndex, Flag
Bone:
- stringref<uint32>: Name
- int32: LinkBoneIndex
- uint32: Flag
- int32: ChildBoneIndex
- float[3]: Position
- float[4]: Rotation # Quaternion
- float[3]: Scale
BoneAssignment:
- uint32: Count # Number of weights actually used
- BoneWeight[4]: Weights
BoneWeight:
- int32: BoneIndex
- float: Value
Ani:
- string[4]@assert<$ == "EQGA">: magic
- uint32: Version, strlen, NumBones, NumUnk2
- stringtable[strlen]: stringTable
- FrameBone[NumBones]: FrameBones
FrameBone:
- uint32: numFrames
- stringref<uint32>: Bone
- Frame[numFrames]: Frames
Frame:
- uint32: Time
- float[3]: Translation
- float[4]: Rotation # Quaternion
- float[3]: Scaling
Zon:
- string[4]@assert<$ == "EQGZ">: magic
- uint32: Version, strlen, numFiles, numPlaceables, NumUnk3, numLights
- stringtable[strlen]: stringTable
- stringref<uint32>[numFiles]: Files
- Placeable[numPlaceables]: Placeables
# XXX: Incomplete!
Placeable:
- uint32: Index
- stringref<uint32>: Name
- float[3]: Position
- float[3]: Rotation
- float: Scale