ZoneCode: Fix alignments and structs for XAnims

This commit is contained in:
Jan
2019-12-23 21:24:23 +01:00
parent d6f49c459c
commit db8e4c987c
2 changed files with 34 additions and 11 deletions

View File

@ -5174,15 +5174,17 @@ namespace T6
DevGraph devguiGraph;
};
typedef char ByteVec[3];
typedef __declspec(align(4)) unsigned __int16 UShortVec[3];
union XAnimDynamicFrames
{
char (*_1)[3];
unsigned __int16 (*_2)[3];
ByteVec *_1;
UShortVec *_2;
};
union XAnimDynamicIndices
union XAnimDynamicIndicesTrans
{
char _1[1];
unsigned __int16 _2[1];
@ -5194,7 +5196,7 @@ namespace T6
vec3_t mins;
vec3_t size;
XAnimDynamicFrames frames;
XAnimDynamicIndices indices;
XAnimDynamicIndicesTrans indices;
};
@ -5212,18 +5214,25 @@ namespace T6
XAnimPartTransData u;
};
union XAnimDynamicIndicesDeltaQuat2
{
char _1[1];
unsigned __int16 _2[1];
};
typedef __declspec(align(4)) __int16 XQuat2[2];
struct __declspec(align(4)) XAnimDeltaPartQuatDataFrames2
{
__int16 (*frames)[2];
XAnimDynamicIndices indices;
XQuat2 *frames;
XAnimDynamicIndicesDeltaQuat2 indices;
};
union XAnimDeltaPartQuatData2
{
XAnimDeltaPartQuatDataFrames2 frames;
__int16 frame0[2];
XQuat2 frame0;
};
@ -5233,18 +5242,25 @@ namespace T6
XAnimDeltaPartQuatData2 u;
};
union XAnimDynamicIndicesDeltaQuat
{
char _1[1];
unsigned __int16 _2[1];
};
typedef __declspec(align(4)) __int16 XQuat[4];
struct __declspec(align(4)) XAnimDeltaPartQuatDataFrames
{
__int16 (*frames)[4];
XAnimDynamicIndices indices;
XQuat *frames;
XAnimDynamicIndicesDeltaQuat indices;
};
union XAnimDeltaPartQuatData
{
XAnimDeltaPartQuatDataFrames frames;
__int16 frame0[4];
XQuat frame0;
};