From 34d9f62cf707eb7d02f463cb919799291e114698 Mon Sep 17 00:00:00 2001 From: divverent Date: Sun, 20 Dec 2009 08:32:55 +0000 Subject: [PATCH] DP_EF_RESTARTANIM_BIT git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9597 d7cf8633-e32d-0410-b094-e92efae38249 --- cl_parse.c | 8 ++++++++ protocol.h | 2 +- svvm_cmds.c | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cl_parse.c b/cl_parse.c index 44991042..e924b187 100644 --- a/cl_parse.c +++ b/cl_parse.c @@ -1899,6 +1899,14 @@ void CL_MoveLerpEntityStates(entity_t *ent) // note that this case must do everything the following case does too } + else if ((ent->state_previous.effects & EF_RESTARTANIM_BIT) != (ent->state_current.effects & EF_RESTARTANIM_BIT)) + { + ent->render.framegroupblend[1] = ent->render.framegroupblend[0]; + ent->render.framegroupblend[1].lerp = 1; + ent->render.framegroupblend[0].frame = ent->state_current.frame; + ent->render.framegroupblend[0].start = cl.time; + ent->render.framegroupblend[0].lerp = 0; + } else if (DotProduct(odelta, odelta) > 1000*1000 || (cl.fixangle[0] && !cl.fixangle[1]) || (ent->state_previous.tagindex != ent->state_current.tagindex) diff --git a/protocol.h b/protocol.h index 21c85661..1335a3a1 100644 --- a/protocol.h +++ b/protocol.h @@ -61,7 +61,7 @@ void Protocol_Names(char *buffer, size_t buffersize); #define EF_UNUSED17 131072 #define EF_UNUSED18 262144 #define EF_UNUSED19 524288 -#define EF_UNUSED20 1048576 +#define EF_RESTARTANIM_BIT 1048576 // div0: restart animation bit (like teleport bit, but lerps between end and start of the anim, and doesn't stop player lerping) #define EF_TELEPORT_BIT 2097152 // div0: teleport bit (toggled when teleporting, prevents lerping when the bit has changed) #define EF_LOWPRECISION 4194304 // LordHavoc: entity is low precision (integer coordinates) to save network bandwidth (serverside only) #define EF_NOMODELFLAGS 8388608 // indicates the model's .effects should be ignored (allows overriding them) diff --git a/svvm_cmds.c b/svvm_cmds.c index 879f7974..f282df49 100644 --- a/svvm_cmds.c +++ b/svvm_cmds.c @@ -34,6 +34,7 @@ char *vm_sv_extensions = "DP_EF_NOSELFSHADOW " "DP_EF_NOSHADOW " "DP_EF_RED " +"DP_EF_RESTARTANIM_BIT " "DP_EF_STARDUST " "DP_EF_TELEPORT_BIT " "DP_ENT_ALPHA " -- 2.39.2