Skip to content

Commit fbca1dc

Browse files
committed
Move skeleton building and blending to engine
1 parent d7e9f89 commit fbca1dc

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

src/engine/client/cg_msgdef.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,13 @@ namespace Util {
101101
static void Write(Writer& stream, const refEntity_t& ent)
102102
{
103103
stream.WriteData(&ent, offsetof(refEntity_t, skeleton));
104-
stream.Write<refSkeleton_t>(ent.skeleton);
104+
// stream.Write<refSkeleton_t>(ent.skeleton);
105105
}
106106
static refEntity_t Read(Reader& stream)
107107
{
108108
refEntity_t ent;
109109
stream.ReadData(&ent, offsetof(refEntity_t, skeleton));
110-
ent.skeleton = stream.Read<refSkeleton_t>();
110+
// ent.skeleton = stream.Read<refSkeleton_t>();
111111
return ent;
112112
}
113113
};

src/engine/renderer/tr_main.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2102,10 +2102,12 @@ void R_AddEntitySurfaces()
21022102
break;
21032103

21042104
case modtype_t::MOD_MD5:
2105+
Log::Warn( "%i %s: %i", ent->e.animationHandle, R_GetAnimationByHandle( ent->e.animationHandle )->name, ent->e.startFrame );
21052106
R_AddMD5Surfaces( ent );
21062107
break;
21072108

21082109
case modtype_t::MOD_IQM:
2110+
Log::Warn( "%i %s: %i", ent->e.animationHandle, R_GetAnimationByHandle( ent->e.animationHandle )->name, ent->e.startFrame );
21092111
R_AddIQMSurfaces( ent );
21102112
break;
21112113

src/engine/renderer/tr_types.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,18 @@ struct refEntity_t
211211

212212
int altShaderIndex;
213213

214+
qhandle_t animationHandle;
215+
int startFrame;
216+
int endFrame;
217+
int lerp;
218+
int clearOrigin;
219+
int startFrame2;
220+
int endFrame2;
221+
int lerp2;
222+
int clearOrigin2;
223+
float blendLerp;
224+
float scale;
225+
214226
// KEEP SKELETON AT THE END OF THE STRUCTURE
215227
// it is to make a serialization hack for refEntity_t easier
216228
// by memcpying up to skeleton and then serializing skeleton

src/shared/client/cg_api.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,7 @@ qhandle_t trap_R_RegisterAnimation( const char *name )
448448
int trap_R_BuildSkeleton( refSkeleton_t *skel, qhandle_t anim, int startFrame, int endFrame, float frac, bool clearOrigin )
449449
{
450450
int result;
451+
skel->numBones = 0;
451452
VM::SendMsg<Render::BuildSkeletonMsg>(anim, startFrame, endFrame, frac, clearOrigin, *skel, result);
452453
return result;
453454
}
@@ -460,7 +461,7 @@ int trap_R_BlendSkeleton( refSkeleton_t *skel, const refSkeleton_t *blend, float
460461

461462
if ( skel->numBones != blend->numBones )
462463
{
463-
Log::Warn("trap_R_BlendSkeleton: different number of bones %d != %d", skel->numBones, blend->numBones);
464+
// Log::Warn("trap_R_BlendSkeleton: different number of bones %d != %d", skel->numBones, blend->numBones);
464465
return false;
465466
}
466467

0 commit comments

Comments
 (0)