- added some debug code for network protocol

This commit is contained in:
Mark Vejvoda 2012-11-03 07:33:39 +00:00
parent 8bd29bf39b
commit 61cebc07fe
2 changed files with 11 additions and 8 deletions

View File

@ -3079,7 +3079,6 @@ int glestMain(int argc, char** argv) {
printf("%s %s",extractFileFromDirectoryPath(argv[0]).c_str(),getNetworkPlatformFreeVersionString().c_str());
printf("\nCompiled using: %s on: %s platform: %s endianness: %s",getCompilerNameString().c_str(),getCompileDateTime().c_str(),getPlatformNameString().c_str(),(Shared::PlatformByteOrder::isBigEndian() == true ? "big" : "little"));
printf("\n\nData type sizes int8 = %zu int16 = %zu int32 = %zu int64 = %zu\n\n",sizeof(int8),sizeof(int16),sizeof(int32),sizeof(int64));
Config::getInstance().setBool("DebugNetworkPackets",true,true);

View File

@ -17,8 +17,11 @@
#include "leak_dumper.h"
using namespace Shared::Platform;
namespace Glest{ namespace Game{
#pragma pack(push, 1)
// macros for packing floats and doubles:
#define pack754_16(f) (pack754((f), 16, 5))
#define pack754_32(f) (pack754((f), 32, 8))
@ -270,7 +273,7 @@ unsigned int pack(unsigned char *buf, const char *format, ...) {
case 'c': // 8-bit
size += 1;
c = (int8)va_arg(ap, int); // promoted
*buf++ = reinterpret_cast<unsigned char&>(c);
*buf++ = (unsigned char)c;
printf("pack int8 = %d [%X] c = %d [%X] buf pos = %d\n",*(buf-1),*(buf-1),c,c,(buf - bufStart));
break;
@ -278,7 +281,7 @@ unsigned int pack(unsigned char *buf, const char *format, ...) {
case 'C': // 8-bit unsigned
size += 1;
C = (uint8)va_arg(ap, unsigned int); // promoted
*buf++ = reinterpret_cast<unsigned char&>(C);
*buf++ = (unsigned char)C;
printf("pack uint8 = %u [%X] C = %u [%X] buf pos = %d\n",*(buf-1),*(buf-1),C,C,(buf - bufStart));
break;
@ -286,7 +289,7 @@ unsigned int pack(unsigned char *buf, const char *format, ...) {
case 'h': // 16-bit
size += 2;
h = (int16)va_arg(ap, int);
packi16(buf, reinterpret_cast<uint16&>(h));
packi16(buf, h);
buf += 2;
printf("pack int16 = %d [%X] h = %d [%X] buf pos = %d\n",*(buf-2),*(buf-2),h,h,(buf - bufStart));
@ -304,7 +307,7 @@ unsigned int pack(unsigned char *buf, const char *format, ...) {
case 'l': // 32-bit
size += 4;
l = va_arg(ap, int32);
packi32(buf, reinterpret_cast<uint32&>(l));
packi32(buf, l);
buf += 4;
printf("pack int32 = %d [%X] l = %d [%X] buf pos = %d\n",*(buf-4),*(buf-4),l,l,(buf - bufStart));
@ -322,7 +325,7 @@ unsigned int pack(unsigned char *buf, const char *format, ...) {
case 'q': // 64-bit
size += 8;
q = va_arg(ap, int64);
packi64(buf, reinterpret_cast<uint64&>(q));
packi64(buf, q);
buf += 8;
printf("pack int64 = %ld [%X] q = %ld [%lX] buf pos = %d\n",*(buf-8),*(buf-8),q,q,(buf - bufStart));
@ -446,7 +449,7 @@ unsigned int unpack(unsigned char *buf, const char *format, ...) {
// else {
// *c = -1 - (unsigned char)(0xffu - *buf);
// }
*c = reinterpret_cast<signed char&>(*buf++);
*c = (int8)*buf++;
size += 1;
printf("unpack int8 = %d [%X] c = %d [%X] buf pos = %d\n",*(buf-1),*(buf-1),*c,*c,(buf - bufStart));
@ -454,7 +457,7 @@ unsigned int unpack(unsigned char *buf, const char *format, ...) {
case 'C': // 8-bit unsigned
C = va_arg(ap, uint8*);
*C = reinterpret_cast<unsigned char&>(*buf++);
*C = (uint8)*buf++;
size += 1;
printf("unpack uint8 = %u [%X] C = %u [%X] buf pos = %d\n",*(buf-1),*(buf-1),*C,*C,(buf - bufStart));
@ -569,5 +572,6 @@ unsigned int unpack(unsigned char *buf, const char *format, ...) {
return size;
}
#pragma pack(pop)
}}