diff -Naur xmoto-0.5.2-old/src/DBuffer.cpp xmoto-0.5.2/src/DBuffer.cpp --- xmoto-0.5.2-old/src/DBuffer.cpp 2009-08-10 19:56:39.000000000 +0300 +++ xmoto-0.5.2/src/DBuffer.cpp 2010-01-30 14:25:55.808290128 +0200 @@ -209,7 +209,19 @@ *this >> sn; n = (unsigned int) sn; } - + + void DBuffer::operator <<(unsigned long n) { + int sn; + sn = (int) (n); + *this << sn; + } + + void DBuffer::operator >>(unsigned long &n) { + int sn; + *this >> sn; + n = (unsigned long) sn; + } + void DBuffer::operator <<(float n) { writeBuf_LE((char *)&n, sizeof(float)); } diff -Naur xmoto-0.5.2-old/src/DBuffer.h xmoto-0.5.2/src/DBuffer.h --- xmoto-0.5.2-old/src/DBuffer.h 2009-08-10 19:56:39.000000000 +0300 +++ xmoto-0.5.2/src/DBuffer.h 2010-01-30 14:23:26.154771601 +0200 @@ -69,6 +69,8 @@ void operator >>(unsigned char &c); void operator <<(unsigned int n); void operator >>(unsigned int &n); + void operator <<(unsigned long n); + void operator >>(unsigned long &n); void operator <<(float n); void operator >>(float &n); void operator <<(std::string s);