File tree Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -99,15 +99,14 @@ namespace Util {
99
99
template <> struct SerializeTraits <std::vector<BoneMod>> {
100
100
static void Write ( Writer& stream, const std::vector<BoneMod>& boneMods ) {
101
101
stream.WriteSize ( boneMods.size () );
102
- // stream.Write<float>( skel.scale );
103
- // size_t length = sizeof( refBone_t ) * skel.numBones;
104
- stream.WriteData ( boneMods.data (), boneMods.size () );
102
+ stream.WriteData ( boneMods.data (), boneMods.size () * sizeof ( BoneMod ) );
105
103
}
104
+
106
105
static std::vector<BoneMod> Read ( Reader& stream ) {
107
106
std::vector<BoneMod> boneMods;
108
- boneMods. reserve ( stream.ReadSize <BoneMod>() );
109
- size_t length = sizeof ( refBone_t ) * boneMods.size ( );
110
- stream.ReadData ( boneMods.data (), length );
107
+ const size_t size = stream.ReadSize <BoneMod>();
108
+ boneMods.resize ( size );
109
+ stream.ReadData ( boneMods.data (), size * sizeof ( BoneMod ) );
111
110
return boneMods;
112
111
}
113
112
};
@@ -120,6 +119,7 @@ namespace Util {
120
119
stream.Write <std::vector<BoneMod>>( ent.boneMods );
121
120
// stream.Write<refSkeleton_t>(ent.skeleton);
122
121
}
122
+
123
123
static refEntity_t Read (Reader& stream)
124
124
{
125
125
refEntity_t ent;
Original file line number Diff line number Diff line change @@ -2123,6 +2123,10 @@ void R_AddEntitySurfaces()
2123
2123
ent->e .lerp2 , ent->e .clearOrigin2 );
2124
2124
RE_BlendSkeleton ( &ent->e .skeleton , &skel, ent->e .blendLerp );
2125
2125
}
2126
+
2127
+ for ( const BoneMod& boneMod : ent->e .boneMods ) {
2128
+ QuatMultiply2 ( ent->e .skeleton .bones [boneMod.index ].t .rot , boneMod.rotation );
2129
+ }
2126
2130
R_AddMD5Surfaces ( ent );
2127
2131
break ;
2128
2132
@@ -2152,6 +2156,10 @@ void R_AddEntitySurfaces()
2152
2156
RE_BlendSkeleton ( &ent->e .skeleton , &skel, ent->e .blendLerp );
2153
2157
}
2154
2158
R_TransformSkeleton ( &ent->e .skeleton , ent->e .scale );
2159
+
2160
+ for ( const BoneMod& boneMod : ent->e .boneMods ) {
2161
+ QuatMultiply2 ( ent->e .skeleton .bones [boneMod.index ].t .rot , boneMod.rotation );
2162
+ }
2155
2163
R_AddIQMSurfaces ( ent );
2156
2164
break ;
2157
2165
}
You can’t perform that action at this time.
0 commit comments