break;
case PROTOCOL_DARKPLACES6:
case PROTOCOL_DARKPLACES7:
+ case PROTOCOL_DARKPLACES8:
cl.cmd.predicted = cl_movement.integer != 0;
break;
default:
break;
case PROTOCOL_DARKPLACES6:
case PROTOCOL_DARKPLACES7:
+ case PROTOCOL_DARKPLACES8:
// FIXME: cl.cmd.buttons & 16 is +button5, Nexuiz/Xonotic specific
cl.cmd.crouch = (cl.cmd.buttons & 16) != 0;
break;
// PROTOCOL_DARKPLACES5 clc_move = 19 bytes total
// PROTOCOL_DARKPLACES6 clc_move = 52 bytes total
// PROTOCOL_DARKPLACES7 clc_move = 56 bytes total per move (can be up to 16 moves)
+ // PROTOCOL_DARKPLACES8 clc_move = 56 bytes total per move (can be up to 16 moves)
// PROTOCOL_QUAKEWORLD clc_move = 34 bytes total (typically, but can reach 43 bytes, or even 49 bytes with roll)
// set prydon cursor info
MSG_WriteByte (&buf, cl.cmd.impulse);
case PROTOCOL_DARKPLACES6:
case PROTOCOL_DARKPLACES7:
+ case PROTOCOL_DARKPLACES8:
// set the maxusercmds variable to limit how many should be sent
maxusercmds = bound(1, cl_netrepeatinput.integer + 1, min(3, CL_MAX_USERCMDS));
// when movement prediction is off, there's not much point in repeating old input as it will just be ignored
typedef enum protocolversion_e
{
PROTOCOL_UNKNOWN,
+ PROTOCOL_DARKPLACES8, ///< wip
PROTOCOL_DARKPLACES7, ///< added QuakeWorld-style movement protocol to allow more consistent prediction
PROTOCOL_DARKPLACES6, ///< various changes
PROTOCOL_DARKPLACES5, ///< uses EntityFrame5 entity snapshot encoder/decoder which is based on a Tribes networking article at http://www.garagegames.com/articles/networking1/
}
protocolversioninfo[] =
{
+ { 3505, PROTOCOL_DARKPLACES8 , "DP8"},
{ 3504, PROTOCOL_DARKPLACES7 , "DP7"},
{ 3503, PROTOCOL_DARKPLACES6 , "DP6"},
{ 3502, PROTOCOL_DARKPLACES5 , "DP5"},