===================== MSG_WriteDeltaUsercmdKey ===================== */
| 686 | ===================== |
| 687 | */ |
| 688 | void 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 | ===================== |
no test coverage detected