View Single Post
  #17  
Old 09-12-2005, 07:54 AM
vRandom
Sarnak
 
Join Date: Jun 2005
Posts: 91
Default

Maybe one of you can make sence of this...

I think this is where the error is returned
Code:
if (app->size != sizeof(PlayerPositionUpdateClient_Struct)) {
		LogFile->write(EQEMuLog::Error, "OP size error: OP_ClientUpdate expected:%i got:%i", sizeof(PlayerPositionUpdateClient_Struct), app->size);
		return;
	}
OP_ClientUpdate expected:38 got 36

now if i look for the PlayerPositionUpdateClient_Struct

I find
Code:
/*
** Player position update
**	Struct sent from client->server to update
**	player position on server
**
*/
struct PlayerPositionUpdateClient_Struct
{
/*0000*/ uint16	spawn_id;
/*0022*/ uint16	sequence;	//increments one each packet
/*0004*/ float y_pos;                 // y coord
/*0008*/ float delta_z;            // Change in z
/*0016*/ float delta_x;            // Change in x
/*0012*/ float delta_y;            // Change in y
/*0020*/ signed animation:10;     // animation
         signed delta_heading:10;  // change in heading
         signed padding0020:12;   // ***Placeholder (mostly 1)
/*0024*/ float x_pos;                 // x coord
/*0028*/ float z_pos;                 // z coord
/*0034*/ unsigned heading:12;     // Directional heading
         unsigned padding0004:4;  // ***Placeholder
/*0032*/ uint8 unknown0006[2];  // ***Placeholder
/*0036*/
};
Now if i'm understanding this doesn't that last line /*0036*/ mean this is 36 byte, then how does it expect 38, the only thing i dont understand is app->size since its part of the if statement and i either dont understand it or its being set to 38 somewhere which causes this to expect a 38 when it only gets a 36...

does any of that make sence?
vRandom

I'm not a c programmer so i could be totaly not reading it correctly...
Reply With Quote