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 {
9999 template <> struct SerializeTraits <std::vector<BoneMod>> {
100100 static void Write ( Writer& stream, const std::vector<BoneMod>& boneMods ) {
101101 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 ) );
105103 }
104+
106105 static std::vector<BoneMod> Read ( Reader& stream ) {
107106 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 ) );
111110 return boneMods;
112111 }
113112 };
@@ -120,6 +119,7 @@ namespace Util {
120119 stream.Write <std::vector<BoneMod>>( ent.boneMods );
121120 // stream.Write<refSkeleton_t>(ent.skeleton);
122121 }
122+
123123 static refEntity_t Read (Reader& stream)
124124 {
125125 refEntity_t ent;
Original file line number Diff line number Diff line change @@ -2123,6 +2123,10 @@ void R_AddEntitySurfaces()
21232123 ent->e .lerp2 , ent->e .clearOrigin2 );
21242124 RE_BlendSkeleton ( &ent->e .skeleton , &skel, ent->e .blendLerp );
21252125 }
2126+
2127+ for ( const BoneMod& boneMod : ent->e .boneMods ) {
2128+ QuatMultiply2 ( ent->e .skeleton .bones [boneMod.index ].t .rot , boneMod.rotation );
2129+ }
21262130 R_AddMD5Surfaces ( ent );
21272131 break ;
21282132
@@ -2152,6 +2156,10 @@ void R_AddEntitySurfaces()
21522156 RE_BlendSkeleton ( &ent->e .skeleton , &skel, ent->e .blendLerp );
21532157 }
21542158 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+ }
21552163 R_AddIQMSurfaces ( ent );
21562164 break ;
21572165 }
You can’t perform that action at this time.
0 commit comments