1
0

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
This commit is contained in:
admin@omencraft.com 2011-11-03 17:42:24 +00:00
parent 301569a6c9
commit ef99915447
5 changed files with 15 additions and 14 deletions

View File

@ -45,7 +45,10 @@ inline long long NetworkToHostLong8( void* a_Value )
inline float NetworkToHostFloat4( void* a_Value ) inline float NetworkToHostFloat4( void* a_Value )
{ {
u_long buf = *(u_long*)a_Value; //u_long buf = *(u_long*)a_Value;
buf = ntohl( buf ); unsigned long buf = *(unsigned long*)a_Value;
buf = ntohl( (unsigned long)buf );
(void)printf("",(unsigned long)buf);
//(unsigned long)buf;
return *(float*)reinterpret_cast<float *>(&buf); return *(float*)reinterpret_cast<float *>(&buf);
} }

View File

@ -1,4 +1,3 @@
#include "cClientHandle.h" #include "cClientHandle.h"
#include "cServer.h" #include "cServer.h"
#include "cWorld.h" #include "cWorld.h"
@ -764,7 +763,6 @@ void cClientHandle::HandlePacket( cPacket* a_Packet )
PacketData->m_ItemType = E_BLOCK_REDSTONE_WIRE; PacketData->m_ItemType = E_BLOCK_REDSTONE_WIRE;
break; break;
case E_ITEM_REDSTONE_REPEATER: case E_ITEM_REDSTONE_REPEATER:
LOG(" m_Player->GetRotation(): %f", m_Player->GetRotation());
MetaData = cRedstoneRepeater::RotationToMetaData( m_Player->GetRotation() ); MetaData = cRedstoneRepeater::RotationToMetaData( m_Player->GetRotation() );
PacketData->m_ItemType = E_BLOCK_REDSTONE_REPEATER_OFF; PacketData->m_ItemType = E_BLOCK_REDSTONE_REPEATER_OFF;
break; break;

View File

@ -8,13 +8,13 @@ public:
printf("a_Rotation: %f\n",a_Rotation); printf("a_Rotation: %f\n",a_Rotation);
a_Rotation += 90 + 45; // So its not aligned with axis a_Rotation += 90 + 45; // So its not aligned with axis
if( a_Rotation > 360.f ) a_Rotation -= 360.f; if( a_Rotation > 360.f ) a_Rotation -= 360.f;
if( a_Rotation >= 0.f && a_Rotation < 90.f ) if( a_Rotation >= 0.f && a_Rotation < 90.f ){
return 0x2; return 0x1;}
else if( a_Rotation >= 180 && a_Rotation < 270 ) else if( a_Rotation >= 180 && a_Rotation < 270 ){
return 0x3; return 0x3;}
else if( a_Rotation >= 90 && a_Rotation < 180 ) else if( a_Rotation >= 90 && a_Rotation < 180 ){
return 0x0; return 0x2;}
else else
return 0x1; return 0x0;
} //tolua_export } //tolua_export
}; //tolua_export }; //tolua_export

View File

@ -47,4 +47,4 @@ bool cPacket_PlayerMoveLook::Send( cSocket & a_Socket )
bool RetVal = !cSocket::IsSocketError( SendData( a_Socket, Message, TotalSize, 0 ) ); bool RetVal = !cSocket::IsSocketError( SendData( a_Socket, Message, TotalSize, 0 ) );
delete [] Message; delete [] Message;
return RetVal; return RetVal;
} }

View File

@ -30,4 +30,4 @@ public:
float m_Pitch; float m_Pitch;
bool m_bFlying; // Yeah.. wtf bool m_bFlying; // Yeah.. wtf
static const unsigned int c_Size = 42; static const unsigned int c_Size = 42;
}; };