--- deliantra/server/include/client.h 2006/12/16 03:08:26 1.4 +++ deliantra/server/include/client.h 2006/12/16 18:39:26 1.6 @@ -108,9 +108,9 @@ char *data; int datalen; - command (tstamp stamp, const packet_type *handler, char *data, int datalen) - : stamp (stamp), handler (handler), data (data), datalen (datalen) + ~command () { + sfree (data, datalen); } }; @@ -182,12 +182,13 @@ std::deque< command, slice_allocator > cmd_queue; - // those should probably be client methods + // resets movement state bool may_execute (const packet_type *pkt) const; void execute (const packet_type *pkt, char *data, int datalen); void queue_command (packet_type *handler, char *data, int datalen); bool handle_command (); + void reset_state (); bool handle_packet (); int next_packet (); // returns length of packet or 0