Page 2 of 9 FirstFirst 1234 ... LastLast
Results 16 to 30 of 124

Thread: SEQ Borked with 8/15 patch.

  1. #16
    Registered User
    Join Date
    Mar 2012
    Posts
    21

    Re: SEQ Borked with 8/15 patch.

    Some more opcodes:

    5a4c to 226b (OP_NpcMoveUpdate)
    3c58 to 4b82 (OP_DeleteSpawn)
    4194 to 1044 (OP_RemoveSpawn)

  2. #17
    Registered User
    Join Date
    May 2006
    Posts
    10

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by rogues View Post
    Please let me know how you make out, I'm done for the night. If I have time over the next couple of days I'll try to find some more opcodes.
    And a huge thanks to purple for pointing me in the right direction!
    Thanks Rogues - straight 5-13.10.5 install and applying the updates you provided got me skittles & map. I did get some ghost copies of my toons, presumably SEQ failing to notice the logout but map & skittles are working including new spawns and mob movement.

  3. #18
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: SEQ Borked with 8/15 patch.

    Thanks for those opcodes r6, they help a lot.

    The fillSpawnStruct stuff still isn't right, there are a lot of errors when zoning (lengths are off from anywhere from 5 to 30 depending on what it is). I don't know if I'll be able to fix that. Suffice it to say, it doesn't stop it from operating so it's not a big focus of mine. A lot of opcodes are still wrong and unfortunately I don't have old good logs (something I'm going to start keeping after every fix) so it's hard for me to identify them. I'll see what I can come up with over the weekend.

    Thanks everybody for their help!

  4. #19
    Administrator
    Join Date
    Sep 2005
    Posts
    353

    Re: SEQ Borked with 8/15 patch.

    I'll have time to work on Opcodes this weekend. Have a lot of them corrected but have to check if the last emergency patch changed any. I was hung up on spawnshell.cpp and everquest.h struct changes. Still suck at fixing those problems.

  5. #20
    Administrator
    Join Date
    Sep 2005
    Posts
    353

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by fransick View Post
    I'll have time to work on Opcodes this weekend. Have a lot of them corrected but have to check if the last emergency patch changed any. I was hung up on spawnshell.cpp and everquest.h struct changes. Still suck at fixing those problems.
    Did anyone else catch that spawnUpdateStruct changed from 23 bytes to 27 bytes? I had that change from the 8/15 patch but haven't confirmed if that is still the case after all the subsequent emergency patches

  6. #21
    Developer
    Join Date
    Jul 2004
    Posts
    920

    Re: SEQ Borked with 8/15 patch.

    If you guys are trying to learn things and are willing to do it, I'd recommend learning in public. Go post a lot to the Development forum here. I check the boards every couple days or so. I'll try to at least recommend stuff. I haven't played EQ in like 4 years, but I'm more than happy to read and help as I can. Plus all the folks looking to help can learn off it too. I'm not saying I'm some magic font of knowledge. I've probably forgotten more than I know at this point. But I still may be able to help.

  7. #22
    Registered User
    Join Date
    Oct 2007
    Posts
    5

    Re: SEQ Borked with 8/15 patch.

    Sorry for asking a simple question in this thread. What file are these opcodes stored in mentioned by r6express? I was able to make the changes listed but cant find any references to the opcodes. I have been away from EQ and ShowEQ for about 5 years. Just built up a linux system and setup ShowEQ fresh. Started it up and it appear the 8/15 patch was causing my issues.

  8. #23
    Registered User
    Join Date
    Mar 2007
    Posts
    32

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by gogreenalready View Post
    Sorry for asking a simple question in this thread. What file are these opcodes stored in mentioned by r6express? I was able to make the changes listed but cant find any references to the opcodes. I have been away from EQ and ShowEQ for about 5 years. Just built up a linux system and setup ShowEQ fresh. Started it up and it appear the 8/15 patch was causing my issues.
    <ShowEq Home Directory>/conf/zoneopcodes.xml

  9. #24
    Administrator
    Join Date
    Sep 2005
    Posts
    353

    Re: SEQ Borked with 8/15 patch.

    Can someone apply the following patch to a clean download of showeq-5.13.10.5 and let me know if it works? After much teeth gnashing by a guy with zero programming skills, I think the following fixes struct issues, opcodes and warnings from spawnshell.cpp. Looking for someone to validate I've finally gotten it right.

    Code:
    diff -u -r conf/worldopcodes.xml conf/worldopcodes.xml
    --- conf/worldopcodes.xml    2012-07-22 21:59:38.000000000 -0400
    +++ conf/worldopcodes.xml    2012-08-26 13:10:23.000000000 -0400
    @@ -15,7 +15,7 @@
             <comment>old GuildListCode</comment>
             <payload dir="server" typename="worldGuildListStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="528f" name="OP_MOTD" updated="07/18/12">
    +    <opcode id="3eec" name="OP_MOTD" updated="08/17/12">
             <comment>old MOTDCode Server message of the day</comment>
             <payload dir="server" typename="worldMOTDStruct" sizechecktype="none"/>
         </opcode>
    diff -u -r conf/zoneopcodes.xml conf/zoneopcodes.xml
    --- conf/zoneopcodes.xml    2012-07-27 15:35:07.000000000 -0400
    +++ conf/zoneopcodes.xml    2012-08-29 16:15:32.000000000 -0400
    @@ -3,279 +3,279 @@
     <seqopcodes>
     
         <!-- Critical opcodes used directly by ShowEQ -->
    -    <opcode id="5a4c" name="OP_NpcMoveUpdate" updated="07/18/12">
    +    <opcode id="226b" name="OP_NpcMoveUpdate" updated="08/17/12">
             <comment>Position updates</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="268c" name="OP_MovementHistory" updated="07/18/12">
    +    <opcode id="1d3f" name="OP_MovementHistory" updated="08/17/12">
             <comment>Movement data... rewind info?</comment>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3c58" name="OP_DeleteSpawn" updated="07/18/12">
    +    <opcode id="4b82" name="OP_DeleteSpawn" updated="08/17/12">
             <comment>DeleteSpawnCode</comment>
             <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6087" name="OP_ZoneEntry" updated="07/18/12">
    +    <opcode id="4938" name="OP_ZoneEntry" updated="08/17/12">
             <comment>ZoneEntryCode</comment>
             <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
         <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3cd6" name="OP_GuildMOTD" updated="07/18/12">
    +    <opcode id="42ef" name="OP_GuildMOTD" updated="08/17/12">
             <comment>GuildMOTD</comment>
             <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="321a" name="OP_InspectAnswer" updated="07/18/12">
    +    <opcode id="570c" name="OP_InspectAnswer" updated="08/17/12">
             <comment>InspectDataCode</comment>
             <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="604d" name="OP_TargetMouse" updated="07/18/12">
    +    <opcode id="4885" name="OP_TargetMouse" updated="08/17/12">
             <comment>Targeting a person - old ClientTargetCode</comment>
             <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6f9d" name="OP_Shroud" updated="07/18/12">
    +    <opcode id="77b1" name="OP_Shroud" updated="08/17/12">
             <comment>Server putting players into shroud form</comment>
             <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0479" name="OP_GroupInvite" updated="07/18/12">
    +    <opcode id="710e" name="OP_GroupInvite" updated="08/17/12">
             <payload dir="both" typename="groupInviteStruct" sizechecktype="none"/>
             <comment>You invite someone while ungrouped or get invited by someone ungrouped </comment>
         </opcode>
    -    <opcode id="083b" name="OP_GroupInvite2" updated="07/18/12">
    +    <opcode id="6c16" name="OP_GroupInvite2" updated="08/17/12">
             <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/>
             <comment>You're inviting someone and you are grouped or get invited by a group</comment>
         </opcode>
    -    <opcode id="9999" name="OP_GroupFollow" updated="07/18/12">
    +    <opcode id="0fd3" name="OP_GroupFollow" updated="08/17/12">
             <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
             <comment>You join a group or player joins group</comment>
         </opcode>
    -    <opcode id="367b" name="OP_GroupFollow2" updated="07/18/12">
    +    <opcode id="6364" name="OP_GroupFollow2" updated="08/17/122">
             <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
             <comment>Player joins your group</comment>
         </opcode>
    -    <opcode id="6364" name="OP_GroupDisband" updated="07/18/12">
    +    <opcode id="019f" name="OP_GroupDisband" updated="08/17/12">
             <comment>You disband from group</comment>
             <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="367f" name="OP_GroupDisband2" updated="07/18/12">
    +    <opcode id="6a9b" name="OP_GroupDisband2" updated="08/17/12">
             <comment>Other disbands from group</comment>
             <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6a9b" name="OP_GroupLeader" updated="07/18/12">
    +    <opcode id="3671" name="OP_GroupLeader" updated="08/17/12">
             <comment>Group leader change</comment>
             <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="132f" name="OP_GroupCancelInvite" updated="07/18/12">
    +    <opcode id="083b" name="OP_GroupCancelInvite" updated="08/17/12">
             <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
             <comment>Declining to join a group</comment>
         </opcode>
    -    <opcode id="6d1f" name="OP_DzSwitchInfo" updated="07/18/12">
    +    <opcode id="189b" name="OP_DzSwitchInfo" updated="08/17/12">
             <comment>Expedition compass etc</comment>
             <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2edd" name="OP_DzInfo" updated="07/18/12">
    +    <opcode id="6840" name="OP_DzInfo" updated="08/17/12">
             <comment>Expedition Information</comment>
             <payload dir="server" typename="dzInfo" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0142" name="OP_FormattedMessage" updated="07/18/12">
    +    <opcode id="50d0" name="OP_FormattedMessage" updated="08/17/12">
             <comment>FormattedMessageCode</comment>
             <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3604" name="OP_SpawnDoor" updated="07/18/12">
    +    <opcode id="0e71" name="OP_SpawnDoor" updated="08/17/12">
             <comment>DoorSpawnsCode</comment>
             <payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
         </opcode>
    -    <opcode id="0736" name="OP_AAExpUpdate" updated="07/18/12">
    +    <opcode id="0507" name="OP_AAExpUpdate" updated="08/17/12">
           <comment>Receiving AA experience. Also when percent to AA changes.</comment>
           <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0c2b" name="OP_HPUpdate" updated="07/18/12">
    +    <opcode id="7c94" name="OP_HPUpdate" updated="08/17/12">
             <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
             <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="49e7" name="OP_GuildMemberUpdate" updated="07/18/12">
    +    <opcode id="457d" name="OP_GuildMemberUpdate" updated="08/17/12">
             <comment>Info regarding guild members</comment>
             <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7b71" name="OP_SpawnRename" updated="07/18/12">
    +    <opcode id="4a18" name="OP_SpawnRename" updated="08/17/12">
             <comment>Spawns getting renamed after initial NewSpawn</comment>
             <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1f87" name="OP_SwapSpell" updated="07/18/12">
    +    <opcode id="86c7" name="OP_SwapSpell" updated="08/17/12">
             <comment>TradeSpellBookSlotsCode</comment>
             <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="50d0" name="OP_SimpleMessage" updated="07/18/12">
    +    <opcode id="7092" name="OP_SimpleMessage" updated="08/17/12">
             <comment>SimpleMessageCode</comment>
             <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="47ea" name="OP_SpecialMesg" updated="07/18/12">
    +    <opcode id="512b" name="OP_SpecialMesg" updated="08/17/12">
             <comment>Communicate textual info to client including hail responses etc</comment>
             <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2dc6" name="OP_RandomReq" updated="07/18/12">
    +    <opcode id="072f" name="OP_RandomReq" updated="08/17/12">
             <comment>RandomReqCode</comment>
             <payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="440f" name="OP_ConsentResponse" updated="07/18/12">
    +    <opcode id="3d06" name="OP_RandomReply" updated="08/17/12">
    +        <comment>RandomCode</comment>
    +        <payload dir="server" typename="randomStruct" sizechecktype="match"/>
    +    </opcode>
    +    <opcode id="647a" name="OP_ConsentResponse" updated="08/17/12">
             <comment>Server replying with consent information after /consent</comment>
             <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7e45" name="OP_DenyResponse" updated="07/18/12">
    +    <opcode id="7e45" name="OP_DenyResponse" updated="08/17/12">
             <comment>Server replying with deny information after /deny</comment>
             <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0643" name="OP_BazaarSearch" updated="07/18/12">
    +    <opcode id="55dd" name="OP_BazaarSearch" updated="08/17/12">
             <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/>
             <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
             <comment>Bazaar search tool</comment>
         </opcode>
    -    <opcode id="3f55" name="OP_SpawnUpdate" updated="07/18/12">
    +    <opcode id="3c02" name="OP_SpawnUpdate" updated="08/17/12">
             <comment>SpawnUpdateCode</comment>
             <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6d60" name="OP_Stamina" updated="07/18/12">
    +    <opcode id="0f4f" name="OP_Stamina" updated="08/17/12">
             <comment>Server updating on hunger/thirst</comment>
             <payload dir="server" typename="staminaStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="2a6d" name="OP_Consider" updated="07/18/12">
    +    <opcode id="7705" name="OP_Consider" updated="08/17/12">
             <comment>ConsiderCode</comment>
             <payload dir="both" typename="considerStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="51ae" name="OP_NewZone" updated="07/18/12">
    +    <opcode id="3401" name="OP_NewZone" updated="08/17/12">
             <comment>NewZoneCode</comment>
             <payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1436" name="OP_GroundSpawn" updated="07/18/12">
    +    <opcode id="6618" name="OP_GroundSpawn" updated="08/17/12">
             <comment>MakeDropCode</comment>
             <payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4194" name="OP_RemoveSpawn" updated="07/18/12">
    +    <opcode id="1044" name="OP_RemoveSpawn" updated="08/17/12">
             <comment>Remove spawn from zone</comment>
         <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5ebc" name="OP_Death" updated="07/18/12">
    +    <opcode id="0402" name="OP_Death" updated="08/17/12">
             <comment>old NewCorpseCode</comment>
             <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6618" name="OP_ClickObject" updated="07/18/12">
    +    <opcode id="5c85" name="OP_ClickObject" updated="08/17/12">
             <comment>Items dropped on the ground</comment>
             <payload dir="both" typename="remDropStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="3237" name="OP_Action" updated="07/18/12">
    +    <opcode id="49b6" name="OP_Action" updated="08/17/12">
             <comment>Spells cast etc</comment>
             <payload dir="both" typename="actionStruct" sizechecktype="match"/>
             <payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="45d6" name="OP_Action2" updated="07/18/12">
    +    <opcode id="2c8f" name="OP_Action2" updated="08/17/12">
             <comment>Combat actions i.e. bash, kick etc</comment>
             <payload dir="both" typename="action2Struct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="2b9d" name="OP_Illusion" updated="07/18/12">
    +    <opcode id="5f25" name="OP_Illusion" updated="08/17/12">
             <comment>Spawn being illusioned (changing forms)</comment>
             <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="569e" name="OP_BuffFadeMsg" updated="07/18/12">
    +    <opcode id="2917" name="OP_BuffFadeMsg" updated="08/17/12">
             <comment>SpellFadeCode</comment>
             <payload dir="both" typename="spellFadedStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1b8a" name="OP_CastSpell" updated="07/18/12">
    +    <opcode id="3887" name="OP_CastSpell" updated="08/17/12">
             <comment>StartCastCode</comment>
             <payload dir="both" typename="startCastStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="2306" name="OP_MemorizeSpell" updated="07/18/12">
    +    <opcode id="1dad" name="OP_MemorizeSpell" updated="08/17/12">
             <comment>MemSpellCode</comment>
             <payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1044" name="OP_Emote" updated="07/18//12">
    +    <opcode id="58c5" name="OP_Emote" updated="08/17/122">
             <comment>EmoteTextCode</comment>
             <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="77a2" name="OP_RandomReply" updated="07/18/12">
    -        <comment>RandomCode</comment>
    -        <payload dir="server" typename="randomStruct" sizechecktype="match"/>
    -    </opcode>
    -    <opcode id="2917" name="OP_ManaChange" updated="07/18/12">
    +    <opcode id="1b8a" name="OP_ManaChange" updated="08/17/12">
             <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"/>
         </opcode>
    -    <opcode id="0cf7" name="OP_MoneyOnCorpse" updated="07/18/12">
    +    <opcode id="49b8" name="OP_MoneyOnCorpse" updated="08/17/12">
             <comment>MoneyOnCorpseCode</comment>
             <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="537c" name="OP_PlayerProfile" updated="07/18/12">
    +    <opcode id="078e" name="OP_PlayerProfile" updated="08/17/12">
             <comment>CharProfileCode</comment>
             <payload dir="server" typename="charProfileStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6015" name="OP_TimeOfDay" updated="07/18/12">
    +    <opcode id="6015" name="OP_TimeOfDay" updated="08/17/12">
             <comment>TimeOfDayCode</comment>
             <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7062" name="OP_ClientUpdate" updated="07/18/12">
    +    <opcode id="7062" name="OP_ClientUpdate" updated="08/17/12">
             <comment>Position updates</comment>
             <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
             <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0d5a" name="OP_BeginCast" updated="07/18/12">
    +    <opcode id="0d5a" name="OP_BeginCast" updated="08/17/12">
             <comment>BeginCastCode</comment>
             <payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="2e79" name="OP_CommonMessage" updated="07/18/12">
    +    <opcode id="2e79" name="OP_CommonMessage" updated="08/17/12">
             <comment>ChannelMessageCode</comment>
             <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1191" name="OP_SkillUpdate" updated="07/18/12">
    +    <opcode id="436a" name="OP_SkillUpdate" updated="08/17/12">
             <comment>Skill up code</comment>
             <payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="47d3" name="OP_SpawnAppearance" updated="07/18/12">
    +    <opcode id="2b5a" name="OP_SpawnAppearance" updated="08/17/12">
             <comment>SpawnAppearanceCode</comment>
             <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="0000" name="OP_ExpUpdate" updated="07/18/12">
    -        <comment>ExpUpdateCode - opcode looks to be 71eb as of 07/18/12 but that value causes seg faults for some reason</comment>
    +    <opcode id="0000" name="OP_ExpUpdate" updated="08/17/12">
    +        <comment>ExpUpdateCode - opcode looks to be 10a6 as of 08/17/12 but that value causes seg faults for some reason</comment>
             <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="221a" name="OP_LevelUpdate" updated="07/18/12">
    +    <opcode id="2d41" name="OP_LevelUpdate" updated="08/17/12">
             <comment>LevelUpUpdateCode</comment>
             <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="429b" name="OP_LeaderExpUpdate" updated="07/18/12">
    +    <opcode id="153a" name="OP_LeaderExpUpdate" updated="08/17/12">
             <comment>Leadership AA Exp Update</comment>
             <payload dir="server" typename="leadExpUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="5a05" name="OP_MobUpdate" updated="07/18/12">
    +    <opcode id="68da" name="OP_MobUpdate" updated="08/17/12">
             <comment>MobUpdateCode</comment>
             <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
         </opcode>
    -    <opcode id="37a7" name="OP_Trader" updated="07/18/12">
    +    <opcode id="3672" name="OP_Trader" updated="08/17/12">
             <comment>PC's turning trader on and off</comment>
             <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6bb9" name="OP_Consent" updated="07/18/12">
    +    <opcode id="6bb9" name="OP_Consent" updated="08/17/12">
             <comment>/consent someone</comment>
             <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="19a8" name="OP_ConsentDeny" updated="07/18/12">
    +    <opcode id="19a8" name="OP_ConsentDeny" updated="08/17/12">
             <comment>/deny someone</comment>
             <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="38b0" name="OP_ItemPacket" updated="07/18/12">
    +    <opcode id="38b0" name="OP_ItemPacket" updated="08/17/12">
             <comment>ItemCode</comment>
             <payload dir="server" typename="itemPacketStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0322" name="OP_ItemLinkResponse" updated="07/18/12">
    +    <opcode id="58d9" name="OP_ItemLinkResponse" updated="08/17/12">
             <comment>ItemInfoCode</comment>
             <payload dir="server" typename="itemInfoStruct" sizechecktype="none"/>
             <payload dir="client" typename="itemInfoReqStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="43ac" name="OP_EnvDamage" updated="07/18/12">
    +    <opcode id="5ca5" name="OP_EnvDamage" updated="08/17/12">
             <comment>Environmental Damage</comment>
             <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="70ec" name="OP_SetRunMode" updated="07/28/12">
    +    <opcode id="63ad" name="OP_SetRunMode" updated="08/17/12">
             <comment>old cRunToggleCode</comment>
             <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/>
         </opcode>
    @@ -285,251 +285,247 @@
         </opcode>
     
         <!-- Not necessary for SEQ to run but here to name packets in logs. -->
    -    <opcode id="5d32" name="OP_GroupUpdate" updated="07/18/12">
    +    <opcode id="321a" name="OP_GroupUpdate" updated="08/17/12">
             <comment>Group member names - Variable length</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3ba3" name="OP_UIUpdate" updated="07/18/12">
    +    <opcode id="a682" name="OP_UIUpdate" updated="08/17/12">
             <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="2cc9" name="OP_GroupMemberList" updated="07/18/12">
    -        <comment>List of group members - 187 bytes but probably variable</comment>
    +    <opcode id="1aae" name="OP_GroupMemberList" updated="08/17/12">
    +        <comment>List of group members -  Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5f8d" name="OP_GuildMemberList" updated="07/18/12">
    +    <opcode id="51da" name="OP_GuildMemberList" updated="08/17/12">
             <comment>List of guild members - Variable length</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5f51" name="OP_ManaUpdate" updated="07/18/12">
    +    <opcode id="5851" name="OP_ManaUpdate" updated="08/17/12">
         <comment>Mana Update opcode - 10 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="399f" name="OP_EndUpdate" updated="07/18/12">
    +    <opcode id="3365" name="OP_EndUpdate" updated="08/17/12">
         <comment>Endurance Update opcode - 10 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0a7b" name="OP_Marketplace" updated="07/18/12">
    +    <opcode id="4025" name="OP_Marketplace" updated="08/17/12">
             <comment>Marketplace data - Guessing variable length (Big Packet 150k+)</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2a8e" name="OP_MarketplaceSelect" updated="07/18/12">
    -        <comment>Sent when highlighting an item in Marketplace - Variable length</comment>
    -        <payload dir="server" typename="unknown" sizechecktype="none"/>
    +    <opcode id="2a8e" name="OP_MarketplaceSelect" updated="08/17/12">
    +        <comment>Sent when highlighting an item in Marketplace - 80 bytes</comment>
    +        <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7f72" name="OP_DzMembers" updated="07/18/12">
    +    <opcode id="7a1c" name="OP_DzMembers" updated="08/17/12">
             <comment>Expedition Members - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7404" name="OP_Campfire" updated="07/18/12">
    +    <opcode id="5aac" name="OP_Campfire" updated="08/17/12">
             <comment>Fellowship campfire information - 1076 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="162d" name="OP_SelectCampfire" updated="07/18/12">
    +    <opcode id="7545" name="OP_SelectCampfire" updated="08/17/12">
             <comment>Fellowship campfire Choices - Guessing variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7866" name="OP_Claims" updated="07/18/12">
    +    <opcode id="2d95" name="OP_Claims" updated="08/17/12">
             <comment>Contents of claims window - Guessing variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4dd9" name="OP_VoiceChat" updated="07/18/12">
    +    <opcode id="27ac" name="OP_VoiceChat" updated="08/17/12">
             <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="30fa" name="OP_PollQuestions" updated="07/18/12">
    +    <opcode id="6d76" name="OP_PollQuestions" updated="08/17/12">
             <comment>SOE in-game player poll questions - Variable length</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2bba" name="OP_PollResponses" updated="07/18/12">
    -        <comment>Poll response choices - 1004 bytes</comment>
    +    <opcode id="54fe" name="OP_PollResponses" updated="08/17/12">
    +        <comment>Poll response choices - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5fa8" name="OP_ShroudProgression" updated="07/18/12">
    +    <opcode id="5232" name="OP_ShroudProgression" updated="08/17/12">
             <comment>Unlocked shrouds - 244 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2071" name="OP_ShroudTemplates" updated="07/18/12">
    -        <comment>Shroud templates to choose from on shroud NPC - 19008 bytes</comment>
    +    <opcode id="1d51" name="OP_ShroudTemplates" updated="08/17/12">
    +        <comment>Shroud templates to choose from on shroud NPC - 18983 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="322a" name="OP_Fellowship" updated="07/18/12">
    +    <opcode id="584f" name="OP_Fellowship" updated="08/17/12">
             <comment>Fellowship information - 2552 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="654f" name="OP_ExpandedGuildInfo" updated="07/18/12">
    +    <opcode id="7adb" name="OP_ExpandedGuildInfo" updated="08/17/12">
             <comment>Guild ranks and other misc guild data - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5933" name="OP_GuildBank" updated="07/18/12">
    +    <opcode id="55f4" name="OP_GuildBank" updated="08/17/12">
             <comment>Guild bank contents - Guessing variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3a75" name="OP_OpenTradeskillContainer" updated="07/18/12">
    +    <opcode id="442b" name="OP_OpenTradeskillContainer" updated="08/17/12">
             <comment>Opens forge, kiln etc - 92 Bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3ec7" name="OP_TradeskillRecipes" updated="07/18/12">
    +    <opcode id="66bf" name="OP_TradeskillRecipes" updated="08/17/12">
             <comment>Learned recipes - 84 Bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5f55" name="OP_TradeSkillCombine" updated="07/18/12">
    +    <opcode id="5033" name="OP_TradeSkillCombine" updated="08/17/12">
             <comment>Tradeskill combine using new tradeskill window - 40 Bytes</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4c14" name="OP_TradeSkillResult" updated="07/18/12">
    -        <comment>Packets sent when tradeskill combine successful.  Each sent twice for some reason - 12 Bytes</comment>
    +    <opcode id="1150" name="OP_TradeSkillResult" updated="08/17/12">
    +        <comment>Packets sent when tradeskill combine successful - 12 Bytes</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7842" name="OP_TradeSkillCombineOld" updated="07/18/12">
    +    <opcode id="462e" name="OP_TradeSkillCombineOld" updated="08/17/12">
             <comment>Tradeskill combine using old tradeskill window - 24 Bytes</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="41b5" name="OP_ItemPlayerPacket" updated="07/18/12">
    +    <opcode id="5ed3" name="OP_ItemPlayerPacket" updated="08/17/12">
             <comment>Inventory/bank items coming over during zone - Variable length</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2d25" name="OP_TaskDescription" updated="07/18/12">
    +    <opcode id="47ea" name="OP_TaskDescription" updated="08/17/12">
             <comment>Task descriptions coming down for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2ac1" name="OP_TaskActivity" updated="07/18/12">
    +    <opcode id="2d25" name="OP_TaskActivity" updated="08/17/12">
             <comment>Task activity descriptions coming down for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="72ad" name="OP_CompletedTasks" updated="07/18/12">
    +    <opcode id="488b" name="OP_CompletedTasks" updated="08/17/12">
             <comment>Task history for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="766f" name="OP_CustomTitles" updated="07/18/12">
    +    <opcode id="1e4c" name="OP_CustomTitles" updated="08/17/12">
             <comment>List of available titles - 1520 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7f56" name="OP_Animation" updated="07/18/12">
    +    <opcode id="28c8" name="OP_Animation" updated="08/17/12">
             <comment>Combat animation, emote animations etc - 4 bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4502" name="OP_WhoAllRequest" updated="07/18/12">
    +    <opcode id="7f51" name="OP_WhoAllRequest" updated="08/17/12">
             <comment>WhoAllReqCode - 156 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2e67" name="OP_WhoAllResponse" updated="07/18/12">
    +    <opcode id="7901" name="OP_WhoAllResponse" updated="08/17/12">
             <comment>WhoAllOutputCode - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="570c" name="OP_InspectRequest" updated="07/18/12">
    +    <opcode id="13da" name="OP_InspectRequest" updated="08/17/12">
             <comment>InspectRequestCode - 8 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2444" name="OP_GetGuildMOTD" updated="07/18/12">
    +    <opcode id="712b" name="OP_GetGuildMOTD" updated="08/17/12">
             <comment>Request guildMOTD - 648 Bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1031" name="OP_TradeRequest" updated="07/18/12">
    +    <opcode id="1d40" name="OP_TradeRequest" updated="08/17/12">
             <comment>You request trade session - 8 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4981" name="OP_TradeRequest2" updated="07/18/12">
    +    <opcode id="3ff6" name="OP_TradeRequest2" updated="08/17/12">
             <comment>Someone requests a trade session with you or trade is cancelled - 8 bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="442b" name="OP_TradeDeny" updated="07/18/12">
    +    <opcode id="440f" name="OP_TradeDeny" updated="08/17/12">
             <comment>Target not ready to trade - 12 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3aff" name="OP_TradeRequestAck" updated="07/18/12">
    +    <opcode id="3c27" name="OP_TradeRequestAck" updated="08/17/12">
             <comment>Trade request recipient is acknowledging they are able to trade - 8 bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4ffe" name="OP_CancelTrade" updated="07/18/12">
    +    <opcode id="3aff" name="OP_CancelTrade" updated="08/17/12">
             <comment>Cancel a trade window - 0 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3d86" name="OP_FinishTrade" updated="07/18/12">
    +    <opcode id="24c5" name="OP_FinishTrade" updated="08/17/122">
             <comment>Trade is over - 12 bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0ed5" name="OP_TradeCoins" updated="07/18/12">
    +    <opcode id="7452" name="OP_TradeCoins" updated="08/17/12">
             <comment>You put coins put in a trade window - 20 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3c27" name="OP_TradeCoins2" updated="07/18/12">
    +    <opcode id="606a" name="OP_TradeCoins2" updated="08/17/12">
             <comment>Someone else puts coins put in your trade window - 12 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3ff6" name="OP_TradeAcceptClick" updated="07/18/12">
    +    <opcode id="527e" name="OP_TradeAcceptClick" updated="08/17/12">
             <comment>One side clicks Accept on the trade 8 bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3c66" name="OP_ItemLinkClick" updated="07/18/12">
    -        <comment>Click on itemlinks - 48 bytes</comment>
    +    <opcode id="3c66" name="OP_ItemLinkClick" updated="08/17/12">
    +        <comment>Click on itemlinks - 52 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="49b8" name="OP_EndLootRequest" updated="07/18/12">
    +    <opcode id="7165" name="OP_EndLootRequest" updated="08/17/12">
             <comment>DoneLootingCode - 4 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="28c8" name="OP_LootItem" updated="07/18/12">
    +    <opcode id="0976" name="OP_LootItem" updated="08/17/12">
             <comment>Loot item from corpse - 20 bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5dbc" name="OP_Track" updated="07/18/12">
    +    <opcode id="0c2d" name="OP_Track" updated="08/17/12">
             <comment>Tracking data - Variable length</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6af3" name="OP_TraderShop" updated="07/18/12">
    +    <opcode id="d849" name="OP_TraderShop" updated="08/17/12">
             <comment>OpenTraderCode right-click on a trader in bazaar - 16 bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>        
         </opcode>
    -    <opcode id="4885" name="OP_AutoAttack" updated="07/18/12">
    +    <opcode id="6dee" name="OP_AutoAttack" updated="08/17/12">
             <comment>Attack on/off - 4 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="73d6" name="OP_AutoAttack2" updated="07/18/12">
    +    <opcode id="777c" name="OP_AutoAttack2" updated="08/17/12">
             <comment>Attack on/off appears to be same as OP_AutoAttack - 4 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7b05" name="OP_ClickDoor" updated="07/18/12">
    +    <opcode id="3969" name="OP_ClickDoor" updated="08/17/12">
             <comment>DoorOpenCode click request from client - 16 bytes</comment>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="10b7" name="OP_MoveDoor" updated="07/18/12">
    +    <opcode id="7b05" name="OP_MoveDoor" updated="08/17/12">
             <comment>DoorClickCode response from server - 2 bytes</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7452" name="OP_MoveItem" updated="07/18/12">
    +    <opcode id="0d1d" name="OP_MoveItem" updated="08/17/12">
             <comment>Client moving an item from one slot to another - 28 bytes</comment>
    -        <payload dir="client" typename="uint8_t" sizechecktype="none"/>
    +        <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2f6a" name="OP_TraderBuy" updated="07/18/12">
    +    <opcode id="0736" name="OP_TraderBuy" updated="08/17/12">
             <comment>buy from a trader in bazaar - 104 bytes</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/> 
         </opcode>
    -    <opcode id="7165" name="OP_LootRequest" updated="07/18/12">
    +    <opcode id="4074" name="OP_LootRequest" updated="08/17/12">
             <comment>LootCorpseCode - 4 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="243b" name="OP_Jump" updated="07/18/12">
    +    <opcode id="3519" name="OP_Jump" updated="08/17/12">
             <comment>JumpCode - 0 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1318" name="OP_TGB" updated="07/18/12">
    +    <opcode id="5448" name="OP_TGB" updated="08/17/12">
             <comment>Client telling server to set targetgroupbuff - 4 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1643" name="OP_Lockouts" updated="07/18/12">
    +    <opcode id="268c" name="OP_Lockouts" updated="08/17/12">
             <comment>Client requesting lockouts - 0 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="564d" name="OP_WelcomeScreenURL" updated="07/18/12">
    -        <comment>URLs for the welcome screen window - Variable length</comment>
    -        <payload dir="server" typename="unknown" sizechecktype="none"/>
    -    </opcode>
    -    <opcode id="1fbd" name="OP_RaidInvite" updated="07/18/12">
    +    <opcode id="2bad" name="OP_RaidInvite" updated="08/17/12">
             <comment>Client side raid invite requests 140 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2bad" name="OP_RaidJoin" updated="07/18/12">
    +    <opcode id="1fbd" name="OP_RaidJoin" updated="08/17/12">
             <comment>Server side raid information - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -537,85 +533,86 @@
             <comment>Client sending feedback to server - 1148 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7529" name="OP_GuildsList" updated="07/18/12">
    -        <comment>Listing of all guilds</comment>
    +    <opcode id="5f00" name="OP_GuildsList" updated="08/17/12">
    +        <comment>Listing of all guilds. Can be triggered by /lfg search?</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5fb8" name="OP_LFGGetMatchesRequest" updated="07/18/12">
    +    <opcode id="3d0c" name="OP_LFGGetMatchesRequest" updated="08/17/12">
             <comment>LFG/LFP client request - 16 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1890" name="OP_LFGGetMatchesResponse" updated="07/18/12">
    +    <opcode id="4a5c" name="OP_LFGGetMatchesResponse" updated="08/17/12">
             <comment>LFG/LFP server response - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="069e" name="OP_MercenaryList" updated="07/18/12">
    +    <opcode id="5a0a" name="OP_MercenaryList" updated="08/17/12">
             <comment>Listing of hired mercenaries - 427 bytes
             <payload dir="server" typename="unknown" sizechecktype="none"/></comment>
         </opcode>
    -    <opcode id="226b" name="OP_ClickInventory" updated="07/18/12">
    +    <opcode id="178c" name="OP_ClickInventory" updated="08/17/12">
             <comment>Click items from inventory or armor - 16 bytes 5th byte is Slot ID</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="178c" name="OP_ClickInventoryAck" updated="07/18/12">
    +    <opcode id="2b19" name="OP_ClickInventoryAck" updated="08/17/12">
             <comment>Server acknowledges click from inventory or armor - 20 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3e50" name="OP_BuffWindow" updated="07/18/12">
    +    <opcode id="7ce4" name="OP_BuffWindow" updated="08/17/12">
             <comment>Changes to buff window or song window - 100 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5bad" name="OP_ClickBuffOff" updated="07/18/12">
    +    <opcode id="5d24" name="OP_ClickBuffOff" updated="08/17/12">
             <comment>Client clicks off buff - 8 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7961" name="OP_HouseAddress" updated="07/18/12">
    +    <opcode id="02fc" name="OP_HouseAddress" updated="08/17/12">
             <comment>House and guildhall address information - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7cbe" name="OP_HouseContents" updated="07/18/12">
    +    <opcode id="24f5" name="OP_HouseContents" updated="08/17/12">
             <comment>Server sending house information and contents - variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2363" name="OP_FriendsList" updated="07/18/12">
    +    <opcode id="469c" name="OP_FriendsList" updated="08/17/12">
             <comment>Server sending friends list contents - variable length (Sent when choosing "Welcome" form EQ button)</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2363" name="OP_FriendsOnline" updated="07/18/12">
    +    <opcode id="6555" name="OP_FriendsOnline" updated="08/17/12">
             <comment>Friends currently online - variable length (Sent when choosing "Welcome" form EQ button)</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4552" name="OP_Rewards" updated="07/18/12">
    +    <opcode id="2ef5" name="OP_Rewards" updated="08/17/12">
             <comment>Server sending pending rewards - variable length</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="000c" name="OP_FTPNags" updated="7/18/12">
    +    <opcode id="4044" name="OP_FTPNags" updated="08/17/12">
             <comment>Free to play nags and other data - 1852 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="50c1" name="OP_Find" updated="07/18/12">
    +    <opcode id="6c36" name="OP_Find" updated="08/17/12">
             <comment>Find window data - 112 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7092" name="OP_ConsiderCorpse" updated="07/18/12">
    +    <opcode id="4675" name="OP_ConsiderCorpse" updated="08/17/12">
             <comment>ConCorpseCode - 20 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="9ca5" name="OP_TributeUpdate" updated="07/18/12">
    +    <opcode id="5a8c" name="OP_TributeUpdate" updated="08/17/12">
             <comment>Tribute and trophy skills - Variable length</comment>
    +        <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
     
             <!-- 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="2018" name="OP_Unknown1" updated="07/18/12">
    +    <opcode id="4d27" name="OP_Unknown1" updated="08/17/12">
             <comment>3 byte opcode that spam logs. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="3f49" name="OP_Unknown2" updated="07/18/12">
    +    <opcode id="190c" name="OP_Unknown2" updated="08/17/12">
             <comment>3 byte opcode that spam logs. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7fd2" name="OP_Unknown3" updated="07/18/12">
    +    <opcode id="25f0" name="OP_Unknown3" updated="08/17/12">
             <comment>3 byte opcode that spam logs. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -637,7 +634,7 @@
             <comment>Coords in a zone that will port you to another zone</comment>
             <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="24D8" name="OP_RequestZoneChange" updated="10/20/07">
    +    <opcode id="0000" name="OP_RequestZoneChange" updated="10/20/07">
             <comment>Send by server when a click causes zone. Also, origin</comment>
             <payload dir="server" typename="requestZoneChangeStruct" sizechecktype="match"/>
         </opcode>
    @@ -645,184 +642,184 @@
             <comment></comment>
             <payload dir="server" typename="none" sizechecktype="match"/>
         </opcode>
    -    <opcode id="097f" name="OP_WelcomeScreenTitle" updated="05/16/11">
    +    <opcode id="0000" name="OP_WelcomeScreenTitle" updated="05/16/11">
         <comment></comment>
         </opcode>
         <opcode id="0000" name="OP_VeteranRewards" update="04/18/11">
             <comment></comment>
         </opcode>
    -    <opcode id="3B85" name="OP_SendAATable" updated="08/12/09">
    +    <opcode id="0000" name="OP_SendAATable" updated="08/12/09">
             <comment></comment>
         </opcode>
    -    <opcode id="5832" name="OP_SendAAStats" updated="08/12/09">
    +    <opcode id="0000" name="OP_SendAAStats" updated="08/12/09">
             <comment></comment>
         </opcode>
    -    <opcode id="4d38" name="OP_AckPacket" updated="03/14/07">
    +    <opcode id="0000" name="OP_AckPacket" updated="03/14/07">
             <comment>Appears to be generic ack at the presentation level</comment>
         </opcode>
    -    <opcode id="70a5" name="OP_Weather" updated="03/14/07">
    +    <opcode id="0000" name="OP_Weather" updated="03/14/07">
             <comment>old WeatherCode</comment>
         </opcode>
    -    <opcode id="5417" name="OP_ReqNewZone" updated="03/14/07">
    +    <opcode id="0000" name="OP_ReqNewZone" updated="03/14/07">
             <comment>Client requesting NewZone_Struct</comment>
         </opcode>
    -    <opcode id="45d2" name="OP_ReqClientSpawn" updated="03/14/07">
    +    <opcode id="0000" name="OP_ReqClientSpawn" updated="03/14/07">
             <comment>Client requesting spawn data</comment>
         </opcode>
         <opcode id="0000" name="OP_SendExpZonein" updated="03/14/07">
             <comment>Both directions. Negotiating sending of exp info.</comment>
         </opcode>
    -    <opcode id="0a4f" name="OP_AAAction" updated="03/14/07">
    +    <opcode id="0000" name="OP_AAAction" updated="03/14/07">
             <comment>Used for changing percent, buying? and activating skills</comment>
         </opcode>
    -    <opcode id="7038" name="OP_SetServerFilter" updated="03/14/07">
    +    <opcode id="0000" name="OP_SetServerFilter" updated="03/14/07">
             <comment>Client telling server /filter information</comment>
         </opcode>
    -    <opcode id="3854" name="OP_ClientReady" updated="03/14/07">
    +    <opcode id="0000" name="OP_ClientReady" updated="03/14/07">
             <comment></comment>
         </opcode>
    -    <opcode id="6774" name="OP_GuildTributeStatus" updated="03/14/07">
    +    <opcode id="0000" name="OP_GuildTributeStatus" updated="03/14/07">
             <comment>Guild tribute stats send on zone</comment>
         </opcode>
    -    <opcode id="28c1" name="OP_GuildTributeInfo" updated="06/13/06">
    +    <opcode id="0000" name="OP_GuildTributeInfo" updated="06/13/06">
             <comment>Guild tribute loadout, only if on</comment>
         </opcode>
    -    <opcode id="063b" name="OP_RespawnWindow" updated="03/14/07">
    +    <opcode id="0000" name="OP_RespawnWindow" updated="03/14/07">
           <comment>Server telling client enough to populate the respawn window when you die</comment>
         </opcode>
    -    <opcode id="314f" name="OP_InitialMobHealth" updated="06/27/12">
    +    <opcode id="0000" name="OP_InitialMobHealth" updated="06/27/12">
             <comment>Initial health sent when a player clicks on the mob. Subsequent updated will be OP_MobHealth</comment>
         </opcode>
    -    <opcode id="311a" name="OP_MobHealth" updated="03/14/07">
    +    <opcode id="0000" name="OP_MobHealth" updated="03/14/07">
             <comment>health sent when a player clicks on the mob</comment>
         </opcode>
    -    <opcode id="16c1" name="OP_DeltaCheck" updated="03/14/07">
    +    <opcode id="0000" name="OP_DeltaCheck" updated="03/14/07">
             <comment>Client sending server delta information.</comment>
         </opcode>
    -    <opcode id="61ac" name="OP_LoadSpellSet" updated="02/13/07">
    +    <opcode id="0000" name="OP_LoadSpellSet" updated="02/13/07">
             <comment>/mem spellsetname</comment>
         </opcode>
    -    <opcode id="00de" name="OP_Dye" updated="10/27/05">
    +    <opcode id="0000" name="OP_Dye" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="31c2" name="OP_Consume" updated="12/07/05">
    +    <opcode id="0000" name="OP_Consume" updated="12/07/05">
             <comment>Client force feeding food/drink</comment>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="13e7" name="OP_Begging" updated="10/27/05">
    +    <opcode id="0000" name="OP_Begging" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="68ac" name="OP_LFGCommand" updated="10/27/05">
    +    <opcode id="0000" name="OP_LFGCommand" updated="10/27/05">
             <comment>old LFGReqCode</comment>
         </opcode>
    -    <opcode id="7ac3" name="OP_Bug" updated="10/27/05">
    +    <opcode id="0000" name="OP_Bug" updated="10/27/05">
             <comment>/bug</comment>
         </opcode>
    -    <opcode id="5c06" name="OP_Save" updated="04/19/06">
    +    <opcode id="0000" name="OP_Save" updated="04/19/06">
             <comment>Client asking server to save user state</comment>
         </opcode>
    -    <opcode id="2eeb" name="OP_Camp" updated="02/13/07">
    +    <opcode id="0000" name="OP_Camp" updated="02/13/07">
             <comment>old cStartCampingCode</comment>
         </opcode>
    -    <opcode id="fe13" name="OP_ShopPlayerSell" updated="10/27/05">
    +    <opcode id="0000" name="OP_ShopPlayerSell" updated="10/27/05">
             <comment>old SellItemCode</comment>
         </opcode>
    -    <opcode id="10a1" name="OP_PetCommands" updated="10/27/05">
    +    <opcode id="0000" name="OP_PetCommands" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="1103" name="OP_SaveOnZoneReq" updated="03/14/07">
    +    <opcode id="0000" name="OP_SaveOnZoneReq" updated="03/14/07">
             <comment></comment>
         </opcode>
    -    <opcode id="7e03" name="OP_ShopEnd" updated="10/27/05">
    +    <opcode id="0000" name="OP_ShopEnd" updated="10/27/05">
             <comment>old CloseVendorCode</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5666" name="OP_SenseTraps" updated="10/27/05">
    +    <opcode id="0000" name="OP_SenseTraps" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="05ac" name="OP_SenseHeading" updated="10/27/05">
    +    <opcode id="0000" name="OP_SenseHeading" updated="10/27/05">
             <comment>old cSenseHeadingCode</comment>
         </opcode> 
    -    <opcode id="528F" name="OP_LootComplete" updated="12/07/05">
    +    <opcode id="0000" name="OP_LootComplete" updated="12/07/05">
             <comment>old sDoneLootingCode</comment>
         </opcode>
    -    <opcode id="10A6" name="OP_Split" updated="10/27/05">
    +    <opcode id="0000" name="OP_Split" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="4668" name="OP_Surname" updated="10/27/05">
    +    <opcode id="0000" name="OP_Surname" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="45f9" name="OP_ShopRequest" updated="10/27/05">
    +    <opcode id="0000" name="OP_ShopRequest" updated="10/27/05">
             <comment>old OpenVendorCode</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0f8e" name="OP_FaceChange" updated="10/27/05">
    +    <opcode id="0000" name="OP_FaceChange" updated="10/27/05">
             <comment>/face</comment>
         </opcode>
    -    <opcode id="4312" name="OP_Sneak" updated="06/29/05">
    +    <opcode id="0000" name="OP_Sneak" updated="06/29/05">
             <comment>Clicked sneak</comment>
         </opcode>
    -    <opcode id="6f64" name="OP_Hide" updated="06/29/05">
    +    <opcode id="0000" name="OP_Hide" updated="06/29/05">
             <comment></comment>
         </opcode>
    -    <opcode id="34e8" name="OP_DisarmTraps" updated="05/11/05">
    +    <opcode id="0000" name="OP_DisarmTraps" updated="05/11/05">
             <comment>Clicked disarm traps</comment>
         </opcode>
    -    <opcode id="7c33" name="OP_Forage" updated="10/27/05">
    +    <opcode id="0000" name="OP_Forage" updated="10/27/05">
             <comment>old ForageCode</comment>
         </opcode>
    -    <opcode id="4298" name="OP_BoardBoat" updated="10/27/05">
    +    <opcode id="0000" name="OP_BoardBoat" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="67c9" name="OP_LeaveBoat" updated="10/27/05">
    +    <opcode id="0000" name="OP_LeaveBoat" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="35a6" name="OP_LFPGetMatchesRequest" updated="10/27/05">
    +    <opcode id="0000" name="OP_LFPGetMatchesRequest" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="6980" name="OP_GMKill" updated="10/27/05">
    +    <opcode id="0000" name="OP_GMKill" updated="10/27/05">
             <comment>GM /kill - Insta kill mob/pc</comment>
         </opcode>
    -    <opcode id="17a2" name="OP_GuildPublicNote" updated="10/27/05">
    +    <opcode id="0000" name="OP_GuildPublicNote" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="61ef" name="OP_YellForHelp" updated="10/27/05">
    +    <opcode id="0000" name="OP_YellForHelp" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="0af6" name="OP_ShopPlayerBuy" updated="05/11/05">
    +    <opcode id="0000" name="OP_ShopPlayerBuy" updated="05/11/05">
             <comment>old BuyItemCode</comment>
         </opcode>
    -    <opcode id="6f82" name="OP_LFPCommand" updated="10/27/05">
    +    <opcode id="0000" name="OP_LFPCommand" updated="10/27/05">
             <comment>looking for players</comment>
         </opcode>
    -    <opcode id="3838" name="OP_ConfirmDelete" updated="10/27/05">
    +    <opcode id="0000" name="OP_ConfirmDelete" updated="10/27/05">
             <comment>Client sends this to server to confirm op_deletespawn</comment>
         </opcode>
    -    <opcode id="0375" name="OP_Report" updated="06/29/05">
    +    <opcode id="0000" name="OP_Report" updated="06/29/05">
             <comment></comment>
         </opcode>
    -    <opcode id="40b6" name="OP_TargetCommand" updated="02/13/07">
    +    <opcode id="0000" name="OP_TargetCommand" updated="02/13/07">
             <comment>Target user</comment>
         </opcode>
    -    <opcode id="212d" name="OP_LFPGetMatchesResponse" updated="02/13/07">
    +    <opcode id="0000" name="OP_LFPGetMatchesResponse" updated="02/13/07">
             <comment></comment>
         </opcode>
    -    <opcode id="1089" name="OP_FindPersonRequest" updated="02/13/07">
    +    <opcode id="0000" name="OP_FindPersonRequest" updated="02/13/07">
             <comment>Control-F Find</comment>
         </opcode>
    -    <opcode id="71b1" name="OP_FindResponse" updated="02/13/07">
    +    <opcode id="0000" name="OP_FindResponse" updated="02/13/07">
             <comment>Response to control-F</comment>
         </opcode>
    -    <opcode id="23a1" name="OP_GMLastName" updated="10/27/05">
    +    <opcode id="0000" name="OP_GMLastName" updated="10/27/05">
             <comment>GM /lastname - Change user lastname</comment>
         </opcode>
    -    <opcode id="14ef" name="OP_Mend" updated="10/27/05">
    +    <opcode id="0000" name="OP_Mend" updated="10/27/05">
             <comment></comment>
         </opcode>
    -    <opcode id="1ffa" name="OP_MendHPUpdate" updated="05/11/05">
    +    <opcode id="0000" name="OP_MendHPUpdate" updated="05/11/05">
             <comment></comment>
         </opcode>
    -    <opcode id="4775" name="OP_TributeInfo" updated="02/13/07">
    +    <opcode id="0000" name="OP_TributeInfo" updated="02/13/07">
             <comment>Tribute information</comment>
         </opcode>
     
    diff -u -r Makefile.am Makefile.am
    --- Makefile.am    2012-07-27 19:26:38.000000000 -0400
    +++ Makefile.am    2012-08-15 22:02:19.819642243 -0400
    @@ -8,7 +8,7 @@
     EXTRA_DIST = BUGS ChangeLog FAQ INSTALL.newbies Makefile.dist README.libEQ \
     ROADMAP showeq.1 TODO showeq.kdevelop Doxyfile depcomp $(DX_CONFIG)
     
    -MAINTAINERCLEANFILES = aclocal.m4 config.guess config.sub configure \
    +MAINTAINERCLEANFILES = aclocal.m4 config.h.in config.sub configure \
     Makefile.in ltconfig libqt2.dbg libqt3.dbg Makefile.dist.dbg \
     configure.dbg config.log ltmain.sh stamp-h.in stamp-h qt.tag depcomp
     
    diff -u -r src/everquest.h src/everquest.h
    --- src/everquest.h    2012-07-22 21:33:52.000000000 -0400
    +++ src/everquest.h    2012-08-29 17:41:43.120738343 -0400
    @@ -408,7 +408,7 @@
     
     /* 
      * Used in charProfileStruct
    - * Size: 4 bytes
    + * Size: 4 Octets
      */
     struct Color_Struct
     {
    @@ -426,10 +426,8 @@
     };
     
     /*
    -** Buffs
    -** Length: 88 Octets
    -** Used in:
    -**    charProfileStruct
    +* Used in charProfileStruct. Buffs
    +* Length: 88 Octets
     */
     struct spellBuff
     {
    @@ -450,7 +448,7 @@
     
     /* 
      * Used in charProfileStruct
    - * Size: 12 octets
    + * Size: 12 Octets
      */
     struct AA_Array
     {
    @@ -461,7 +459,7 @@
     };
     
     /**
    - * An item inline in the stream, used in Bandolier and Potion Belt.
    + * Used in charProfileStruct. An item inline in the stream, used in Bandolier and Potion Belt.
      * Size: 72 Octets 
      */
     struct InlineItem
    @@ -487,7 +485,7 @@
     };
     
     /**
    - * A tribute a player can have loaded.
    + * Used in charProfileStruct. A tribute a player can have loaded.
      * Size: 8 Octets 
      */
     struct TributeStruct
    @@ -498,7 +496,7 @@
     };
     
     /**
    - * A bind point.
    + * Used in charProfileStruct. A bind point.
      * Size: 20 Octets
      */
     struct BindStruct
    @@ -512,8 +510,8 @@
     };
     
     /*
    - * Visible equiptment.
    - * Size: 16 Octets
    + * Used in charProfileStruct. Visible Equipment.
    + * Size: 20 Octets
      */
     struct EquipStruct
     {
    @@ -521,7 +519,8 @@
     /*04*/ uint32_t equip1;
     /*08*/ uint32_t equip2;
     /*12*/ uint32_t itemId;
    -/*16*/
    +/*16*/ uint32_t equip3;
    +/*20*/
     };
     
     /*
    @@ -665,176 +664,176 @@
      */
     struct playerProfileStruct
     {
    -/*00004*/ uint32_t  gender;                      // Player Gender - 0 Male, 1 Female
    -/*00008*/ uint32_t  race;                        // Player race
    -/*00012*/ uint32_t  class_;                      // Player class
    -/*00016*/ uint8_t   unknown00016[40];            // ***Placeholder
    -/*00056*/ uint8_t   level;                       // Level of player
    -/*00057*/ uint8_t   level1;                      // Level of player (again?)
    -/*00058*/ uint8_t   unknown00058[2];             // ***Placeholder
    -/*00060*/ BindStruct binds[5];                   // Bind points (primary is first)
    -/*00160*/ uint32_t  deity;                       // deity
    -/*00164*/ uint32_t  intoxication;                // Alcohol level (in ticks till sober?)
    -/*00168*/ uint32_t  spellSlotRefresh[13];        // Refresh time (millis)
    -/*00220*/ uint8_t   haircolor;                   // Player hair color
    -/*00221*/ uint8_t   beardcolor;                  // Player beard color
    -/*00222*/ uint8_t unknown00222[6];
    -/*00228*/ uint8_t   eyecolor1;                   // Player left eye color
    -/*00229*/ uint8_t   eyecolor2;                   // Player right eye color
    -/*00230*/ uint8_t   hairstyle;                   // Player hair style
    -/*00231*/ uint8_t   beard;                       // Player beard type
    -/*00232*/ uint8_t   unknown00232[4];
    +/*00004*/ uint32_t  gender;                           // Player Gender - 0 Male, 1 Female
    +/*00008*/ uint32_t  race;                             // Player race
    +/*00012*/ uint32_t  class_;                           // Player class
    +/*00016*/ uint8_t   unknown00016[40];                 // ***Placeholder
    +/*00056*/ uint8_t   level;                            // Level of player
    +/*00057*/ uint8_t   level1;                           // Level of player (again?)
    +/*00058*/ uint8_t   unknown00058[2];                  // ***Placeholder
    +/*00060*/ BindStruct binds[5];                        // Bind points (primary is first)
    +/*00160*/ uint32_t  deity;                            // deity
    +/*00164*/ uint32_t  intoxication;                     // Alcohol level (in ticks till sober?)
    +/*00168*/ uint32_t  spellSlotRefresh[13];             // Refresh time (millis)
    +/*00220*/ uint8_t   haircolor;                        // Player hair color
    +/*00221*/ uint8_t   beardcolor;                       // Player beard color
    +/*00222*/ uint8_t   unknown00222[6];                  // *** Placeholder
    +/*00228*/ uint8_t   eyecolor1;                        // Player left eye color
    +/*00229*/ uint8_t   eyecolor2;                        // Player right eye color
    +/*00230*/ uint8_t   hairstyle;                        // Player hair style
    +/*00231*/ uint8_t   beard;                            // Player beard type
    +/*00232*/ uint8_t   unknown00232[4];                  // *** Placeholder
     /*00236*/ union
              {
                struct
                {
    -               /*00236*/ EquipStruct equip_helmet;     // Equiptment: Helmet visual
    -               /*00252*/ EquipStruct equip_chest;      // Equiptment: Chest visual
    -               /*00268*/ EquipStruct equip_arms;       // Equiptment: Arms visual
    -               /*00284*/ EquipStruct equip_bracers;    // Equiptment: Wrist visual
    -               /*00300*/ EquipStruct equip_hands;      // Equiptment: Hands visual
    -               /*00316*/ EquipStruct equip_legs;       // Equiptment: Legs visual
    -               /*00332*/ EquipStruct equip_feet;       // Equiptment: Boots visual
    -               /*00348*/ EquipStruct equip_primary;    // Equiptment: Main visual
    -               /*00364*/ EquipStruct equip_secondary;  // Equiptment: Off visual
    +               /*00236*/ EquipStruct equip_helmet;         // Equipment: Helmet visual
    +               /*00256*/ EquipStruct equip_chest;          // Equipment: Chest visual
    +               /*00276*/ EquipStruct equip_arms;           // Equipment: Arms visual
    +               /*00296*/ EquipStruct equip_bracers;        // Equipment: Wrist visual
    +               /*00316*/ EquipStruct equip_hands;          // Equipment: Hands visual
    +               /*00336*/ EquipStruct equip_legs;           // Equipment: Legs visual
    +               /*00356*/ EquipStruct equip_feet;           // Equipment: Boots visual
    +               /*00376*/ EquipStruct equip_primary;        // Equipment: Main visual
    +               /*00396*/ EquipStruct equip_secondary;      // Equipment: Off visual
                } equip;
    -            /*00380*/ EquipStruct equipment[9];
    +            /*00416*/ EquipStruct equipment[9];
              };
    -/*00380*/ uint8_t unknown00380[220];
    -/*00600*/ Color_Struct item_tint[9];             // RR GG BB 00
    -/*00636*/ AA_Array  aa_array[MAX_AA];            // AAs
    -/*04236*/ uint32_t  points;                      // Unspent Practice points
    -/*04240*/ uint32_t  MANA;                        // Current MANA
    -/*04244*/ uint32_t  curHp;                       // Current HP without +HP equipment
    -/*04248*/ uint32_t  STR;                         // Strength
    -/*04252*/ uint32_t  STA;                         // Stamina
    -/*04256*/ uint32_t  CHA;                         // Charisma
    -/*04260*/ uint32_t  DEX;                         // Dexterity
    -/*04264*/ uint32_t  INT;                         // Intelligence
    -/*04268*/ uint32_t  AGI;                         // Agility
    -/*04272*/ uint32_t  WIS;                         // Wisdom
    -/*04276*/ uint8_t   unknown04276[28];
    -/*04304*/ uint32_t  face;                        // Player face
    -/*04308*/ uint8_t unknown04308[180];
    -/*04488*/ int32_t   sSpellBook[720];             // List of the Spells in spellbook
    -/*07368*/ int32_t   sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized
    -/*07416*/ uint8_t unknown07416[20];
    -/*07436*/ uint32_t  platinum;                    // Platinum Pieces on player
    -/*07442*/ uint32_t  gold;                        // Gold Pieces on player
    -/*07444*/ uint32_t  silver;                      // Silver Pieces on player
    -/*07448*/ uint32_t  copper;                      // Copper Pieces on player
    -/*07452*/ uint32_t  platinum_cursor;             // Platinum Pieces on cursor
    -/*07456*/ uint32_t  gold_cursor;                 // Gold Pieces on cursor
    -/*07460*/ uint32_t  silver_cursor;               // Silver Pieces on cursor
    -/*07464*/ uint32_t  copper_cursor;               // Copper Pieces on cursor
    -/*07468*/ uint32_t  skills[MAX_KNOWN_SKILLS];    // List of skills
    -/*07868*/ uint32_t  innateSkills[25];
    -/*07968*/ uint8_t unknown07968[16];
    -/*07984*/ uint32_t  toxicity;                    // Potion Toxicity (15=too toxic, each potion adds 3)
    -/*07988*/ uint32_t  thirst;                      // Drink (ticks till next drink)
    -/*07992*/ uint32_t  hunger;                      // Food (ticks till next eat)
    -/*07996*/ uint8_t unknown07996[20];
    -/*08016*/ spellBuff buffs[MAX_BUFFS];            // Buffs currently on the player
    -/*11712*/ uint32_t  disciplines[MAX_DISCIPLINES];// Known disciplines
    -/*12112*/ uint8_t unknown12112[400];
    -/*12312*/ uint32_t recastTimers[MAX_RECAST_TYPES];// Timers (GMT of last use)
    -/*12592*/ uint8_t unknown12592[480];
    -/*13072*/ uint32_t  endurance;                   // Current endurance
    -/*13076*/ uint32_t  aa_spent;                    // Number of spent AA points (including glyphs)
    -/*13080*/ uint32_t  aa_assigned;                 // Number of points currently assigned to AAs
    -/*13084*/ uint32_t unknown13084[4];
    -/*13100*/ uint32_t  aa_unspent;                  // Unspent AA points
    -/*13104*/ uint8_t unknown13104[4];
    -/*13108*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents
    -/*19508*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt
    -/*19868*/ uint8_t unknown19868[92];
    -/*19960*/
    +/*00416*/ uint8_t   unknown00416[268];                // *** Placeholder
    +/*00688*/ Color_Struct item_tint[9];                  // RR GG BB 00
    +/*00724*/ AA_Array  aa_array[MAX_AA];                 // AAs
    +/*04324*/ uint32_t  points;                           // Unspent Practice points
    +/*04328*/ uint32_t  MANA;                             // Current MANA
    +/*04332*/ uint32_t  curHp;                            // Current HP without +HP equipment
    +/*04336*/ uint32_t  STR;                              // Strength
    +/*04340*/ uint32_t  STA;                              // Stamina
    +/*04344*/ uint32_t  CHA;                              // Charisma
    +/*04348*/ uint32_t  DEX;                              // Dexterity
    +/*04352*/ uint32_t  INT;                              // Intelligence
    +/*04356*/ uint32_t  AGI;                              // Agility
    +/*04360*/ uint32_t  WIS;                              // Wisdom
    +/*04364*/ uint8_t   unknown04364[28];                 // *** Placeholder
    +/*04392*/ uint32_t  face;                             // Player face
    +/*04396*/ uint8_t   unknown04396[180];                // *** Placeholder
    +/*04576*/ int32_t   sSpellBook[729];                  // List of the Spells in spellbook
    +/*07492*/ int32_t   sMemSpells[MAX_SPELL_SLOTS];      // List of spells memorized
    +/*07540*/ uint8_t   unknown07540[20];                 // *** Placeholder
    +/*07560*/ uint32_t  platinum;                         // Platinum Pieces on player
    +/*07564*/ uint32_t  gold;                             // Gold Pieces on player
    +/*07568*/ uint32_t  silver;                           // Silver Pieces on player
    +/*07572*/ uint32_t  copper;                           // Copper Pieces on player
    +/*07576*/ uint32_t  platinum_cursor;                  // Platinum Pieces on cursor
    +/*07580*/ uint32_t  gold_cursor;                      // Gold Pieces on cursor
    +/*07584*/ uint32_t  silver_cursor;                    // Silver Pieces on cursor
    +/*07588*/ uint32_t  copper_cursor;                    // Copper Pieces on cursor
    +/*07592*/ uint32_t  skills[MAX_KNOWN_SKILLS];         // List of skills
    +/*07992*/ uint32_t  innateSkills[26];                 // innateSkills
    +/*08096*/ uint8_t   unknown08096[16];                 // *** Placeholder
    +/*08112*/ uint32_t  toxicity;                         // Potion Toxicity (15=too toxic, each potion adds 3)
    +/*08116*/ uint32_t  thirst;                           // Drink (ticks till next drink)
    +/*08120*/ uint32_t  hunger;                           // Food (ticks till next eat)
    +/*08124*/ uint8_t   unknown08124[20];                 // *** Placeholder
    +/*08140*/ spellBuff buffs[MAX_BUFFS];                 // Buffs currently on the player
    +/*11836*/ uint32_t  disciplines[MAX_DISCIPLINES];     // Known disciplines
    +/*12236*/ uint8_t   unknown12236[400];                // *** Placeholder
    +/*12636*/ uint32_t recastTimers[MAX_RECAST_TYPES];    // Timers (GMT of last use)
    +/*12716*/ uint8_t   unknown12716[480];                // *** Placeholder
    +/*13196*/ uint32_t  endurance;                        // Current endurance
    +/*13200*/ uint32_t  aa_spent;                         // Number of spent AA points (including glyphs)
    +/*13204*/ uint32_t  aa_assigned;                      // Number of points currently assigned to AAs
    +/*13208*/ uint32_t   unknown13208[4];                 // *** Placeholder
    +/*13224*/ uint32_t  aa_unspent;                       // Unspent AA points
    +/*13228*/ uint8_t   unknown13228[4];                  // *** Placeholder
    +/*13232*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents
    +/*19632*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt
    +/*19992*/ uint8_t   unknown19992[92];                 // *** Placeholder
    +/*20084*/
      };
     
     /*
     ** Player Profile
    -** Length: 33784 Octets
    +** Length: 33904 Octets
     ** OpCode: CharProfileCode
     */
     struct charProfileStruct
     {
    -/*00000*/ uint32_t  checksum;                    //
    -/*00004*/ playerProfileStruct profile;           // Profile
    -/*19960*/ char      name[64];                    // Name of player
    -/*20024*/ char      lastName[32];                // Last name of player
    -/*20054*/ uint8_t   unknown20054[12];            //***Placeholder (1/18/2006)
    -/*20066*/ int32_t   guildID;                     // guildID
    -/*20070*/ uint32_t  birthdayTime;                // character birthday
    -/*20074*/ uint32_t  lastSaveTime;                // character last save time
    -/*20078*/ uint32_t  timePlayedMin;               // time character played
    -/*20082*/ uint8_t unknown20082[4];
    -/*20086*/ uint8_t   pvp;                         // 1=pvp, 0=not pvp
    -/*20087*/ uint8_t   anon;                        // 2=roleplay, 1=anon, 0=not anon
    -/*20088*/ uint8_t   gm;                          // 0=no, 1=yes (guessing!)
    -/*20089*/ int8_t    guildstatus;                 // 0=member, 1=officer, 2=guildleader
    -/*20090*/ uint8_t unknown20090[16];
    -/*20106*/ uint32_t  exp;                         // Current Experience
    -/*20110*/ uint8_t unknown20110[12];
    -/*20122*/ uint8_t   languages[MAX_KNOWN_LANGS];  // List of languages    ccc
    -/*20150*/ uint8_t unknown20150[6];               // All 0x00 (language buffer?)
    -/*20156*/ float     y;                           // Players y position
    -/*20160*/ float     x;                           // Players x position
    -/*20164*/ float     z;                           // Players z position
    -/*20168*/ float     heading;                     // Players heading
    -/*20172*/ uint32_t  standState;                  // 0x64 = stand
    -/*20176*/ uint32_t  platinum_bank;               // Platinum Pieces in Bank
    -/*20180*/ uint32_t  gold_bank;                   // Gold Pieces in Bank
    -/*20184*/ uint32_t  silver_bank;                 // Silver Pieces in Bank
    -/*20188*/ uint32_t  copper_bank;                 // Copper Pieces in Bank
    -/*20192*/ uint32_t  platinum_shared;             // Shared platinum pieces
    -/*20196*/ uint8_t unknown20196[6220];            // Added 1088 for HoT
    -/*26416*/ uint32_t  expansions;                  // Bitmask for expansions
    -/*26420*/ uint8_t unknown22324[12];
    -/*26432*/ uint32_t  autosplit;                   // 0 = off, 1 = on
    -/*26436*/ uint8_t unknown22340[16];
    -/*26452*/ uint16_t  zoneId;                      // see zones.h
    -/*26454*/ uint16_t  zoneInstance;                // Instance id
    -/*26456*/ uint8_t unknown22360[992];
    -/*27488*/ uint32_t  leadAAActive;                // 0 = leader AA off, 1 = leader AA on
    -/*27452*/ uint8_t unknown23356[4];
    -/*27456*/ uint32_t  ldon_guk_points;             // Earned GUK points
    -/*27460*/ uint32_t  ldon_mir_points;             // Earned MIR points
    -/*27464*/ uint32_t  ldon_mmc_points;             // Earned MMC points
    -/*27468*/ uint32_t  ldon_ruj_points;             // Earned RUJ points
    -/*27472*/ uint32_t  ldon_tak_points;             // Earned TAK points
    -/*27476*/ uint32_t  ldon_avail_points;           // Available LDON points
    -/*27480*/ uint8_t unknown23384[144];
    -/*27624*/ uint32_t  tributeTime;                 // Time remaining on tribute (millisecs)
    -/*27628*/ uint32_t  careerTribute;               // Total favor points for this char
    -/*27632*/ uint32_t  unknown23536;                // *** Placeholder
    -/*27636*/ uint32_t  currentTribute;              // Current tribute points
    -/*27640*/ uint32_t  unknown23544;                // *** Placeholder
    -/*27644*/ uint32_t  tributeActive;               // 0 = off, 1=on
    -/*27648*/ TributeStruct tributes[MAX_TRIBUTES];  // Current tribute loadout
    -/*27688*/ uint8_t unknown23592[84];              // Added 208 bytes for HoT BETA
    -/*27772*/ float     expGroupLeadAA;              // Current group lead exp points
    -/*27776*/ uint32_t unknown23680;
    -/*27780*/ float     expRaidLeadAA;               // Current raid lead AA exp points
    -/*27784*/ uint32_t unknown23688;
    -/*27788*/ uint32_t  groupLeadAAUnspent;          // Unspent group lead AA points
    -/*27792*/ uint32_t  raidLeadAAUnspent;           // Unspent raid lead AA points
    -/*27796*/ uint32_t  leadershipAAs[MAX_LEAD_AA];  // Leader AA ranks
    -/*27924*/ uint8_t unknown23828[128];
    -/*28052*/ uint32_t  airRemaining;                // Air supply (seconds)
    -/*28056*/ uint8_t unknown23960[4608];
    -/*32664*/ uint32_t  expAA;                       // Exp earned in current AA point
    -/*32668*/ uint8_t unknown28572[40];
    -/*32708*/ uint32_t  currentRadCrystals;          // Current count of radiant crystals
    -/*32712*/ uint32_t  careerRadCrystals;           // Total count of radiant crystals ever
    -/*32716*/ uint32_t  currentEbonCrystals;         // Current count of ebon crystals
    -/*32720*/ uint32_t  careerEbonCrystals;          // Total count of ebon crystals ever
    -/*32724*/ uint8_t   groupAutoconsent;            // 0=off, 1=on
    -/*32725*/ uint8_t   raidAutoconsent;             // 0=off, 1=on
    -/*32726*/ uint8_t   guildAutoconsent;            // 0=off, 1=on
    -/*32727*/ uint8_t   unknown28631[5];             // ***Placeholder (6/29/2005)
    -/*32732*/ uint32_t  showhelm;                    // 0=no, 1=yes
    -/*32736*/ uint8_t   unknown28640[1048];          // ***Placeholder (2/13/2007)
    -/*33784*/
    +/*00000*/ uint32_t  checksum;                         //
    +/*00004*/ playerProfileStruct profile;                // Profile
    +/*20084*/ char      name[64];                         // Name of player
    +/*20148*/ char      lastName[32];                     // Last name of player
    +/*20180*/ uint8_t   unknown20180[8];                  // *** Placeholder
    +/*20188*/ int32_t   guildID;                          // guildID
    +/*20192*/ uint32_t  birthdayTime;                     // character birthday
    +/*20196*/ uint32_t  lastSaveTime;                     // character last save time
    +/*20200*/ uint32_t  timePlayedMin;                    // time character played
    +/*20204*/ uint8_t   unknown20204[4];                  // *** Placeholder
    +/*20208*/ uint8_t   pvp;                              // 1=pvp, 0=not pvp
    +/*20209*/ uint8_t   anon;                             // 2=roleplay, 1=anon, 0=not anon
    +/*20210*/ uint8_t   gm;                               // 0=no, 1=yes (guessing!)
    +/*20211*/ int8_t    guildstatus;                      // 0=member, 1=officer, 2=guildleader
    +/*20212*/ uint8_t   unknown20212[16];                 // *** Placeholder
    +/*20228*/ uint32_t  exp;                              // Current Experience
    +/*20232*/ uint8_t   unknown20232[12];                 // *** Placeholder
    +/*20244*/ uint8_t   languages[MAX_KNOWN_LANGS];       // List of languages
    +/*20270*/ uint8_t   unknown20272[6];                  // All 0x00 (language buffer?)
    +/*20276*/ float     y;                                // Players y position
    +/*20280*/ float     x;                                // Players x position
    +/*20284*/ float     z;                                // Players z position
    +/*20288*/ float     heading;                          // Players heading
    +/*20292*/ uint32_t  standState;                       // 0x64 = stand
    +/*20296*/ uint32_t  platinum_bank;                    // Platinum Pieces in Bank
    +/*20300*/ uint32_t  gold_bank;                        // Gold Pieces in Bank
    +/*20304*/ uint32_t  silver_bank;                      // Silver Pieces in Bank
    +/*20308*/ uint32_t  copper_bank;                      // Copper Pieces in Bank
    +/*20312*/ uint32_t  platinum_shared;                  // Shared platinum pieces
    +/*20316*/ uint8_t   unknown20316[6220];               // *** Placeholder
    +/*26536*/ uint32_t  expansions;                       // Bitmask for expansions
    +/*26540*/ uint8_t   unknown22540[12];                 // *** Placeholder
    +/*26552*/ uint32_t  autosplit;                        // 0 = off, 1 = on
    +/*26556*/ uint8_t   unknown26556[16];                 // *** Placeholder
    +/*26572*/ uint16_t  zoneId;                           // see zones.h
    +/*26574*/ uint16_t  zoneInstance;                     // Instance id
    +/*26576*/ uint8_t   unknown26576[992];                // *** Placeholder
    +/*27568*/ uint32_t  leadAAActive;                     // 0 = leader AA off, 1 = leader AA on
    +/*27572*/ uint8_t   unknown27572[4];                  // *** Placeholder
    +/*27576*/ uint32_t  ldon_guk_points;                  // Earned GUK points
    +/*27580*/ uint32_t  ldon_mir_points;                  // Earned MIR points
    +/*27584*/ uint32_t  ldon_mmc_points;                  // Earned MMC points
    +/*27588*/ uint32_t  ldon_ruj_points;                  // Earned RUJ points
    +/*27592*/ uint32_t  ldon_tak_points;                  // Earned TAK points
    +/*27596*/ uint32_t  ldon_avail_points;                // Available LDON points
    +/*27600*/ uint8_t   unknown27600[144];                // *** Placeholder
    +/*27744*/ uint32_t  tributeTime;                      // Time remaining on tribute (millisecs)
    +/*27748*/ uint32_t  careerTribute;                    // Total favor points for this char
    +/*27752*/ uint32_t  unknown23536;                     // *** Placeholder
    +/*27756*/ uint32_t  currentTribute;                   // Current tribute points
    +/*27760*/ uint32_t  unknown23544;                     // *** Placeholder
    +/*27764*/ uint32_t  tributeActive;                    // 0 = off, 1=on
    +/*27768*/ TributeStruct tributes[MAX_TRIBUTES];       // Current tribute loadout
    +/*27808*/ uint8_t   unknown27808[100];                // *** Placeholder
    +/*27908*/ float     expGroupLeadAA;                   // Current group lead exp points
    +/*27912*/ float     expRaidLeadAA;                    // Current raid lead AA exp points
    +/*27916*/ uint32_t  groupLeadAAUnspent;               // Unspent group lead AA points
    +/*27920*/ uint32_t  unknown27920;                     // ***Placeholder
    +/*27924*/ uint32_t  raidLeadAAUnspent;                // Unspent raid lead AA points
    +/*27928*/ uint32_t  unknown27928;                     // ***Placeholder
    +/*27932*/ uint32_t  leadershipAAs[MAX_LEAD_AA];       // Leader AA ranks
    +/*28060*/ uint8_t   unknown28060[128];                // *** Placeholder
    +/*28188*/ uint32_t  airRemaining;                     // Air supply (seconds)
    +/*28192*/ uint8_t   unknown28192[4592];               // *** Placeholder
    +/*32784*/ uint32_t  expAA;                            // Exp earned in current AA point
    +/*32788*/ uint8_t   unknown32788[40];                 // *** Placeholder
    +/*32828*/ uint32_t  currentRadCrystals;               // Current count of radiant crystals
    +/*32832*/ uint32_t  careerRadCrystals;                // Total count of radiant crystals ever
    +/*32836*/ uint32_t  currentEbonCrystals;              // Current count of ebon crystals
    +/*32840*/ uint32_t  careerEbonCrystals;               // Total count of ebon crystals ever
    +/*32844*/ uint8_t   groupAutoconsent;                 // 0=off, 1=on
    +/*32845*/ uint8_t   raidAutoconsent;                  // 0=off, 1=on
    +/*32846*/ uint8_t   guildAutoconsent;                 // 0=off, 1=on
    +/*32847*/ uint8_t   unknown32487[5];                  // ***Placeholder (6/29/2005)
    +/*32852*/ uint32_t  showhelm;                         // 0=no, 1=yes
    +/*32856*/ uint8_t   unknown32856[1048];               // ***Placeholder (2/13/2007)
    +/*33904*/
      };
     
     #if 0
    @@ -1108,15 +1107,15 @@
              {
                struct
                {
    -               /*0000*/ EquipStruct equip_helmet;     // Equiptment: Helmet visual
    -               /*0000*/ EquipStruct equip_chest;      // Equiptment: Chest visual
    -               /*0000*/ EquipStruct equip_arms;       // Equiptment: Arms visual
    -               /*0000*/ EquipStruct equip_bracers;    // Equiptment: Wrist visual
    -               /*0000*/ EquipStruct equip_hands;      // Equiptment: Hands visual
    -               /*0000*/ EquipStruct equip_legs;       // Equiptment: Legs visual
    -               /*0000*/ EquipStruct equip_feet;       // Equiptment: Boots visual
    -               /*0000*/ EquipStruct equip_primary;    // Equiptment: Main visual
    -               /*0000*/ EquipStruct equip_secondary;  // Equiptment: Off visual
    +               /*0000*/ EquipStruct equip_helmet;     // Equipment: Helmet visual
    +               /*0000*/ EquipStruct equip_chest;      // Equipment: Chest visual
    +               /*0000*/ EquipStruct equip_arms;       // Equipment: Arms visual
    +               /*0000*/ EquipStruct equip_bracers;    // Equipment: Wrist visual
    +               /*0000*/ EquipStruct equip_hands;      // Equipment: Hands visual
    +               /*0000*/ EquipStruct equip_legs;       // Equipment: Legs visual
    +               /*0000*/ EquipStruct equip_feet;       // Equipment: Boots visual
    +               /*0000*/ EquipStruct equip_primary;    // Equipment: Main visual
    +               /*0000*/ EquipStruct equip_secondary;  // Equipment: Off visual
                } equip;
                 /*0000*/ EquipStruct equipment[9];
              };
    @@ -1246,15 +1245,15 @@
              {
                struct
                {
    -               /*0000*/ EquipStruct equip_helmet;     // Equiptment: Helmet visual
    -               /*0000*/ EquipStruct equip_chest;      // Equiptment: Chest visual
    -               /*0000*/ EquipStruct equip_arms;       // Equiptment: Arms visual
    -               /*0000*/ EquipStruct equip_bracers;    // Equiptment: Wrist visual
    -               /*0000*/ EquipStruct equip_hands;      // Equiptment: Hands visual
    -               /*0000*/ EquipStruct equip_legs;       // Equiptment: Legs visual
    -               /*0000*/ EquipStruct equip_feet;       // Equiptment: Boots visual
    -               /*0000*/ EquipStruct equip_primary;    // Equiptment: Main visual
    -               /*0000*/ EquipStruct equip_secondary;  // Equiptment: Off visual
    +               /*0000*/ EquipStruct equip_helmet;     // Equipment: Helmet visual
    +               /*0000*/ EquipStruct equip_chest;      // Equipment: Chest visual
    +               /*0000*/ EquipStruct equip_arms;       // Equipment: Arms visual
    +               /*0000*/ EquipStruct equip_bracers;    // Equipment: Wrist visual
    +               /*0000*/ EquipStruct equip_hands;      // Equipment: Hands visual
    +               /*0000*/ EquipStruct equip_legs;       // Equipment: Legs visual
    +               /*0000*/ EquipStruct equip_feet;       // Equipment: Boots visual
    +               /*0000*/ EquipStruct equip_primary;    // Equipment: Main visual
    +               /*0000*/ EquipStruct equip_secondary;  // Equipment: Off visual
                } equip;
                /*0000*/ EquipStruct equipment[9];
              };
    @@ -1475,7 +1474,7 @@
     
     /*
     ** Illusion a spawn
    -** Length: 300 Octets
    +** Length: 336 Octets
     ** OpCode: Illusion
     */
     struct spawnIllusionStruct
    @@ -1489,8 +1488,8 @@
     /*0075*/ uint8_t    unknown0075;                 // ***Placeholder
     /*0076*/ uint32_t   unknown0076;                 // ***Placeholder
     /*0080*/ uint32_t   face;                        // New face
    -/*0084*/ uint8_t    unknown0084[216];            // ***Placeholder
    -/*0300*/
    +/*0084*/ uint8_t    unknown0084[252];            // ***Placeholder
    +/*0336*/
     };
     
     /**
    @@ -2058,7 +2057,7 @@
     struct manaDecrementStruct
     {
     /*0000*/ int32_t newMana;                        // New Mana AMount
    -/*0004*/ int32_t unknown;
    +/*0004*/ int32_t unknown;                        // Looks like endurance but not sure why that'd be reported here
     /*0008*/ int32_t spellId;                        // Last Spell Cast
     /*0012*/ uint8_t unknown0012[4];
     /*0016*/ uint8_t unknown0016[4];                 //*** Placeholder (02/13/07)
    @@ -2225,7 +2224,7 @@
     
     /*
     ** Player Spawn Update
    -** Length: 23 Octets
    +** Length: 27 Octets
     ** OpCode: SpawnUpdateCode
     */
     
    @@ -2236,8 +2235,8 @@
     /*0004*/ int16_t  arg1;                          // first option
     /*0006*/ int16_t  arg2;                          // second option
     /*0008*/ uint8_t  arg3;                          // third option?
    -/*0009*/ uint8_t unknown0009[14];
    -/*0023*/
    +/*0009*/ uint8_t unknown0009[18];
    +/*0027*/
     };
     
     /*
    @@ -2559,7 +2558,7 @@
     
     /*
     ** Guild Member Update structure 
    -** Length: 76 octets
    +** Length: 76 Octets
     **
     */
     
    diff -u -r src/spawnshell.cpp src/spawnshell.cpp
    --- src/spawnshell.cpp    2012-04-04 00:19:40.000000000 -0400
    +++ src/spawnshell.cpp    2012-08-29 16:55:30.537483951 -0400
    @@ -663,13 +663,14 @@
           netStream.skipBytes(36);
           for(i = 0; i < 9; i++)
           {
    +     spawn->equipment[i].equip3 = netStream.readUInt32NC();
              spawn->equipment[i].itemId = netStream.readUInt32NC();
              spawn->equipment[i].equip2 = netStream.readUInt32NC();
              spawn->equipment[i].equip1 = netStream.readUInt32NC();
              spawn->equipment[i].equip0 = netStream.readUInt32NC();
           }
        } else {
    -      netStream.skipBytes(16);
    +      netStream.skipBytes(28);
           spawn->equipment[7].itemId = netStream.readUInt32NC();
           spawn->equipment[7].equip2 = netStream.readUInt32NC();
           spawn->equipment[7].equip1 = netStream.readUInt32NC();
    Last edited by fransick; 08-29-2012 at 04:47 PM.

  10. #25
    Registered User
    Join Date
    Oct 2007
    Posts
    5

    Re: SEQ Borked with 8/15 patch.

    fransick,

    I can give it a go. I have a fresh build on a clean system up. One question I have is what directory do I need to be in to kick this off and can this run with a cut and paste in a terminal display or do I need to put it into a script file to run?

  11. #26
    Registered User
    Join Date
    May 2004
    Posts
    41

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by fransick View Post
    Can someone apply the following patch to a clean download of showeq-5.13.10.5 and let me know if it works? After much teeth gnashing by a guy with zero programming skills, I think the following fixes struct issues, opcodes and warnings from spawnshell.cpp. Looking for someone to validate I've finally gotten it right.
    Gave it a shot but had three hunks fail for zoneopcodes.xml (#'s 3, 285, and 642) Going to manually make the changes but, unfortunately, I don't have the time to do that tonight, and am tied up with obligations tomorrow. It was done with a clean download of the most recent patch you uploaded. Thanks for the hard work, I wish I had the time to go through the changes tonight.

  12. #27
    Administrator
    Join Date
    Sep 2005
    Posts
    353

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by hug View Post
    Gave it a shot but had three hunks fail for zoneopcodes.xml (#'s 3, 285, and 642) Going to manually make the changes but, unfortunately, I don't have the time to do that tonight, and am tied up with obligations tomorrow. It was done with a clean download of the most recent patch you uploaded. Thanks for the hard work, I wish I had the time to go through the changes tonight.
    I swear patch is a PITA for some reason. If you cut and paste the changes into a file and name it suchandsuch.patch then drop it into your showeq directory and type:
    Code:
    patch -p0 < suchandsuch.patch
    It should patch without any errors. Of course, patch hasn't seemingly worked the last few times I've tried it on the boards. It patched my fresh download of showeq-5.13.10.5 without a hitch and I made sure to paste from linux to avoid any Windoze messiness. Sad that I can figure out seq but not patch huh?

  13. #28
    Registered User
    Join Date
    May 2004
    Posts
    41

    Re: SEQ Borked with 8/15 patch.

    Quote Originally Posted by hug View Post
    Gave it a shot but had three hunks fail for zoneopcodes.xml (#'s 3, 285, and 642) Going to manually make the changes but, unfortunately, I don't have the time to do that tonight, and am tied up with obligations tomorrow. It was done with a clean download of the most recent patch you uploaded. Thanks for the hard work, I wish I had the time to go through the changes tonight.
    Opps, meant to say tarball, not patch...

  14. #29
    Registered User
    Join Date
    May 2004
    Posts
    41

    Re: SEQ Borked with 8/15 patch.

    I think we both posted at the same time. I did exactly like you said, but still the hunk failure. It may be that I am using an old Linux version, redhat 7 on SEQ box.

    If it matters, the other files patched just fine, it was only zoneopcodes.xml that caused the hunk failure.

    Computers act strange sometimes...

  15. #30
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: SEQ Borked with 8/15 patch.

    I had the same issue hug had. Copied from firefox on my linux box and into emacs on the same linux box. I ended up making the zoneopcodes.xml changes by hand (well, as many as I had the patience for). Amazing job fransick, things look good. The only thing that I noticed tonight was that when I targetted something in EQ it wasn't reflected in showeq. That could have been related to something I missed in manually doing the opcodes, but I checked the likely suspects and they were good.

    Again, thanks, great work!!!

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