Log in

View Full Version : Need help dumping structs


EvoZak
10-24-2008, 04:34 PM
I'm having the damnest time just trying to dump out some structs to the log files. Seems like it ought to be simple but I'm not the world's best c coder.

Anyone have a quick line of code to dump out a struct's entire contents to the log file? Here's what I've started with:


unsigned char *tmpbuff = new unsigned char[sizeof(PlayerProfile_Struct) + 2];
outapp->serialize(OP_PlayerProfile, tmpbuff); // outapp is a PP Packet
LogFile->write(EQEMuLog::Debug, "packet:%s", tmpbuff);


all I get is a single ascii char in the log file. Any help is appreciated.

Derision
10-24-2008, 05:05 PM
Really need some context as to where you are trying to dump the pp, however:


_hex(ZONE__INIT, (char *)&m_pp, sizeof(PlayerProfile_Struct));


should work in Client::FinishConnState2. I chose ZONE__INIT as the log category, as that is enabled by default.

AndMetal
10-25-2008, 12:29 AM
What in particular are you trying to achieve by dumping the entire player's profile (http://code.google.com/p/projecteqemu/source/browse/trunk/EQEmuServer/common/patches/Titanium_structs.h#707) (19,584 bytes)? Are you looking for something in particular (hacks coming from the client)?

If so, I think you would be better off pulling out the specifics from the existing struct (http://code.google.com/p/projecteqemu/source/browse/trunk/EQEmuServer/common/patches/Titanium_structs.h#707).

EvoZak
10-25-2008, 03:01 AM
Thanks for the log tip, I'll try that. Beats hand echoing out every struct member.

Love that you folks moved to SVN.