From ef99915447cde365adcc026e2029335177a68ced Mon Sep 17 00:00:00 2001 From: "admin@omencraft.com" Date: Thu, 3 Nov 2011 17:42:24 +0000 Subject: [PATCH] Fixed some redstone items and a bug that prevented floats from client to server packets reading correctly on 64 bit linux. git-svn-id: http://mc-server.googlecode.com/svn/trunk@50 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/Endianness.h | 9 ++++++--- source/cClientHandle.cpp | 2 -- source/cRedstoneRepeater.h | 14 +++++++------- source/packets/cPacket_PlayerMoveLook.cpp | 2 +- source/packets/cPacket_PlayerMoveLook.h | 2 +- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/source/Endianness.h b/source/Endianness.h index 9e62c48c4..cf5ed5567 100644 --- a/source/Endianness.h +++ b/source/Endianness.h @@ -45,7 +45,10 @@ inline long long NetworkToHostLong8( void* a_Value ) inline float NetworkToHostFloat4( void* a_Value ) { - u_long buf = *(u_long*)a_Value; - buf = ntohl( buf ); + //u_long buf = *(u_long*)a_Value; + unsigned long buf = *(unsigned long*)a_Value; + buf = ntohl( (unsigned long)buf ); + (void)printf("",(unsigned long)buf); + //(unsigned long)buf; return *(float*)reinterpret_cast(&buf); -} \ No newline at end of file +} diff --git a/source/cClientHandle.cpp b/source/cClientHandle.cpp index 222e87497..f384eba77 100644 --- a/source/cClientHandle.cpp +++ b/source/cClientHandle.cpp @@ -1,4 +1,3 @@ - #include "cClientHandle.h" #include "cServer.h" #include "cWorld.h" @@ -764,7 +763,6 @@ void cClientHandle::HandlePacket( cPacket* a_Packet ) PacketData->m_ItemType = E_BLOCK_REDSTONE_WIRE; break; case E_ITEM_REDSTONE_REPEATER: - LOG(" m_Player->GetRotation(): %f", m_Player->GetRotation()); MetaData = cRedstoneRepeater::RotationToMetaData( m_Player->GetRotation() ); PacketData->m_ItemType = E_BLOCK_REDSTONE_REPEATER_OFF; break; diff --git a/source/cRedstoneRepeater.h b/source/cRedstoneRepeater.h index d772d6e6f..6a5f0c163 100644 --- a/source/cRedstoneRepeater.h +++ b/source/cRedstoneRepeater.h @@ -8,13 +8,13 @@ public: printf("a_Rotation: %f\n",a_Rotation); a_Rotation += 90 + 45; // So its not aligned with axis if( a_Rotation > 360.f ) a_Rotation -= 360.f; - if( a_Rotation >= 0.f && a_Rotation < 90.f ) - return 0x2; - else if( a_Rotation >= 180 && a_Rotation < 270 ) - return 0x3; - else if( a_Rotation >= 90 && a_Rotation < 180 ) - return 0x0; + if( a_Rotation >= 0.f && a_Rotation < 90.f ){ + return 0x1;} + else if( a_Rotation >= 180 && a_Rotation < 270 ){ + return 0x3;} + else if( a_Rotation >= 90 && a_Rotation < 180 ){ + return 0x2;} else - return 0x1; + return 0x0; } //tolua_export }; //tolua_export diff --git a/source/packets/cPacket_PlayerMoveLook.cpp b/source/packets/cPacket_PlayerMoveLook.cpp index f1d67478c..3970e27ae 100644 --- a/source/packets/cPacket_PlayerMoveLook.cpp +++ b/source/packets/cPacket_PlayerMoveLook.cpp @@ -47,4 +47,4 @@ bool cPacket_PlayerMoveLook::Send( cSocket & a_Socket ) bool RetVal = !cSocket::IsSocketError( SendData( a_Socket, Message, TotalSize, 0 ) ); delete [] Message; return RetVal; -} \ No newline at end of file +} diff --git a/source/packets/cPacket_PlayerMoveLook.h b/source/packets/cPacket_PlayerMoveLook.h index 3711e0e58..aff958927 100644 --- a/source/packets/cPacket_PlayerMoveLook.h +++ b/source/packets/cPacket_PlayerMoveLook.h @@ -30,4 +30,4 @@ public: float m_Pitch; bool m_bFlying; // Yeah.. wtf static const unsigned int c_Size = 42; -}; \ No newline at end of file +};