Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 02-22-2010, 02:19 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default Player profile offset #s wrong?

While messing around with the player profile, and trying to shift some data around, I noticed:

/*0348*/ uint8 unknown0256[44];
/*0396*/ Color_Struct item_tint[MAX_MATERIALS];

I think item_tint should start at /*0392*/ (348+44 = 392). I tried to go through line by line, but I can't find where the numbers get back on track. My profile size is correct (/*19568*/), but I don't want to mess with anything until I know if the posted numbers are correct.

Anyone know or am I completely wrong? lol
Reply With Quote
  #2  
Old 02-22-2010, 03:10 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

Those comments shouldn't affect the actual pp. As long as the items are the correct size, that is.
Reply With Quote
  #3  
Old 02-22-2010, 04:39 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

As Joligario says, some of the offset comments are wrong, so just trust your math and correct the comments to have the correct values.

Also, the Unknown values should have a suffix that reflects their offset, so assuming Unknown0256 is really at offset 348, it should really be defined as:
Code:
/*0348*/ uint8 Unknown0348[44]

Last edited by Derision; 02-22-2010 at 04:55 PM..
Reply With Quote
  #4  
Old 02-22-2010, 05:54 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

I understand that the comments don't have anything to do with the code, but I can't find where the other error is to realign the offsets, so I'm not sure at what offset I should be splitting for some sql code I'm writing. I guess I'll go through them again and try to find it.
Reply With Quote
  #5  
Old 02-22-2010, 06:44 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Ah, didn't realise you needed absolute offsets for SQL purposes.

I think I've used code like this in the past to find the offsets:
Code:
	uchar *PPStartAddress = (uchar*) &m_pp;
        uchar *Unk256Address = (uchar*) &m_pp.unknown0256;
        printf("Unknown0256 is %i bytes into the player profile\n", Unk256Address - PPStartAddress);  fflush(stdout);
Put somewhere like Client::CompleteConnect

Output:
Code:
	Unknown0256 is 348 bytes into the player profile

Last edited by Derision; 02-22-2010 at 07:03 PM..
Reply With Quote
  #6  
Old 02-23-2010, 09:17 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

Thanks. Hopefully I get to this by this weekend and if I find where the offsets are wrong, I'll make the changes so everyone will have the correct numbers.
Reply With Quote
  #7  
Old 09-01-2010, 06:42 AM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

Just to update this, I fixed the PP comments and unknowns to match the math.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 02:40 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3