View Single Post
  #220  
Old 03-08-2009, 09:24 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Hmm, I can't make much of that debug. At least I think the item struct is just about as final as it is going to get minus maybe some of the new fields that may need to be moved around at some point after they are actually set to pull from the database so they can be tested.

I was able to correct the issue with some items showing as stacking that shouldn't be. I just set the stacksize field to check the IsStackable bool before setting stacksize higher than 0. It seems in this case that charges and stacksize seem to work interchangeably, but if I am wrong, that may need to be adjusted again. Though, stack sizes and item charges seem to be correct now as far as I can tell. I also identified one of the unknown fields in the serialization that was set to always send ff ff ff ff. According to the EQLive packets I was comparing it to, that is the number of current charges an item has. In most cases, that would be 00 00 00 00 for normal items, and ff ff ff ff for clickies with unlimited charges. But, for potions or clickies with limited charges, that should be where the current charges are set on the item. Unfortunately, since clickies aren't working yet, I can't test to see if that updates properly or not just yet. I think it will, though.

It seems that there may have been some changes to some of the systems that aren't yet fully functional. I am not completely sure yet, but I think group update may have changed how it gets sent. It also seems that for deleting stacked items like food/drink or ammo, there are 2 new packets that are sent that seem to only contain the slot that the item is in. First, the client sends an 8 byte packet that only has the slot ID in it and then the server replies with a 12 byte packet that also only has the slot ID in it. Maybe this is some kind of extra confirmation that the item exists before the server tries to delete it. It could be that opcodes already exist for these 2 packets, but I can't find them if so. I also don't see that same thing happening in Titanium. In Titanium, it either just sends the consume packet or it gets sent the delete packet depending on if it is food/drink or ammo.

So, there may need to be a bit of coding to finish off some of the last issues with SoF, but I don't think it will be all that much. At least we have made some nice progress with Items and AAs over the past couple of days Still knocking out 1 issue at a time, but the list is slowly shrinking.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote