mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-06-27 19:38:07 +00:00
feat: add binary xanim support for remaining games (#818)
* refactor: use generic loader for iw3 xanims * refactor: use generic dumper for iw3 xanims * chore: use templating on XAnimDumper * chore: use templating on XAnimLoader * feat: dump xanims for T5 * feat: load binary t5 xanims * feat: load and dump t6 xanims * feat: load and dump iw4,iw5 xanims * chore: make sure iw3 and t5 notify about unsupported delta3D * chore: also use CommonVec3U8 and CommonVec3U16 for non delta trans track
This commit is contained in:
@@ -395,6 +395,13 @@ namespace IW4
|
||||
PART_TYPE_COUNT
|
||||
};
|
||||
|
||||
enum XAnimFlags
|
||||
{
|
||||
ANIM_LOOP = 0x1,
|
||||
ANIM_DELTA = 0x2,
|
||||
ANIM_DELTA_3D = 0x4,
|
||||
};
|
||||
|
||||
struct XAnimParts
|
||||
{
|
||||
const char* name;
|
||||
@@ -404,7 +411,7 @@ namespace IW4
|
||||
uint16_t randomDataByteCount;
|
||||
uint16_t randomDataIntCount;
|
||||
uint16_t numframes;
|
||||
char flags;
|
||||
unsigned char flags;
|
||||
unsigned char boneCount[PART_TYPE_COUNT];
|
||||
unsigned char notifyCount;
|
||||
unsigned char assetType;
|
||||
|
||||
@@ -419,6 +419,13 @@ namespace IW5
|
||||
PART_TYPE_COUNT
|
||||
};
|
||||
|
||||
enum XAnimFlags
|
||||
{
|
||||
ANIM_LOOP = 0x1,
|
||||
ANIM_DELTA = 0x2,
|
||||
ANIM_DELTA_3D = 0x4,
|
||||
};
|
||||
|
||||
struct XAnimParts
|
||||
{
|
||||
const char* name;
|
||||
|
||||
@@ -5668,7 +5668,7 @@ namespace T6
|
||||
XAnimPartTransData u;
|
||||
};
|
||||
|
||||
union XAnimDynamicIndicesDeltaQuat2
|
||||
union XAnimDynamicIndicesQuat
|
||||
{
|
||||
unsigned char _1[1];
|
||||
uint16_t _2[1];
|
||||
@@ -5682,7 +5682,7 @@ namespace T6
|
||||
struct type_align32(4) XAnimDeltaPartQuatDataFrames2
|
||||
{
|
||||
XQuat2* frames;
|
||||
XAnimDynamicIndicesDeltaQuat2 indices;
|
||||
XAnimDynamicIndicesQuat indices;
|
||||
};
|
||||
|
||||
union XAnimDeltaPartQuatData2
|
||||
@@ -5697,12 +5697,6 @@ namespace T6
|
||||
XAnimDeltaPartQuatData2 u;
|
||||
};
|
||||
|
||||
union XAnimDynamicIndicesDeltaQuat
|
||||
{
|
||||
unsigned char _1[1];
|
||||
uint16_t _2[1];
|
||||
};
|
||||
|
||||
struct type_align(4) XQuat
|
||||
{
|
||||
int16_t value[4];
|
||||
@@ -5711,7 +5705,7 @@ namespace T6
|
||||
struct type_align32(4) XAnimDeltaPartQuatDataFrames
|
||||
{
|
||||
XQuat* frames;
|
||||
XAnimDynamicIndicesDeltaQuat indices;
|
||||
XAnimDynamicIndicesQuat indices;
|
||||
};
|
||||
|
||||
union XAnimDeltaPartQuatData
|
||||
|
||||
Reference in New Issue
Block a user