From df20126b9578733db00bd7e9dd31a3b905f8bba7 Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Sat, 25 Aug 2012 11:13:23 -0400 Subject: [PATCH] Updated CUserCmd further. --- game/shared/usercmd.cpp | 20 ++++++++++++++++++++ game/shared/usercmd.h | 5 ++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/game/shared/usercmd.cpp b/game/shared/usercmd.cpp index 567be642..9fdafbf4 100644 --- a/game/shared/usercmd.cpp +++ b/game/shared/usercmd.cpp @@ -132,6 +132,10 @@ void WriteUsercmd( bf_write *buf, const CUserCmd *to, const CUserCmd *from ) WriteUserCmdDeltaFloat( buf, "viewangles[0]", from->viewangles[0], to->viewangles[0] ); WriteUserCmdDeltaFloat( buf, "viewangles[1]", from->viewangles[1], to->viewangles[1] ); WriteUserCmdDeltaFloat( buf, "viewangles[2]", from->viewangles[2], to->viewangles[2] ); + + WriteUserCmdDeltaFloat( buf, "aimdirection[0]", from->aimdirection[0], to->aimdirection[0] ); + WriteUserCmdDeltaFloat( buf, "aimdirection[1]", from->aimdirection[1], to->aimdirection[1] ); + WriteUserCmdDeltaFloat( buf, "aimdirection[2]", from->aimdirection[2], to->aimdirection[2] ); WriteUserCmdDeltaFloat( buf, "forwardmove", from->forwardmove, to->forwardmove ); WriteUserCmdDeltaFloat( buf, "sidemove", from->sidemove, to->sidemove ); @@ -318,6 +322,22 @@ void ReadUsercmd( bf_read *buf, CUserCmd *move, CUserCmd *from ) { move->viewangles[2] = buf->ReadFloat(); } + + // Read aim direction + if ( buf->ReadOneBit() ) + { + move->aimdirection[0] = buf->ReadFloat(); + } + + if ( buf->ReadOneBit() ) + { + move->aimdirection[1] = buf->ReadFloat(); + } + + if ( buf->ReadOneBit() ) + { + move->aimdirection[2] = buf->ReadFloat(); + } // Read movement if ( buf->ReadOneBit() ) diff --git a/game/shared/usercmd.h b/game/shared/usercmd.h index 608ae663..c522f120 100644 --- a/game/shared/usercmd.h +++ b/game/shared/usercmd.h @@ -43,6 +43,7 @@ public: command_number = 0; tick_count = 0; viewangles.Init(); + aimdirection.Init(); forwardmove = 0.0f; sidemove = 0.0f; upmove = 0.0f; @@ -88,6 +89,7 @@ public: command_number = src.command_number; tick_count = src.tick_count; viewangles = src.viewangles; + aimdirection = src.aimdirection; forwardmove = src.forwardmove; sidemove = src.sidemove; upmove = src.upmove; @@ -139,7 +141,8 @@ public: CRC32_Init( &crc ); CRC32_ProcessBuffer( &crc, &command_number, sizeof( command_number ) ); CRC32_ProcessBuffer( &crc, &tick_count, sizeof( tick_count ) ); - CRC32_ProcessBuffer( &crc, &viewangles, sizeof( viewangles ) ); + CRC32_ProcessBuffer( &crc, &viewangles, sizeof( viewangles ) ); + CRC32_ProcessBuffer( &crc, &aimdirection, sizeof( aimdirection ) ); CRC32_ProcessBuffer( &crc, &forwardmove, sizeof( forwardmove ) ); CRC32_ProcessBuffer( &crc, &sidemove, sizeof( sidemove ) ); CRC32_ProcessBuffer( &crc, &upmove, sizeof( upmove ) );