? QC-clmovement_disable.diff Index: progsvm.h =================================================================== RCS file: /cvs/cvsroot/twilight/darkplaces/progsvm.h,v retrieving revision 1.45 diff -u -r1.45 progsvm.h --- progsvm.h 19 Feb 2007 01:15:58 -0000 1.45 +++ progsvm.h 27 Mar 2007 19:58:32 -0000 @@ -151,6 +151,7 @@ int chain; // common - used by find builtins int classname; // common int clientcolors; // ssqc + int clmovement_disable; // ssqc int color; // ssqc int colormod; // ssqc / csqc int contentstransition; // ssqc Index: prvm_edict.c =================================================================== RCS file: /cvs/cvsroot/twilight/darkplaces/prvm_edict.c,v retrieving revision 1.73 diff -u -r1.73 prvm_edict.c --- prvm_edict.c 11 Mar 2007 23:53:31 -0000 1.73 +++ prvm_edict.c 27 Mar 2007 19:58:32 -0000 @@ -1260,6 +1260,7 @@ prog->fieldoffsets.chain = PRVM_ED_FindFieldOffset("chain"); prog->fieldoffsets.classname = PRVM_ED_FindFieldOffset("classname"); prog->fieldoffsets.clientcolors = PRVM_ED_FindFieldOffset("clientcolors"); + prog->fieldoffsets.clmovement_disable = PRVM_ED_FindFieldOffset("clmovement_disable"); prog->fieldoffsets.color = PRVM_ED_FindFieldOffset("color"); prog->fieldoffsets.colormod = PRVM_ED_FindFieldOffset("colormod"); prog->fieldoffsets.contentstransition = PRVM_ED_FindFieldOffset("contentstransition"); Index: sv_main.c =================================================================== RCS file: /cvs/cvsroot/twilight/darkplaces/sv_main.c,v retrieving revision 1.247 diff -u -r1.247 sv_main.c --- sv_main.c 24 Mar 2007 17:46:19 -0000 1.247 +++ sv_main.c 27 Mar 2007 19:58:32 -0000 @@ -2540,6 +2540,7 @@ {ev_float, "buttonchat"}, {ev_float, "buttonuse"}, {ev_float, "clientcolors"}, + {ev_float, "clmovement_disable"}, {ev_float, "cursor_active"}, {ev_float, "fullbright"}, {ev_float, "glow_color"}, Index: sv_user.c =================================================================== RCS file: /cvs/cvsroot/twilight/darkplaces/sv_user.c,v retrieving revision 1.108 diff -u -r1.108 sv_user.c --- sv_user.c 3 Mar 2007 01:37:22 -0000 1.108 +++ sv_user.c 27 Mar 2007 20:08:19 -0000 @@ -533,7 +533,9 @@ // disable clientside movement prediction in some cases if (ceil(max(move->receivetime - move->time, 0) * 1000.0) < sv_clmovement_minping.integer) host_client->clmovement_disabletimeout = realtime + sv_clmovement_minping_disabletime.value / 1000.0; - if (!sv_clmovement_enable.integer || host_client->clmovement_disabletimeout > realtime) + // DRESK + // Additionally Check for QC-level clmovement_disable + if (!sv_clmovement_enable.integer || host_client->clmovement_disabletimeout > realtime || (PRVM_EDICTFIELDVALUE(host_client->edict, prog->fieldoffsets.clmovement_disable)->_float == 1) ) move->sequence = 0; // now store this move for later execution