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-15-2009, 09:56 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Yeah, after looking and the error I posted earlier from the EQ debug, I just noticed that slot 1792 would be 700 in hex, so it was probably off a byte since it had just loaded slot 6 and slot 7 would have been next. So, it sounds like we are just adding an extra byte somewhere that isn't needed.

I made some corrections to the item structure and am going to commit them to the SVN in a minute. It still isn't perfect, but seems to be loading at least the starter items I have tried very well now. Using the 13th floor info that AndMetal posted has helped alot I think, though it doesn't seem to be 100% accurate for SoF. At least it is a better guide.

One important one is that it seems like the filename field is just like any other string field. It should load a null byte if there is nothing in that field. The booktype field being set to int16 should have actually been int8, and the other byte there would be the filename field. The FF FF FF FF or 00 00 00 00 after that is actually an sint32 for loregroup. So, I think that makes a bit more sense now.

I am sure we can definitely get most of this structure sorted out without too many issues. Especially once we figure out where it is getting that extra byte from. I am thinking maybe one of the strings isn't supposed to have a null terminator after it or something. From what I can tell, I don't see any major difference between the items it was able to load and the item that threw off the struct by 1 byte. Maybe there is supposed to be an extra byte every few items or something...
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 02-15-2009 at 06:50 PM..
Reply With Quote
  #2  
Old 02-15-2009, 04:17 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I'm thinking maybe I'm not supposed to send bag content on initial serialization. When you open a bag this client sends a small packet to the server that includes the item slot opened...
Reply With Quote
  #3  
Old 02-15-2009, 05:08 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Bah my packets were too long!

I had two nifty packets to show the diff between an item loading correct slot and an item not loading in correct slot but the forums ate them D=

Long and short of it: the headers are almost exactly the same they just differ by what I've labeled as potion type.. I've gotta look more into it tho.
Reply With Quote
  #4  
Old 02-16-2009, 01:12 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I devised a workaround for the crashing and failure to load of items... well for the crashing at least

I'd still like to figure out why it sometimes doesn't work when put into an EQI packet, but this should let us move onto more important things for now.

Last edited by KLS; 02-16-2009 at 09:16 AM..
Reply With Quote
  #5  
Old 02-16-2009, 04:10 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Work around for items seems to work fine, tho they still need a lot of work. I checked out AAs quickly but I'm kinda at a loss. Using the log I got from derision the data doesn't seem to of changed at all other than how they do string ids. I updated that to match and still nothing.

I notice that the window tabs don't even appear, which isn't entirely unusual. One thing I notice is the AA table is sent directly after the client requests the zone, right before the player profile. And for titanium and below we send it... considerably later, maybe the client is getting picky with how it's sent, or maybe there's some other packet that needs to be sent to get AAs to work.
Reply With Quote
  #6  
Old 02-16-2009, 05:11 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Yeah, I think the tabs only display as needed. I have messed with it quite a bit and haven't had any luck at all yet. Though, I haven't tried changing when they get sent yet, which is a good point. I noticed that they are one of the first things that get sent now. The only other thing I noticed, but kinda doubt would be a problem is that they all come in as combined packets on live. I don't know how we are sending them exactly, so I am not really sure.

One other thing I was thinking is that there is a good chance that the player profile isn't setup to load the proper AA info yet, but I think that only affects what AAs it shows you as having purchased.

For now, I am working some more on lining up the item struct and maybe getting merchants and combat working.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #7  
Old 02-16-2009, 09:26 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Derision already mentioned it in this thread, but before the info gets lost, I figured I would note it a bit more clearly here. To enable the use of SoF content (Drakken race and new zones), you must update the Expansions field in the Variables table to have a value of 16383. This number tells the client which expansions to use and you can set it to allow or disallow any expansion you wish. Here is how that number breaks down:

Code:
0 - Classic
1 - Ruins of Kunark
2 - Scars of Velious
4 - Shadows of Luclin
8 - Planes of Power
16 - Legacy of Ykesha
32 - Lost Dungeons of Norrath
64 - Gates of Discord
128 - Omens of War
256 - Dragons of Norrath
512 - Depths of Darkhallow
1024 - Prophecy of Ro
2048 - Serpent's Spine
4096 - The Burried Sea
8192 - Secrets of Faydwer

All Expansions combined = 16383
You just add up the numbers from the expansions you want to enable to set the Expansions value to that total. I verified this as well on my EQLive account, which is only enabled up to SoF, and it sends me the same number. It would probably be a good idea to note this in the changelog or maybe put an Optional SQL update file in the /utils/sql/svn/ folder so people don't forget to do it when they update.

Also, I forgot to mention it in the changelog, but I cleaned up the patch_SoF.conf file quite a bit last night. I still plan to reorganize it further by sorting the opcodes into related sections so they aren't just all over the place.

After thinking about AAs more, I am starting to think that there is a very good chance that the expansion field in the Player Profile is in the wrong place and/or not sending the proper expansion information needed for SoF. I will try forcing that field to use 16383 in the encode for all SoF clients. Then, I will see if I can work on it to align the expansion field into the correct place in that struct if it isn't already. I wouldn't be surprised at all if that was the reason the AAs aren't showing up yet. Though, if that is the case, I am surprised that the Power Source slot works and the AAs don't.

I was also thinking that the issue with AAs may be something new for AAs (as KLS mentioned). It could be very possible that there might be a new packet for the new sorting/filtering feature in the AA window. I would think that the client should be doing this sorting and filtering, but I figure it is better to consider all possibilities at this point to hopefully come up with a good solution soon.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
Reply

Thread Tools
Display Modes

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 10:14 AM.


 

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 - 2026, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3