From ba585426e94c6f99a35f4c2faf28abf2ed643bde Mon Sep 17 00:00:00 2001 From: Jan Date: Sat, 10 Oct 2020 13:33:25 +0200 Subject: [PATCH] Fix IW4 XAnimDynamicIndices to being loaded differently in trans, quat, quat2 --- src/ZoneCommon/Game/IW4/IW4_Assets.h | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/ZoneCommon/Game/IW4/IW4_Assets.h b/src/ZoneCommon/Game/IW4/IW4_Assets.h index ec7b1d01..fdf9603d 100644 --- a/src/ZoneCommon/Game/IW4/IW4_Assets.h +++ b/src/ZoneCommon/Game/IW4/IW4_Assets.h @@ -257,7 +257,7 @@ namespace IW4 unsigned __int16 (*_2)[3]; }; - union XAnimDynamicIndices + union XAnimDynamicIndicesTrans { char _1[1]; unsigned __int16 _2[1]; @@ -268,7 +268,7 @@ namespace IW4 float mins[3]; float size[3]; XAnimDynamicFrames frames; - XAnimDynamicIndices indices; + XAnimDynamicIndicesTrans indices; }; union XAnimPartTransData @@ -284,10 +284,16 @@ namespace IW4 XAnimPartTransData u; }; + union XAnimDynamicIndicesQuat2 + { + char _1[1]; + unsigned __int16 _2[1]; + }; + struct __declspec(align(4)) XAnimDeltaPartQuatDataFrames2 { __int16 (*frames)[2]; - XAnimDynamicIndices indices; + XAnimDynamicIndicesQuat2 indices; }; union XAnimDeltaPartQuatData2 @@ -302,10 +308,16 @@ namespace IW4 XAnimDeltaPartQuatData2 u; }; + union XAnimDynamicIndicesQuat + { + char _1[1]; + unsigned __int16 _2[1]; + }; + struct XAnimDeltaPartQuatDataFrames { __int16 (*frames)[4]; - XAnimDynamicIndices indices; + XAnimDynamicIndicesQuat indices; }; union XAnimDeltaPartQuatData