I've noticed that in my ar.h and ar.cpp is an old version
that doesn't contain <vector> type of operator as seen below
Old version of packet operator
Code:
// insertion operations CAr& operator<<(BYTE by); CAr& operator<<(WORD w); CAr& operator<<(LONG l); CAr& operator<<(DWORD dw); CAr& operator<<(float f); CAr& operator<<(double d); CAr& operator<<(int i); CAr& operator<<(short w); CAr& operator<<(char ch); CAr& operator<<(unsigned u); // extraction operations CAr& operator>>(BYTE& by); CAr& operator>>(WORD& w); CAr& operator>>(DWORD& dw); CAr& operator>>(LONG& l); CAr& operator>>(float& f); CAr& operator>>(double& d); CAr& operator>>(int& i); CAr& operator>>(short& w); CAr& operator>>(char& ch); CAr&operator>>(unsigned&u);
Code:
template<typename T, size_t N> CAr & operator<<(const T(&t)[N]); template<typename T> CAr & operator<<(const T & t); template<typename T> CAr & operator<<(const std::vector<T> & v); template<typename T, typename U> CAr & operator<<(const map<T, U> & m); template<typename T, size_t N> CAr & operator>>(T(&t)[N]); template<typename T> CAr & operator>>(T & t); template<typename T> CAr & operator>>(vector<T> & v); template<typename T, typename U> CAr & operator>>(map<T, U> & m);
I've tried that already but seem like there's some packet that my client cannot recieve after the update (for example: player cannot recieve buff from BuffPang successfully)
I wonder that maybe if I want to update the packet system. Are there somewhere more in the code that I have to update?
I tried debugging and kind of assume that
the problem might come from SNAPSHOT sending and receiving
not PACKET
Seem like some SNAPSHOT is not corrected as seen in the debugging picture below
as you can see the 'hdr' value in the bottom left of the picture is = 65280 which is way too high for SNAPSHOTTYPE_DOAPPLYUSESKIL which normally has the value of = 215 or (WORD)0x00d7
that means some how with the new ar.h and ar.cpp packet is effect and cause the packet to get change from 215 to 65280 along the way before receiving in Neuz.exe client
I'm not sure where should I dig next to find where the packet got changed. Please help.