MCPcopy Create free account
hub / github.com/JACoders/OpenJK / MSG_WriteDeltaUsercmdKey

Function MSG_WriteDeltaUsercmdKey

codemp/qcommon/msg.cpp:688–726  ·  view source on GitHub ↗

===================== MSG_WriteDeltaUsercmdKey ===================== */

Source from the content-addressed store, hash-verified

686=====================
687*/
688void MSG_WriteDeltaUsercmdKey( msg_t *msg, int key, usercmd_t *from, usercmd_t *to ) {
689 if ( to->serverTime - from->serverTime < 256 ) {
690 MSG_WriteBits( msg, 1, 1 );
691 MSG_WriteBits( msg, to->serverTime - from->serverTime, 8 );
692 } else {
693 MSG_WriteBits( msg, 0, 1 );
694 MSG_WriteBits( msg, to->serverTime, 32 );
695 }
696 if (from->angles[0] == to->angles[0] &&
697 from->angles[1] == to->angles[1] &&
698 from->angles[2] == to->angles[2] &&
699 from->forwardmove == to->forwardmove &&
700 from->rightmove == to->rightmove &&
701 from->upmove == to->upmove &&
702 from->buttons == to->buttons &&
703 from->weapon == to->weapon &&
704 from->forcesel == to->forcesel &&
705 from->invensel == to->invensel &&
706 from->generic_cmd == to->generic_cmd) {
707 MSG_WriteBits( msg, 0, 1 ); // no change
708 oldsize += 7;
709 return;
710 }
711 key ^= to->serverTime;
712 MSG_WriteBits( msg, 1, 1 );
713 MSG_WriteDeltaKey( msg, key, from->angles[0], to->angles[0], 16 );
714 MSG_WriteDeltaKey( msg, key, from->angles[1], to->angles[1], 16 );
715 MSG_WriteDeltaKey( msg, key, from->angles[2], to->angles[2], 16 );
716 MSG_WriteDeltaKey( msg, key, from->forwardmove, to->forwardmove, 8 );
717 MSG_WriteDeltaKey( msg, key, from->rightmove, to->rightmove, 8 );
718 MSG_WriteDeltaKey( msg, key, from->upmove, to->upmove, 8 );
719 MSG_WriteDeltaKey( msg, key, from->buttons, to->buttons, 16 );
720 MSG_WriteDeltaKey( msg, key, from->weapon, to->weapon, 8 );
721
722 MSG_WriteDeltaKey( msg, key, from->forcesel, to->forcesel, 8 );
723 MSG_WriteDeltaKey( msg, key, from->invensel, to->invensel, 8 );
724
725 MSG_WriteDeltaKey( msg, key, from->generic_cmd, to->generic_cmd, 8 );
726}
727
728/*
729=====================

Callers 1

CL_WritePacketFunction · 0.85

Calls 2

MSG_WriteDeltaKeyFunction · 0.85
MSG_WriteBitsFunction · 0.70

Tested by

no test coverage detected