Handling information in an injected DLL

I'm part of a development team that has created a DLL to interact with the client of an online game, Tibia. I recently committed something that I had been working on for a while. The commit basically hooks the pointer (from the injected DLL) in the client that handles incoming packets from the server, when a packet is received the OnGetNextPacket function is called and parses the packet in a packet "structure", then the finished packet is sent to the main (TibiaAPI) DLL via a pipe which in turns parses the packet for events and such.

Here's link to some problems I'm having with it: http://code.google.com/p/tibiaapi/issues/detail?id=173#c0

@ #3; The lag is due to the fact that the client won't continue until it has confirmation to process the incoming packet. So basically each packet, for the most part, has to go through the above process then a boolean value is returned from the main DLL to let it know whether or not to let the client finish processing the packet or not.

If anyone could help me, or give me tips on each problem listed on my googlecode issue I would really appreciate it.

Thanks.
The reason I'm asking for help here is because most of the developers haven't done much lately and I seem to be the only person keeping it alive, and I'd like to continue to do so for personal reasons and the fact I have nothing better to do with my spare time. :P
Is there anyway to return iCmd and let the parsing happen separately from the OnGetNextPacket function? This would solve #1, #2, and #4; my main issues.
Topic archived. No new replies allowed.