Page 4 of 9 FirstFirst ... 23456 ... LastLast
Results 46 to 60 of 124

Thread: SEQ Borked with 8/15 patch.

  1. #46
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by rogues View Post
    Looking at it real quick it looks like playerProfileStruct may have been shortened just a little. BUT playerProfileStruct is part of charProfileStruct and unless I am mistaken, my eyes are telling me that ALL charProfileStruct should have is the playerProfileStruct in it now (nothing from 19960 onwards). This is from comparing the same character from a working zone.log and a non-working zone.log. I have no idea where they are putting the rest of the charProfileStruct or if they simply are no longer passing it to the client. I don't think I could test that adequately though without first figuring out what small changes they made to playerProfileStruct.

    The good news is that it doesn't look like many opcodes changed.
    A quick check on a few known values and they are definitely passing some data from charProfileStruct. I checked on radiant and ebon crystals for example as well as ldon points and those are still coming across so, sadly, it isn't as easy as eliminating charProfileStruct data I don't think.

  2. #47
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: SEQ Borked with 8/15 patch.

    Ok, I'll take another look. I'm only trying to compare what I see in the log files, I think you have a better way of comparing than I do, right?

    Ok, I think I see where it is, IS data in playerProfileStruct. the potion belt had been starting at 19642 and now it's starting at 13699.

    Why were they allowing for such a huge difference in the BandolierStruct (offset 13108) to 19508 for the InLineItem? MAX_BANDOLIERS is only 20, so how do you get from 13108 to 19508?
    Last edited by rogues; 09-19-2012 at 06:32 PM.

  3. #48
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by rogues View Post
    Ok, I'll take another look. I'm only trying to compare what I see in the log files, I think you have a better way of comparing than I do, right?
    Not really... I have a few reference logs from past working patches that I compare to and I usually look for know values in the new log to kind of see where things are. As a non-programmer I was pretty proud of myself when I figured out how the hex values were being expressed in the packets. For instance, when I looked up Radiant Crystals earlier, I converted 1464 (number of Radiant Crystals toon has) to hex (5b8) then searched the log for "b8 05" and looked at the data around it and saw that the value for Ebon Crystals was also nearby so deduced I was in the right place and they are still sending that data over.

    No voodoo or skill here, just old fashioned scut work since I have little to no code experience, haha.

  4. #49
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: SEQ Borked with 8/15 patch.

    Ok, so we're doing the same thing. Where I had found AAs to be at 13200 I'm finding them at 12917 now. That's right before the bandolier structures. But where before the potion data was at 19642, it is now at 13699. So the removed data is somewhere in there (or at least a good chunk of it).

  5. #50
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by rogues View Post
    Ok, I'll take another look. I'm only trying to compare what I see in the log files, I think you have a better way of comparing than I do, right?

    Ok, I think I see where it is, IS data in playerProfileStruct. the potion belt had been starting at 19642 and now it's starting at 13699.

    Why were they allowing for such a huge difference in the BandolierStruct (offset 13108) to 19508 for the InLineItem? MAX_BANDOLIERS is only 20, so how do you get from 13108 to 19508?
    Bandolier and potion data changed a lot and look to be variable now. In the old struct, bandolier data was fixed length and lots of room was left for each piecce of data. If you didn't use all the bytes reserved for, say, the name of bandolier, it would just fill in the remaining space with zeros. Now it is just sending over as much as it needs and no "fluff" or wasted bytes. It looks like this:

    Old Log:
    Code:
    13552 | 31 48 53 00 00 00 00 00 00 00 00 00 00 00 00 00  | 1HS............. 
    13568 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................ 
    13584 | 16 da 01 00 6f 0d 00 00 52 69 74 75 61 6c 20 49  | ....o...Ritual I 
    13600 | 6d 70 61 6c 65 72 00 00 00 00 00 00 00 00 00 00  | mpaler.......... 
    13616 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................ 
    13632 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................ 
    13648 | 00 00 00 00 00 00 00 00 cb d9 01 00 05 0e 00 00  | ................ 
    13664 | 4b 6e 69 67 68 74 20 43 61 70 74 61 69 6e 27 73  | Knight Captain's 
    13680 | 20 53 68 69 65 6c 64 00 00 00 00 00 00 00 00 00  |  Shield......... 
    13696 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................ 
    13712 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................ 
    13728 | cf da 01 00 ba 0d 00 00 53 68 61 72 72 61 27 73  | ........Sharra's 
    13744 | 20 52 69 74 75 61 6c 69 73 74 69 63 20 44 6f 6c  |  Ritualistic Dol 
    13760 | 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | l............... 
    13776 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................ 
    13792 | 00 00 00 00 00 00 00 00 f2 8b 01 00 2d 09 00 00  | ............-... 
    13808 | 48 75 6d 61 6e 6f 69 64 20 52 65 64 75 63 74 69  | Humanoid Reducti 
    13824 | 6f 6e 69 7a 65 72 00 00 00 00 00 00 00 00 00 00  | onizer.......... 
    13840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................ 
    13856 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................
    With today's patch, that same data now looks like:
    Code:
    13088 | 31 48 53 00 52 69 74 75 61 6c 20 49 6d 70 61 6c  | 1HS.Ritual Impal 
    13104 | 65 72 00 16 da 01 00 6f 0d 00 00 4b 6e 69 67 68  | er.....o...Knigh 
    13120 | 74 20 43 61 70 74 61 69 6e 27 73 20 53 68 69 65  | t Captain's Shie 
    13136 | 6c 64 00 cb d9 01 00 05 0e 00 00 53 68 61 72 72  | ld.........Sharr 
    13152 | 61 27 73 20 52 69 74 75 61 6c 69 73 74 69 63 20  | a's Ritualistic  
    13168 | 44 6f 6c 6c 00 cf da 01 00 ba 0d 00 00 48 75 6d  | Doll.........Hum 
    13184 | 61 6e 6f 69 64 20 52 65 64 75 63 74 69 6f 6e 69  | anoid Reductioni 
    13200 | 7a 65 72 00 f2 8b 01 00 2d 09 00 00 44 41 00 44  | zer.....-...DA.D
    It looks like it's sending over only what is needed and is variable? Same thing with the potion belt. I am guessing similar changes will be found elsewhere, these were just the first two I stumbled across when looking at the packets.
    Last edited by fransick; 09-19-2012 at 06:56 PM. Reason: grammar counts

  6. #51
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: SEQ Borked with 8/15 patch.

    So basically we're at the point of needing to do what purple said to do, which is a little beyond me at this point. Is NetClient like wireshark?

  7. #52
    Developer
    Join Date
    Nov 2007
    Posts
    539

    Re: SEQ Borked with 8/15 patch.

    Those structs are very simple. It is a null (00) term string of variable length, and then another. The two 32bit unsigned ints. That looks to be one bandolier slot. Previously those were fixed length character arrays. Now they are only as long as needed.

    Look for patterns like a string with (00) at end. Spaces in string show as (20).

  8. #53
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: SEQ Borked with 8/15 patch.

    Ok, so where BandolierStruct was of length 320 before and there were allowances made for 20 (ie MAX_BANDOLIERS), that accounts for the 6400, which is how there is such a big jump from 13108 to 19508. You are saying the type changes from BandolierStruct to.... something that can be variable in length, which is where my c fails me because it's been 20 years.

  9. #54
    Developer
    Join Date
    Nov 2007
    Posts
    539

    Re: SEQ Borked with 8/15 patch.

    There are lots of places they could save space and thus save bandwidth. Saving bandwidth equates to saving money.

  10. #55
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by rogues View Post
    Ok, so where BandolierStruct was of length 320 before and there were allowances made for 20 (ie MAX_BANDOLIERS), that accounts for the 6400, which is how there is such a big jump from 13108 to 19508. You are saying the type changes from BandolierStruct to.... something that can be variable in length, which is where my c fails me because it's been 20 years.
    I think that is exactly what Razzle is saying. Whereby the old bandolier struct was 320 the one I posted above from today's patch is only approximately 115 bytes. One of my toons that has several bandoliers setup has about 1319 bytes between the start of his bandolier data and potion data. Another toon that doesn't have any bandoliers setup has only 744 bytes before getting to potion belt data. When I set up a single bandolier the 744 jumped to 800 bytes. The only consistent thing I could see was that on both characters the bandolier data started at byte 12955.

    Not sure if that's help or not Rogues

  11. #56
    Developer
    Join Date
    Nov 2007
    Posts
    539

    Re: SEQ Borked with 8/15 patch.

    What is opcode for player profile? Not gonna have time to go through packets. I am decompiling client so i can check for bit fields that turn on/off char arrays. If i get a few hour i should be able to track down big gotchas.

  12. #57
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by razzle View Post
    what is opcode for player profile? Not gonna have time to go through packets. I am decompiling client so i can check for bit fields that turn on/off char arrays. If i get a few hour i should be able to track down big gotchas.
    0x078e

  13. #58
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: SEQ Borked with 8/15 patch.

    @fransick - right, I was really just answering my earlier question about how the current everquest.h could have so much space for the bandolier, it was just because I didn't understand how much they had been making allowance for. Now I do, but unfortunately what I don't understand is how you build the structure out to handle variable lengths, and how to get it to understand where the bandolier structure has ended and the potion belt starts if it can very depending on what the toon has.

  14. #59
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by rogues View Post
    @fransick - right, I was really just answering my earlier question about how the current everquest.h could have so much space for the bandolier, it was just because I didn't understand how much they had been making allowance for. Now I do, but unfortunately what I don't understand is how you build the structure out to handle variable lengths, and how to get it to understand where the bandolier structure has ended and the potion belt starts if it can very depending on what the toon has.
    Looks like we'll both be learning as we go from here on out! Good times...

  15. #60
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: SEQ Borked with 8/15 patch.

    Indeed!

    spawnStruct is variable in length so I tried to learn from there, but it seems to be variable based on the union of different types of options (if NPC, if PC, etc) which I don't think will work in this case. I'll poke around at it more tonight.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is On