On 2012-10-24 06:56:25 +0000, James Cameron said:

> SP_PLANET_LOC pnum= 0 x= 20000 y= 80000 name= Earth

Getting closer.

Building  game packet for SP_PLANET_LOC I'm getting some whacky values 
for x and y

SP_PLANET_LOC pnum=0 x=541982720 y=2151153920 name=Earth

Looking at the raw data

1a 			type
00 			pnum
00 			pad2
00 			pad3
00004e20 	x
00013880 	y

Putting that into a test program I get the right stuff

pnum=0 x=20000 y=80000 name=Earth

Here is the struct I'm using

typedef struct _serverPacketPlanetLocationStruct
{
    int8_t  type;                                /* SP_PLANET_LOC */
    int8_t  pnum;
    int8_t  pad2;
    int8_t  pad3;
    int32_t x;
    int32_t y;
    int8_t  name[16];
} serverPacketPlanetLocationStruct;

Making sure the sizes is right

ServerPacketPlanetLocation 28
SP_PLANET_LOC 28

NSLog is a lot like printf, it's what I use to debug

        NSLog(@"%@ pnum=%d x=%d y=%d name=%s", self, gamePacket.pnum, 
gamePacket.x, gamePacket.y, gamePacket.name);

Some reason it feels like an endian issue (don't ask me why)

Posting it here for comments. It's late. I'll look at it more tomorrow night.

-- 
Bob Tanner <basic at us.netrek.org>          
Key fingerprint = 9906 320A 8BB6 64AD 96A7  7785 CBFB 10BF 568B F98C