View Single Post
  #9  
Old 05-27-2008, 03:41 PM
EvoZak
Sarnak
 
Join Date: May 2008
Location: Midwest
Posts: 72
Default

I really just did a find all for 'Expansions'. Since I'm totally new to the codebase and theres wasn't much docs it seemed to be a good starting point

For starters eq_packet_structs.h has a couple of structs defined that seem to have something to do with Expansions. Take a look at lines 52 and 829. There are a couple of other places that have some reference to "opcodes" and such but I'm not really sure about the meanings of those.

For the world.exe, in client.cpp the Client::SendExpansionInfo routine has some actual loading of the value from the database. It stores the value in the pBuffer of the application packet. The call chain appears to be SendExpansionInfo->Client::Process->several items. It does a QueuePacket but there are comments there that something is broke.

For the Zone.exe, the mammoth Client::FinishConnState2 routine has another loading of the value from the database at line 6388. Here it stores the value in the player profile struct - expansions property. Interestingly, here it defaults to 0x3FF whereas in the world.exe it defaulted to 0x1FF. I can't find anywhere in the code where this value is further used beyond just retrieving it from the database. Although this could be my inexperience with the vc++ toolset (I'm a managed code dev, haven't slung c++ in years).

Sorry for the long post, but you asked
Reply With Quote