Page 1 of 2 12 LastLast
Results 1 to 15 of 20

Thread: 02/13/13 changes

  1. #1
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    02/13/13 changes

    Looks like the x/y/z changed again and I'm not sure how to work that part out yet. However I am starting to get some of the updated opcodes:
    OP_PlayerProfile = 6725
    OP_ZoneEntry = 2cbe
    OP_TimeOfDay = 2d98
    OP_NewZone = 082d
    OP_SpawnDoor = 0e70
    OP_GroundSpawn = 11ef
    OP_SendZonePoints = 0a1d
    OP_GuildMOTD = 7864
    OP_ClientUpdate = 6cc2
    OP_NpcMoveUpdate = 7342
    OP_MobUpdate = 282a
    OP_Consider = 0fcd
    OP_TargetMouse = 02f7
    Last edited by ShortBuss; 02-13-2013 at 11:34 AM.

  2. #2
    Registered User
    Join Date
    Sep 2006
    Posts
    36

    Re: 02/13/13 changes

    Code:
    struct playerSelfPosStruct
    {
    /*0000*/ uint16_t unknown0000;                   // ***Placeholder (update time counter?)
    /*0002*/ uint16_t spawnId;                       // Player's spawn id
    /*0004*/ uint16_t unknown0004;                   // ***Placeholder
    /*0006*/ unsigned pitch:12;                      // pitch (up/down heading)
             signed animation:10;                    // velocity
             unsigned padding1:10;                    // ***Placeholder
    /*0010*/ float x;                                // x coord (1st loc value)
    /*0014*/ float deltaX;                           // Change in y
    /*0018*/ float y;                                // y coord (2nd loc value)
    /*0022*/ float z;                                // z coord (3rd loc value)
    /*0026*/ float deltaY;                           // Change in x
    /*0030*/ unsigned heading:12;                    // Directional heading
             unsigned padding2:10;                   // ***Placeholder
             unsigned padding3:10;                   // ***Placeholder
    /*0034*/ float deltaZ;                           // Change in z
    /*0038*/ signed deltaHeading:10;                 // change in heading
             unsigned padding4:10;                   // ***Placeholder
             unsigned padding5:12;                   // ***Placeholder
    /*0042*/
    };


    opcode id="6864" name="OP_DeleteSpawn
    opcode id="0ead" name="OP_RemoveSpawn"
    opcode id="62bd" name="OP_Death"
    opcode id="7f78" name="OP_ClickObject"

  3. #3
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    Re: 02/13/13 changes

    Can someone take me through some rough steps as to how to correct the playerselfposstruct? I may just have a big lack in understanding of how to convert the packet data into the proper variables in the structure. I located an NPC that doesn't move, got it's /loc, then looked at a pre-patch log file for that spawn. I got the 20 bytes for the position, converted to binary then tried to get x/y/z figured out based on the known location (/loc) and using the pre-patch structure. I couldn't get anything close but also realize that the values in the struct are signed int while the /loc return is decimal. Maybe there's a conversion I'm missing.
    Last edited by ShortBuss; 02-13-2013 at 04:52 PM.

  4. #4
    Registered User
    Join Date
    Sep 2006
    Posts
    36

    Re: 02/13/13 changes

    Code:
    struct playerSpawnPosStruct
    {
    /*0000*/ uint16_t spawnId;
    /*0002*/ uint16_t spawnId2;
    /*0004*/ unsigned pitch:12;
             signed   z:19;           // z coord
             unsigned padding01:1;
    /*0008*/ signed   deltaX:13;      // change in x
             signed   y:19;           // y coord
    /*0012*/ signed   deltaHeading:10;// change in heading
             unsigned heading:12;     // heading
             signed   animation:10;   // velocity
    /*0016*/ signed   deltaZ:13;      // change in z
             signed   x:19;           // x coord
    /*0020*/ signed   deltaY:13;      // change in y
             unsigned padding02:19;
    /*0024*/
    };

  5. #5
    Registered User
    Join Date
    Sep 2006
    Posts
    36

    Re: 02/13/13 changes

    Quote Originally Posted by ShortBuss View Post
    Can someone take me through some rough steps as to how to correct the playerselfposstruct? I may just have a big lack in understanding of how to convert the packet data into the proper variables in the structure. I located an NPC that doesn't move, got it's /loc, then looked at a pre-patch log file for that spawn. I got the 20 bytes for the position, converted to binary then tried to get x/y/z figured out based on the known location (/loc) and using the pre-patch structure. I couldn't get anything close but also realize that the values in the struct are signed int while the /loc return is decimal. Maybe there's a conversion I'm missing.
    I use debugging code in player.cpp and spawnshell.cpp, it starts with:

    Code:
    #if 0
        // Debug positioning without having to recompile everything...
    there are two of these in spawnshell.cpp, use the 2nd one

    my debugging code after today's patch, player.cpp:

    Code:
    #if 0
        // Debug positioning without having to recompile everything...
    #pragma pack(1)
    struct pos
    {
    /*0000*/ uint16_t unknown0000;                   // ***Placeholder (update time counter?)
    /*0002*/ uint16_t spawnId;                       // Player's spawn id
    /*0004*/ uint16_t unknown0004;                   // ***Placeholder
    /*0006*/ unsigned pitch:12;                      // pitch (up/down heading)
             signed animation:10;                    // velocity
             unsigned padding1:10;                    // ***Placeholder
    /*0010*/ float x;                                // x coord (1st loc value)
    /*0014*/ float deltaX;                           // Change in y
    /*0018*/ float y;                                // y coord (2nd loc value)
    /*0022*/ float z;                                // z coord (3rd loc value)
    /*0026*/ float deltaY;                           // Change in x
    /*0030*/ unsigned heading:12;                    // Directional heading
             unsigned padding2:10;                   // ***Placeholder
             unsigned padding3:10;                   // ***Placeholder
    /*0034*/ float deltaZ;                           // Change in z
    /*0038*/ signed deltaHeading:10;                 // change in heading
             unsigned padding4:10;                   // ***Placeholder
             unsigned padding5:12;                   // ***Placeholder
    /*0042*/
    };
    #pragma pack(0)
        struct pos *p = (struct pos *)data;
        printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %d dhead %d anim %d pitch %d (%x, %x, %x, %x %x)\n",
                p->spawnId, p->x, p->y, p->z,
                p->deltaX, p->deltaY, p->deltaZ,
                p->heading, p->deltaHeading,
                p->animation, p->pitch,
                p->padding1, p->padding2, p->padding3,
                p->padding4, p->padding5 );
    #endif
    and spawnshell.cpp,
    i added the line "if (p->spawnId == 0x1234)"... that's the id of the 2nd char I use.

    Code:
    #if 0
        // Debug positioning without having to recompile everything...
    #pragma pack(1)
        struct pos
    {
    /*0000*/ uint16_t spawnId;
    /*0002*/ uint16_t spawnId2;
    /*0004*/ unsigned pitch:12;
             signed   z:19;           // z coord
             unsigned padding01:1;
    /*0008*/ signed   deltaX:13;      // change in x
             signed   y:19;           // y coord
    /*0012*/ signed   deltaHeading:10;// change in heading
             unsigned heading:12;     // heading
             signed   animation:10;   // velocity
    /*0016*/ signed   deltaZ:13;      // change in z
             signed   x:19;           // x coord
    /*0020*/ signed   deltaY:13;      // change in y
             unsigned padding02:19;
    /*0024*/
    };
    #pragma pack(0)
        struct pos *p = (struct pos *)data;
    if (p->spawnId == 0x1234)
        printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f\n  head %d dhead %d anim %d pitch %d (%x, %x)\n",
                p->spawnId, float(p->x)/8.0, float(p->y/8.0), float(p->z)/8.0,
                float(p->deltaX)/4.0, float(p->deltaY)/4.0,
                float(p->deltaZ)/4.0,
                p->heading, p->deltaHeading,
                p->animation, p->pitch,
                p->padding01, p->padding02);
    #endif

  6. #6
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    Re: 02/13/13 changes

    Thank you for the explanation the debugging. I will give that a go with the corrected structs to see how it's supposed to look when working properly. I hadn't thought about running a second char with known spawn ID to help track this down, that's another good hint. Also thank you for providing the corrected struts again; with those changes in place the major functionality looks to all be working. I'm going to be away for a couple days but if we are still missing opcodes after that I'll see what else I can help find.

  7. #7
    Registered User
    Join Date
    Oct 2011
    Posts
    2

    Re: 02/13/13 changes

    Zone entry code at least must have changed again with the 14-02-2013 update... I wish I could remember how to analyze this stuff

    EDIT: Hmm, odd. Didn't work the first zone I tried, but now it's worked in another zone, NPCs are still spread over ridiculous range of X-numbers but drops seem OK.

    EDIT2: It looks to me like the initial zone spawn info is messed up but when NPCs move they send their location and speed updates and that is still in whatever format it was, so anything that isn't static "auto-corrects". So I guess it should be possible to compare the numbers from the 2 sources with an NPC that only moves a little -- maybe a 2nd account with a character with a pet. Is there some way other than using something like GDB to do this?
    Last edited by 0men; 02-14-2013 at 11:34 AM.

  8. #8
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: 02/13/13 changes

    Quote Originally Posted by 0men View Post
    Zone entry code at least must have changed again with the 14-02-2013 update... I wish I could remember how to analyze this stuff

    EDIT: Hmm, odd. Didn't work the first zone I tried, but now it's worked in another zone, NPCs are still spread over ridiculous range of X-numbers but drops seem OK.
    Looks like the playerSpawnPasStruct changed again. I really need to better understand how to interpret the debug data. I think I am losing my way on the padding and different bit lengths. If someone can help me through that on IRC or entertain my noob questions, I am sure I can figure it out eventually.

    I'll have some time to work on opcodes tomorrow night I hope.

  9. #9
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    Re: 02/13/13 changes

    playerSpawnPosStruct is used for when mobs move. Spawnstruct is used on zone in. Look at spawnstruct and you will see a section with the position data. This seems to stay in sync with playerSpawnPosStruct. So take the updated playerSpawnPosStruct, remove the first 2 variables ( spawnid & spawnid2) then paste the rest over the position data in spawnstruct. Should be 20bytes total. On the road now but can provide a patch diff later tonight to help.

  10. #10
    Registered User
    Join Date
    Oct 2011
    Posts
    2

    Re: 02/13/13 changes

    Thanks, that worked just fine!

  11. #11
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    Re: 02/13/13 changes

    Here is the everquest.h patch I have now, based on the updates by showeq42

    Code:
    Index: src/everquest.h
    ===================================================================
    --- src/everquest.h	(revision 783)
    +++ src/everquest.h	(working copy)
    @@ -1076,23 +1076,18 @@
              {
                struct
                {
    -              signed   padding0004:13;
    -              signed   y:19;           // y coord
    -              
    -              signed   deltaX:13;      // change in x
    -              signed   deltaHeading:10;// change in heading   
    -              signed   padding0008:9;
    -              
    -              signed   deltaY:13;      // change in y
    -              signed   z:19;           // z coord
    -              
    -              signed   x:19;           // x coord
    -              signed   animation:10;   // animation
    -              signed   padding0016:3;
    -              
    -              unsigned heading:12;     // heading
    -              signed   deltaZ:13;      // change in z
    -              signed   padding0020:7;
    +        	   unsigned pitch:12;
    +        	   signed   z:19;           // z coord
    +        	   unsigned padding01:1;
    +        	   signed   deltaX:13;      // change in x
    +        	   signed   y:19;           // y coord
    +        	   signed   deltaHeading:10;// change in heading
    +        	   unsigned heading:12;     // heading
    +        	   signed   animation:10;   // velocity
    +        	   signed   deltaZ:13;      // change in z
    +        	   signed   x:19;           // x coord
    +        	   signed   deltaY:13;      // change in y
    +        	   unsigned padding02:19;
                };
                int32_t posData[5];
              };
    @@ -2339,19 +2334,18 @@
     {
     /*0000*/ uint16_t spawnId;
     /*0002*/ uint16_t spawnId2;
    -/*0004*/ signed   padding0004:13;
    -         signed   y:19;           // y coord
    -/*0008*/ signed   deltaX:13;      // change in x
    -         signed   deltaHeading:10;// change in heading   
    -         signed   padding0008:9;
    -/*0012*/ signed   deltaY:13;      // change in y
    +/*0004*/ unsigned pitch:12;
              signed   z:19;           // z coord
    -/*0016*/ signed   x:19;           // x coord
    -         signed   animation:10;   // animation
    -         signed   padding0016:3;
    -/*0020*/ unsigned heading:12;     // heading
    -         signed   deltaZ:13;      // change in z
    -         signed   padding0020:7;
    +         unsigned padding01:1;
    +/*0008*/ signed   deltaX:13;      // change in x
    +         signed   y:19;           // y coord
    +/*0012*/ signed   deltaHeading:10;// change in heading
    +         unsigned heading:12;     // heading
    +         signed   animation:10;   // velocity
    +/*0016*/ signed   deltaZ:13;      // change in z
    +         signed   x:19;           // x coord
    +/*0020*/ signed   deltaY:13;      // change in y
    +         unsigned padding02:19;
     /*0024*/
     };
     
    @@ -2363,21 +2357,24 @@
     
     struct playerSelfPosStruct
     {
    -/*0000*/ uint8_t unknown0000[2];                 // ***Placeholder (update time counter?)
    +/*0000*/ uint16_t unknown0000;                   // ***Placeholder (update time counter?)
     /*0002*/ uint16_t spawnId;                       // Player's spawn id
    -/*0004*/ uint8_t unknown0004[6];                 // ***Placeholder -- BSH 13 Apr 2011
    -/*0010*/ float deltaY;                           // Change in x
    -/*0014*/ float x;                                // x coord (1st loc value)
    +/*0004*/ uint16_t unknown0004;                   // ***Placeholder
    +/*0006*/ unsigned pitch:12;                      // pitch (up/down heading)
    +         signed animation:10;                    // velocity
    +         unsigned padding1:10;                    // ***Placeholder
    +/*0010*/ float x;                                // x coord (1st loc value)
    +/*0014*/ float deltaX;                           // Change in y
     /*0018*/ float y;                                // y coord (2nd loc value)
    -/*0022*/ signed deltaHeading:10;                 // change in heading
    -         unsigned animation:10;                  // animation
    -         unsigned padding0024:12;                // ***Placeholder
    -/*0026*/ float deltaZ;                           // Change in z
    -/*0030*/ float deltaX;                           // Change in y
    -/*0034*/ float z;                                // z coord (3rd loc value)
    -/*0038*/ unsigned heading:12;                    // Directional heading
    -         unsigned padding0040:10;                // ***Placeholder
    -         unsigned padding0041:10;                // ***Placeholder
    +/*0022*/ float z;                                // z coord (3rd loc value)
    +/*0026*/ float deltaY;                           // Change in x
    +/*0030*/ unsigned heading:12;                    // Directional heading
    +         unsigned padding2:10;                   // ***Placeholder
    +         unsigned padding3:10;                   // ***Placeholder
    +/*0034*/ float deltaZ;                           // Change in z
    +/*0038*/ signed deltaHeading:10;                 // change in heading
    +         unsigned padding4:10;                   // ***Placeholder
    +         unsigned padding5:12;                   // ***Placeholder
     /*0042*/
     };

  12. #12
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    Re: 02/13/13 changes

    Here are some more op-codes. A couple of them I wasn't completely sure and need validation, marked those with **
    opcode id="6a1a" name="OP_WearChange"
    opcode id="6087" name="OP_SpawnAppearance" **Need to verify
    opcode id="54fb" name="OP_Stamina" **Need to verify
    opcode id="6719" name="OP_GuildMemberUpdate"
    opcode id="16a5" name="OP_Action"
    opcode id="1375" name="OP_Action2"
    opcode id="0c17" name="OP_SpawnRename"
    opcode id="7cd7" name="OP_GroupInvite"
    opcode id="0076" name="OP_BuffFadeMsg"
    opcode id="0b2b" name="OP_BeginCast"
    opcode id="5dbc" name="OP_MemorizeSpell"
    opcode id="3ecd" name="OP_SimpleMessage"
    opcode id="0cf4" name="OP_CommonMessage"

  13. #13
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    Re: 02/13/13 changes

    Getting harder to figure these out since this is the first time I've gone through most of them. I think these are correct but could use validation:

    opcode id="0eae" name="OP_AAExpUpdate"
    opcode id="7814" name="OP_ExpUpdate"
    opcode id="0396" name="OP_HPUpdate"
    opcode id="499e" name="OP_ZoneChange"
    Last edited by ShortBuss; 02-15-2013 at 04:01 PM.

  14. #14
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    Re: 02/13/13 changes

    I've done about all I can with the op codes. I'm fairly sure the group invite, group follow, and group update are not completely correct, but I couldn't get it all to work out properly in that area. The rest I'm mostly sure about. There's still some that were updated 1/16/13 that I could not figure out and I left those alone.

    Code:
    Index: conf/zoneopcodes.xml
    ===================================================================
    --- conf/zoneopcodes.xml	(revision 783)
    +++ conf/zoneopcodes.xml	(working copy)
    @@ -3,231 +3,231 @@
     <seqopcodes>
     
         <!-- Critical opcodes used directly by ShowEQ -->
    -    <opcode id="46bb" name="OP_PlayerProfile" updated="12/12/12">
    +    <opcode id="6725" name="OP_PlayerProfile" updated="02/13/13">
             <comment>CharProfileCode</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1665" name="OP_ZoneEntry" updated="12/12/12">
    +    <opcode id="2cbe" name="OP_ZoneEntry" updated="02/13/13">
             <comment>ZoneEntryCode</comment>
             <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
         <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3be2" name="OP_TimeOfDay" updated="12/12/12">
    +    <opcode id="2d98" name="OP_TimeOfDay" updated="02/13/13">
             <comment>TimeOfDayCode</comment>
             <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7fff" name="OP_NewZone" updated="12/12/12">
    +    <opcode id="082d" name="OP_NewZone" updated="02/13/13">
             <comment>NewZoneCode</comment>
             <payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7b6c" name="OP_SpawnDoor" updated="12/12/12">
    +    <opcode id="0e70" name="OP_SpawnDoor" updated="02/13/13">
             <comment>DoorSpawnsCode</comment>
             <payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
         </opcode>
    -    <opcode id="4286" name="OP_GroundSpawn" updated="12/12/12">
    +    <opcode id="11ef" name="OP_GroundSpawn" updated="02/13/13">
             <comment>MakeDropCode</comment>
             <payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7922" name="OP_SendZonePoints" updated="12/12/12">
    +    <opcode id="0a1d" name="OP_SendZonePoints" updated="02/13/13">
             <comment>Coords in a zone that will port you to another zone</comment>
             <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="25C5" name="OP_AAExpUpdate" updated="12/12/12">
    +    <opcode id="0eae" name="OP_AAExpUpdate" updated="02/13/13">
           <comment>Receiving AA experience. Also when percent to AA changes.</comment>
           <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="47E3" name="OP_ExpUpdate" updated="12/12/12">
    +    <opcode id="7814" name="OP_ExpUpdate" updated="02/13/13">
             <comment>ExpUpdateCode</comment>
             <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0561" name="OP_GuildMOTD" updated="12/12/12">
    +    <opcode id="7864" name="OP_GuildMOTD" updated="02/13/13">
             <comment>GuildMOTD</comment>
             <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="455d" name="OP_ClientUpdate" updated="12/12/12">
    -        <comment>Position updates - looks to be 455d and 42 bytes as of 12/12/12</comment>
    +    <opcode id="6cc2" name="OP_ClientUpdate" updated="02/13/13">
    +        <comment>Position updates</comment>
             <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
             <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="5BD9" name="OP_NpcMoveUpdate" updated="12/12/12">
    +    <opcode id="7342" name="OP_NpcMoveUpdate" updated="02/13/13">
             <comment>Position updates</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6b5a" name="OP_MobUpdate" updated="12/12/12">
    +    <opcode id="282a" name="OP_MobUpdate" updated="02/13/13">
             <comment>MobUpdateCode</comment>
             <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
         </opcode>
    -    <opcode id="3c8e" name="OP_DeleteSpawn" updated="12/12/12">
    +    <opcode id="6864" name="OP_DeleteSpawn" updated="02/13/13">
             <comment>DeleteSpawnCode</comment>
             <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="3B06" name="OP_RemoveSpawn" updated="12/12/12">
    +    <opcode id="0ead" name="OP_RemoveSpawn" updated="02/13/13">
             <comment>Remove spawn from zone</comment>
         <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3a65" name="OP_Death" updated="12/12/12">
    +    <opcode id="62bd" name="OP_Death" updated="02/13/13">
             <comment>old NewCorpseCode</comment>
             <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1ad3" name="OP_WearChange" updated="12/12/12">
    +    <opcode id="6a1a" name="OP_WearChange" updated="02/13/13">
             <comment>SpawnUpdateCode</comment>
             <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7360" name="OP_SpawnAppearance" updated="12/12/12">
    +    <opcode id="6087" name="OP_SpawnAppearance" updated="02/13/13">
             <comment>SpawnAppearanceCode</comment>
             <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1949" name="OP_Stamina" updated="12/12/12">
    +    <opcode id="54fb" name="OP_Stamina" updated="02/13/13">
             <comment>Server updating on hunger/thirst</comment>
             <payload dir="server" typename="staminaStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="07b8" name="OP_HPUpdate" updated="12/12/12">
    +    <opcode id="0396" name="OP_HPUpdate" updated="02/13/13">
             <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
             <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0048" name="OP_GuildMemberUpdate" updated="12/12/12">
    +    <opcode id="6719" name="OP_GuildMemberUpdate" updated="02/13/13">
             <comment>Info regarding guild members</comment>
             <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7992" name="OP_ClickObject" updated="12/12/12">
    +    <opcode id="7f78" name="OP_ClickObject" updated="02/13/13">
             <comment>Items dropped on the ground</comment>
             <payload dir="both" typename="remDropStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0ea7" name="OP_Action" updated="12/12/12">
    +    <opcode id="16a5" name="OP_Action" updated="02/13/13">
             <comment>Spells cast etc</comment>
             <payload dir="both" typename="actionStruct" sizechecktype="match"/>
             <payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="5428" name="OP_Action2" updated="12/12/12">
    +    <opcode id="1375" name="OP_Action2" updated="02/13/13">
             <comment>Combat actions i.e. bash, kick etc</comment>
             <payload dir="both" typename="action2Struct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="4d8d" name="OP_Consider" updated="12/12/12">
    +    <opcode id="0fcd" name="OP_Consider" updated="02/13/13">
             <comment>ConsiderCode</comment>
             <payload dir="both" typename="considerStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0e25" name="OP_TargetMouse" updated="12/12/12">
    +    <opcode id="02f7" name="OP_TargetMouse" updated="02/13/13">
             <comment>Targeting a person - old ClientTargetCode</comment>
             <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="5040" name="OP_SpawnRename" updated="12/12/12">
    +    <opcode id="0c17" name="OP_SpawnRename" updated="02/13/13">
             <comment>Spawns getting renamed after initial NewSpawn</comment>
             <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6C43" name="OP_Illusion" updated="12/12/12">
    +    <opcode id="359a" name="OP_Illusion" updated="02/13/13">
             <comment>Spawn being illusioned (changing forms)</comment>
             <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0747" name="OP_Shroud" updated="12/12/12">
    +    <opcode id="3223" name="OP_Shroud" updated="01/16/13">
             <comment>Server putting players into shroud form</comment>
             <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1EB4" name="OP_ZoneChange" updated="12/12/12">
    +    <opcode id="499e" name="OP_ZoneChange" updated="02/13/13">
             <comment>old ZoneChangeCode</comment>
             <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1602" name="OP_GroupInvite" updated="12/12/12">
    +    <opcode id="7cd7" name="OP_GroupInvite" updated="02/13/13">
             <payload dir="both" typename="groupInviteStruct" sizechecktype="none"/>
             <comment>You invite someone while ungrouped or get invited by someone ungrouped </comment>
         </opcode>
    -    <opcode id="6E80" name="OP_GroupInvite2" updated="12/12/12">
    +    <opcode id="33e8" name="OP_GroupInvite2" updated="02/13/13">
             <payload dir="client" typename="groupInviteStruct" sizechecktype="none"/>
             <comment>You're inviting someone and you are grouped or get invited by a group</comment>
         </opcode>
    -    <opcode id="2B26" name="OP_GroupCancelInvite" updated="12/12/12">
    +    <opcode id="5e6d" name="OP_GroupCancelInvite" updated="02/13/13">
             <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
             <comment>Declining to join a group</comment>
         </opcode>
    -    <opcode id="0BA4" name="OP_GroupFollow" updated="12/12/12">
    +    <opcode id="2244" name="OP_GroupFollow" updated="02/13/13">
             <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
             <comment>You join a group or player joins group</comment>
         </opcode>
    -    <opcode id="5FAE" name="OP_GroupFollow2" updated="12/12/12">
    +    <opcode id="5fae" name="OP_GroupFollow2" updated="12/12/12">
             <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
             <comment>Player joins your group</comment>
         </opcode>
    -    <opcode id="5A07" name="OP_GroupUpdate" updated="12/12/12">
    -        <comment>Group member names - Variable length</comment>
    +    <opcode id="3391" name="OP_GroupUpdate" updated="02/13/13">
    +        <comment>Group updates</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="623D" name="OP_GroupDisband" updated="12/12/12">
    +    <opcode id="351e" name="OP_GroupDisband" updated="02/13/13">
             <comment>You disband from group</comment>
             <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="74FA" name="OP_GroupDisband2" updated="12/12/12">
    +    <opcode id="65c0" name="OP_GroupDisband2" updated="02/13/13">
             <comment>Other disbands from group</comment>
             <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="46FC" name="OP_GroupLeader" updated="12/12/12">
    +    <opcode id="626d" name="OP_GroupLeader" updated="02/13/13">
             <comment>Group leader change</comment>
             <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="08ED" name="OP_Buff" updated="12/12/12">
    +    <opcode id="08ed" name="OP_Buff" updated="12/12/12">
             <comment>old BuffDropCode</comment>
             <payload dir="both" typename="buffStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="41cb" name="OP_BuffFadeMsg" updated="12/12/12">
    +    <opcode id="0076" name="OP_BuffFadeMsg" updated="02/13/13">
             <comment>SpellFadeCode</comment>
             <payload dir="both" typename="spellFadedStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="17FF" name="OP_BeginCast" updated="12/12/12">
    +    <opcode id="0b2b" name="OP_BeginCast" updated="02/13/13">
             <comment>BeginCastCode</comment>
             <payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1cb5" name="OP_CastSpell" updated="12/12/12">
    +    <opcode id="0e18" name="OP_CastSpell" updated="02/13/13">
             <comment>StartCastCode</comment>
             <payload dir="both" typename="startCastStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="4736" name="OP_SwapSpell" updated="12/12/12">
    +    <opcode id="30c2" name="OP_SwapSpell" updated="01/16/13">
             <comment>TradeSpellBookSlotsCode</comment>
             <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="2FAC" name="OP_MemorizeSpell" updated="12/12/12">
    +    <opcode id="5dbc" name="OP_MemorizeSpell" updated="02/13/13">
             <comment>MemSpellCode</comment>
             <payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="5794" name="OP_InspectAnswer" updated="12/12/12">
    +    <opcode id="31e3" name="OP_InspectAnswer" updated="02/13/13">
             <comment>InspectDataCode</comment>
             <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="37FD" name="OP_Emote" updated="12/12/12">
    +    <opcode id="0bff" name="OP_Emote" updated="02/13/13">
             <comment>EmoteTextCode</comment>
             <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="02A5" name="OP_SimpleMessage" updated="12/12/12">
    +    <opcode id="3ecd" name="OP_SimpleMessage" updated="02/13/13">
             <comment>SimpleMessageCode</comment>
             <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6AFE" name="OP_FormattedMessage" updated="12/12/12">
    +    <opcode id="748e" name="OP_FormattedMessage" updated="02/13/13">
             <comment>FormattedMessageCode i.e. pet dismissed etc</comment>
             <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="33BC" name="OP_CommonMessage" updated="12/12/12">
    +    <opcode id="0cf4" name="OP_CommonMessage" updated="02/13/13">
             <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment>
             <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="362C" name="OP_SpecialMesg" updated="12/12/12">
    +    <opcode id="7d12" name="OP_SpecialMesg" updated="02/13/13">
             <comment>Communicate textual info to client including hail responses etc</comment>
             <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="59DB" name="OP_RandomReq" updated="12/12/12">
    +    <opcode id="4fd0" name="OP_RandomReq" updated="02/13/13">
             <comment>RandomReqCode</comment>
             <payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6525" name="OP_RandomReply" updated="12/12/12">
    +    <opcode id="5cc5" name="OP_RandomReply" updated="02/13/13">
             <comment>RandomCode</comment>
             <payload dir="server" typename="randomStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="183D" name="OP_ConsentResponse" updated="12/12/12">
    +    <opcode id="183d" name="OP_ConsentResponse" updated="12/12/12">
             <comment>Server replying with consent information after /consent</comment>
             <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="344A" name="OP_DenyResponse" updated="12/12/12">
    +    <opcode id="344a" name="OP_DenyResponse" updated="12/12/12">
             <comment>Server replying with deny information after /deny</comment>
             <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1E3B" name="OP_ManaChange" updated="12/12/12">
    +    <opcode id="0a79" name="OP_ManaChange" updated="02/13/13">
             <comment>Mana change. Bards send this up with no size. Casters receive this for mana updates.</comment>
             <payload dir="server" typename="manaDecrementStruct" sizechecktype="match"/>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
    @@ -242,15 +242,15 @@
             <comment>MoneyOnCorpseCode</comment>
             <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="52C6" name="OP_SkillUpdate" updated="12/12/12">
    +    <opcode id="52c6" name="OP_SkillUpdate" updated="12/12/12">
             <comment>Skill up code</comment>
             <payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7CE0" name="OP_LevelUpdate" updated="12/12/12">
    +    <opcode id="7ce0" name="OP_LevelUpdate" updated="12/12/12">
             <comment>LevelUpUpdateCode - causing crashes as of 12/08/12  Investigating</comment>
             <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="5437" name="OP_CorpseLocResponse" updated="12/12/12">
    +    <opcode id="0000" name="OP_CorpseLocResponse" updated="12/12/12">
             <comment>old CorpseLocCode:</comment>
             <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/>
         </opcode>
    @@ -258,7 +258,7 @@
             <comment></comment>
             <payload dir="server" typename="none" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0e01" name="OP_DzSwitchInfo" updated="12/12/12">
    +    <opcode id="331d" name="OP_DzSwitchInfo" updated="01/16/13">
             <comment>Expedition compass etc</comment>
             <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
         </opcode>
    @@ -268,7 +268,7 @@
         </opcode>
     
         <!-- Not necessary for SEQ to run but here to name packets in logs. -->
    -    <opcode id="7a19" name="OP_MovementHistory" updated="12/12/12">
    +    <opcode id="15f4" name="OP_MovementHistory" updated="02/13/13">
             <comment>Movement history for speed/movement hack detection</comment>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    @@ -297,7 +297,7 @@
             <payload dir="server" typename="itemInfoStruct" sizechecktype="none"/>
             <payload dir="client" typename="itemInfoReqStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="28a9" name="OP_EnvDamage" updated="11/28/12">
    +    <opcode id="0518" name="OP_EnvDamage" updated="01/16/13">
             <comment>Environmental Damage</comment>
             <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/>
         </opcode>
    @@ -305,23 +305,23 @@
             <comment>old cRunToggleCode</comment>
             <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="71f5" name="OP_UIUpdate" updated="12/12/12">
    +    <opcode id="20ee" name="OP_UIUpdate" updated="02/13/13">
             <comment>Seems to be sent to handle a variety of UI updates - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1aae" name="OP_GroupMemberList" updated="08/17/12">
    +    <opcode id="20d5" name="OP_GroupMemberList" updated="02/13/13">
             <comment>List of group members -  Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4053" name="OP_GuildMemberList" updated="12/12/12">
    +    <opcode id="210b" name="OP_GuildMemberList" updated="02/13/13">
             <comment>List of guild members - Variable length</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6675" name="OP_ManaUpdate" updated="12/12/12">
    +    <opcode id="089f" name="OP_ManaUpdate" updated="01/16/13">
         <comment>Mana Update opcode - 10 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="71fb" name="OP_EndUpdate" updated="12/12/12">
    +    <opcode id="3a7c" name="OP_EndUpdate" updated="01/16/13">
         <comment>Endurance Update opcode - 10 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -337,31 +337,31 @@
             <comment>Expedition Members - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6562" name="OP_Campfire" updated="11/28/12">
    +    <opcode id="23cb" name="OP_Campfire" updated="02/13/13">
             <comment>Fellowship campfire information - 1076 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3c4b" name="OP_SelectCampfire" updated="11/28/12">
    +    <opcode id="0120" name="OP_SelectCampfire" updated="02/13/13">
             <comment>Fellowship campfire Choices - Guessing variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="02d7" name="OP_Claims" updated="11/28/12">
    +    <opcode id="bdf1" name="OP_Claims" updated="02/13/13">
             <comment>Contents of claims window. /claim then refresh to capture packet - Guessing variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3bcc" name="OP_VoiceChat" updated="12/12/12">
    +    <opcode id="50a1" name="OP_VoiceChat" updated="02/13/13">
             <comment>Voice chat server info - Variable length (Data sent when joining group,raid etc)</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6e6c" name="OP_PollQuestions" updated="12/12/12">
    +    <opcode id="6e09" name="OP_PollQuestions" updated="01/16/13">
             <comment>SOE in-game player poll questions - Variable length</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="17ee" name="OP_PollResponses" updated="12/12/12">
    +    <opcode id="7ad7" name="OP_PollResponses" updated="01/16/13">
             <comment>Poll response choices - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7251" name="OP_ShroudProgression" updated="12/12/12">
    +    <opcode id="25a2" name="OP_ShroudProgression" updated="01/16/13">
             <comment>Unlocked shrouds - 244 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -369,15 +369,15 @@
             <comment>Shroud templates to choose from on shroud NPC - 18983 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="40fd" name="OP_Fellowship" updated="12/12/12">
    +    <opcode id="5029" name="OP_Fellowship" updated="02/13/13">
             <comment>Fellowship information - 2564 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7851" name="OP_ExpandedGuildInfo" updated="12/12/12">
    +    <opcode id="6f0c" name="OP_ExpandedGuildInfo" updated="02/13/13">
             <comment>Guild ranks and other misc guild data - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1cbf" name="OP_GuildBank" updated="12/12/12">
    +    <opcode id="34d3" name="OP_GuildBank" updated="01/16/13">
             <comment>Guild bank contents - Guessing variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -401,23 +401,23 @@
             <comment>Tradeskill combine using old tradeskill window - 24 Bytes</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="786e" name="OP_ItemPlayerPacket" updated="12/12/12">
    +    <opcode id="4cd2" name="OP_ItemPlayerPacket" updated="02/13/13">
             <comment>Inventory/bank items coming over during zone - Variable length</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2294" name="OP_TaskDescription" updated="12/12/12">
    +    <opcode id="0736" name="OP_TaskDescription" updated="02/13/13">
             <comment>Task descriptions coming down for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7181" name="OP_TaskActivity" updated="12/12/12">
    +    <opcode id="74a1" name="OP_TaskActivity" updated="02/13/13">
             <comment>Task activity descriptions coming down for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="9495" name="OP_CompletedTasks" updated="12/12/12">
    +    <opcode id="7392" name="OP_CompletedTasks" updated="02/13/13">
             <comment>Task history for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="471a" name="OP_CustomTitles" updated="12/12/12">
    +    <opcode id="475f" name="OP_CustomTitles" updated="02/13/13">
             <comment>List of available titles - 1520 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -533,7 +533,7 @@
             <comment>Client side raid invite requests 140 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5dcf" name="OP_RaidJoin" updated="11/28/12">
    +    <opcode id="3ab1" name="OP_RaidJoin" updated="01/16/13">
             <comment>Server side raid information - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -553,7 +553,7 @@
             <comment>LFG/LFP server response - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5a7c" name="OP_MercenaryList" updated="12/12/12">
    +    <opcode id="27a5" name="OP_MercenaryList" updated="01/16/13">
             <comment>Listing of hired mercenaries - 429 bytes
             <payload dir="server" typename="unknown" sizechecktype="none"/></comment>
         </opcode>
    @@ -573,11 +573,11 @@
             <comment>Client clicks off buff - 8 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6786" name="OP_HouseAddress" updated="12/12/12">
    +    <opcode id="3bf6" name="OP_HouseAddress" updated="01/16/13">
             <comment>House and guildhall address information - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7cda" name="OP_HouseContents" updated="11/28/12">
    +    <opcode id="222f" name="OP_HouseContents" updated="01/16/13">
             <comment>Server sending house information and contents - variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -593,11 +593,11 @@
             <comment>Server sending pending rewards - variable length</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="63ae" name="OP_FTPNags" updated="12/12/12">
    +    <opcode id="168d" name="OP_FTPNags" updated="02/13/13">
             <comment>Free to play nags and other data - 1852 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="34c3" name="OP_Find" updated="12/12/12">
    +    <opcode id="7b8a" name="OP_Find" updated="02/13/13">
             <comment>Find window data - 112 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -612,15 +612,15 @@
     
             <!-- Below are used to help make sense of the logs when searching for opcodes
                  Using these marks unknown opcodes in logs for easier reading  -->
    -    <opcode id="218d" name="OP_Unknown1" updated="12/12/12">
    +    <opcode id="05c3" name="OP_Unknown1" updated="01/16/13">
             <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="48b5" name="OP_Unknown2" updated="12/12/12">
    +    <opcode id="7d71" name="OP_Unknown2" updated="01/16/13">
             <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7cb5" name="OP_Unknown3" updated="12/12/12">
    +    <opcode id="68a5" name="OP_Unknown3" updated="01/16/13">
             <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>

  15. #15
    Registered User
    Join Date
    Jun 2003
    Posts
    113

    Re: 02/13/13 changes

    This change will fix the Gender shown on players in the mouse over tool tip on the map. I realize it's minor; still just trying to learn the code. Most, if not all, of the rest of the miscdata flags are wrong as well. I've confirmed some but I think only gender is used so I only modified it.

    Code:
    Index: src/everquest.h
    ===================================================================
    --- src/everquest.h	(revision 783)
    +++ src/everquest.h	(working copy)
    @@ -1034,7 +1034,7 @@
              {
                struct
                {
    -             unsigned   padding7:1;
    +             unsigned   gender:1;                // Gender (0=male, 1=female)
                  unsigned   AFK:1;
                  unsigned   sneak:1;
                  unsigned   LFG:1;
    @@ -1044,7 +1044,7 @@
                  unsigned   gm:1;
                  unsigned   anon:1;                  // 0=normal, 1=anon, 2=roleplay
                  unsigned   padding4:1;
    -             unsigned   gender:1;                // Gender (0=male, 1=female)
    +             unsigned   padding7:1;
                  unsigned   padding3:1;
                  unsigned   linkdead:1;
                  unsigned   betabuffed:1;

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