Results 1 to 15 of 79

Thread: 12/12/12 Changes

Hybrid View

  1. #1
    Developer
    Join Date
    Jun 2003
    Posts
    446

    Re: 12/12/12 Changes

    This fixes positioning -- there was a change to how the "y" coordinate is handled in the client.

    This should work against the previous diff I posted:
    Code:
    Index: src/spawnshell.cpp
    ===================================================================
    --- src/spawnshell.cpp	(revision 779)
    +++ src/spawnshell.cpp	(working copy)
    @@ -666,7 +666,7 @@
        spawn->posData[2] = netStream.readUInt32NC();
        spawn->posData[3] = netStream.readUInt32NC();
        spawn->posData[4] = netStream.readUInt32NC();
    -
    +   
        if(spawn->otherData & 16)
        {
           name = netStream.readText();
    @@ -852,7 +852,7 @@
     
       if (dir != DIR_Client)
       {
    -    int16_t y = pupdate->y >> 3;
    +    int16_t y = (pupdate->y + pupdate->y) >> 3;
         int16_t x = pupdate->x >> 3;
         int16_t z = pupdate->z >> 3;
         
    @@ -866,20 +866,21 @@
         struct pos
     {
     /*0000*/ uint16_t spawnId;
    -/*0002*/ signed   padding0000:12; // ***Placeholder
    -         signed   deltaX:13;      // change in x
    -         signed   padding0005:7;  // ***Placeholder
    -/*0006*/ signed   deltaHeading:10;// change in heading
    -         signed   deltaY:13;      // change in y
    -         signed   padding0006:9;  // ***Placeholder
    -/*0010*/ signed   y:19;           // y coord
    -         signed   animation:13;   // animation
    -/*0014*/ unsigned heading:12;     // heading
    -         signed   x:19;           // x coord
    -         signed   padding0014:1;  // ***Placeholder
    -/*0018*/ signed   z:19;           // z coord
    +/*0002*/ uint16_t spawnId2;
    +/*0004*/ signed   padding0004:13;
    +         signed   y:19;           // y coord
    +/*0008*/ signed   deltaX:13;      // change in x
    +         signed   deltaHeading:10;// change in heading   
    +         signed   padding0008:9;
    +/*0012*/ signed   deltaY:13;      // change in y
    +         signed   z:19;           // z coord
    +/*0016*/ signed   x:19;           // x coord
    +         signed   animation:10;   // animation
    +         signed   padding0016:3;
    +/*0020*/ unsigned heading:12;     // heading
              signed   deltaZ:13;      // change in z
    -/*0022*/
    +         signed   padding0020:7;
    +/*0024*/
     };
     #pragma pack(0)
         struct pos *p = (struct pos *)data;
    @@ -888,8 +889,8 @@
                 float(p->deltaX)/4.0, float(p->deltaY)/4.0, 
                 float(p->deltaZ)/4.0, 
                 float(p->heading), float(p->deltaHeading),
    -            p->animation, p->padding0000, p->padding0005, 
    -            p->padding0006, p->padding0014);
    +            p->animation, p->padding0004, p->padding0008, 
    +            p->padding0016, p->padding0020);
     #endif
     
         updateSpawn(pupdate->spawnId, x, y, z, dx, dy, dz,
    Index: src/spawn.cpp
    ===================================================================
    --- src/spawn.cpp	(revision 779)
    +++ src/spawn.cpp	(working copy)
    @@ -413,13 +413,12 @@
       // clear out the spawn track list
       m_spawnTrackList.clear();
     }
    -
    +#include "diagnosticmessages.h"
     void Spawn::update(const spawnStruct* s)
     {
       setName(s->name);
       setLastName(s->lastName);
    -
    -  setPos(s->x >> 3, s->y >> 3, s->z >> 3);
    +  setPos(s->x >> 3, (s->y + s->y) >> 3, s->z >> 3);
       setPetOwnerID(s->petOwnerId);
       setLight(s->light);
       setGender(s->gender);
    And this is all the changes in one diff:
    Code:
    Index: conf/zoneopcodes.xml
    ===================================================================
    --- conf/zoneopcodes.xml	(revision 779)
    +++ conf/zoneopcodes.xml	(working copy)
    @@ -11,16 +11,16 @@
             <comment>Movement data... rewind info?</comment>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="50dc" name="OP_DeleteSpawn" updated="11/28/122">
    +    <opcode id="3c8e" name="OP_DeleteSpawn" updated="12/12/12">
             <comment>DeleteSpawnCode</comment>
             <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="3b49" name="OP_ZoneEntry" updated="11/28/12">
    +    <opcode id="1665" name="OP_ZoneEntry" updated="12/12/12">
             <comment>ZoneEntryCode</comment>
             <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
    -	<payload dir="server" typename="uint8_t" sizechecktype="none"/>
    +    <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="24cb" name="OP_GuildMOTD" updated="11/28/12">
    +    <opcode id="0561" name="OP_GuildMOTD" updated="12/12/12">
             <comment>GuildMOTD</comment>
             <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
         </opcode>
    @@ -28,7 +28,7 @@
             <comment>InspectDataCode</comment>
             <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1d80" name="OP_TargetMouse" updated="11/28/12">
    +    <opcode id="0e25" name="OP_TargetMouse" updated="12/12/12">
             <comment>Targeting a person - old ClientTargetCode</comment>
             <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
         </opcode>
    @@ -68,7 +68,7 @@
             <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
             <comment>Declining to join a group</comment>
         </opcode>
    -    <opcode id="63db" name="OP_DzSwitchInfo" updated="11/28/12">
    +    <opcode id="0e01" name="OP_DzSwitchInfo" updated="12/12/12">
             <comment>Expedition compass etc</comment>
             <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
         </opcode>
    @@ -80,7 +80,7 @@
             <comment>FormattedMessageCode i.e. pet dismissed etc</comment>
             <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5557" name="OP_SpawnDoor" updated="11/28/12">
    +    <opcode id="7b6c" name="OP_SpawnDoor" updated="12/12/12">
             <comment>DoorSpawnsCode</comment>
             <payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
         </opcode>
    @@ -88,7 +88,7 @@
           <comment>Receiving AA experience. Also when percent to AA changes.</comment>
           <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="16ef" name="OP_HPUpdate" updated="11/28/12">
    +    <opcode id="07b8" name="OP_HPUpdate" updated="12/12/12">
             <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
             <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
         </opcode>
    @@ -134,7 +134,7 @@
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
             <comment>Bazaar search tool - struct changed and separated query from response with RoF launch.  Needs work </comment>
         </opcode>
    -    <opcode id="20fd" name="OP_SpawnUpdate" updated="11/28/12">
    +    <opcode id="1ad3" name="OP_SpawnUpdate" updated="12/12/12">
             <comment>SpawnUpdateCode</comment>
             <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
         </opcode>
    @@ -146,18 +146,18 @@
             <comment>ConsiderCode</comment>
             <payload dir="both" typename="considerStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="4dae" name="OP_NewZone" updated="11/28/12">
    +    <opcode id="7fff" name="OP_NewZone" updated="12/12/12">
             <comment>NewZoneCode</comment>
             <payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="769a" name="OP_GroundSpawn" updated="11/28/12">
    +    <opcode id="4286" name="OP_GroundSpawn" updated="12/12/12">
             <comment>MakeDropCode</comment>
             <payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
         <opcode id="7cde" name="OP_RemoveSpawn" updated="11/28/12">
             <comment>Remove spawn from zone</comment>
    -	<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
    +    <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
         </opcode>
         <opcode id="777f" name="OP_Death" updated="11/28/12">
             <comment>old NewCorpseCode</comment>
    @@ -205,7 +205,7 @@
             <comment>MoneyOnCorpseCode</comment>
             <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1603" name="OP_PlayerProfile" updated="11/28/12">
    +    <opcode id="46bb" name="OP_PlayerProfile" updated="12/12/12">
             <comment>CharProfileCode</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    @@ -213,8 +213,8 @@
             <comment>TimeOfDayCode</comment>
             <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="44ef" name="OP_ClientUpdate" updated="11/28/12">
    -        <comment>Position updates</comment>
    +    <opcode id="455d" name="OP_ClientUpdate" updated="12/12/12">
    +        <comment>Position updates - looks to be 455d and 42 bytes as of 12/12/12</comment>
             <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
             <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
         </opcode>
    @@ -230,7 +230,7 @@
             <comment>Skill up code</comment>
             <payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6128" name="OP_SpawnAppearance" updated="11/28/12">
    +    <opcode id="7360" name="OP_SpawnAppearance" updated="12/12/12">
             <comment>SpawnAppearanceCode</comment>
             <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
         </opcode>
    @@ -246,7 +246,7 @@
             <comment>Leadership AA Exp Update</comment>
             <payload dir="server" typename="leadExpUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="4daf" name="OP_MobUpdate" updated="11/28/12">
    +    <opcode id="6b5a" name="OP_MobUpdate" updated="12/12/12">
             <comment>MobUpdateCode</comment>
             <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
         </opcode>
    @@ -289,7 +289,7 @@
             <comment>Group member names - Variable length</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4281" name="OP_UIUpdate" updated="11/28/12">
    +    <opcode id="71f5" name="OP_UIUpdate" updated="12/12/12">
             <comment>Seems to be sent to handle a variety of UI updates - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -297,16 +297,16 @@
             <comment>List of group members -  Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4ea3" name="OP_GuildMemberList" updated="10/23/12">
    +    <opcode id="4053" name="OP_GuildMemberList" updated="12/12/12">
             <comment>List of guild members - Variable length</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1370" name="OP_ManaUpdate" updated="11/28/12">
    -	<comment>Mana Update opcode - 10 bytes</comment>
    +    <opcode id="6675" name="OP_ManaUpdate" updated="12/12/12">
    +    <comment>Mana Update opcode - 10 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1e36" name="OP_EndUpdate" updated="11/28/12">
    -	<comment>Endurance Update opcode - 10 bytes</comment>
    +    <opcode id="71fb" name="OP_EndUpdate" updated="12/12/12">
    +    <comment>Endurance Update opcode - 10 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
         <opcode id="3929" name="OP_Marketplace" updated="11/28/12">
    @@ -333,19 +333,19 @@
             <comment>Contents of claims window. /claim then refresh to capture packet - Guessing variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7b6c" name="OP_VoiceChat" updated="11/28/12">
    +    <opcode id="3bcc" name="OP_VoiceChat" updated="12/12/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="758a" name="OP_PollQuestions" updated="11/28/12">
    +    <opcode id="6e6c" name="OP_PollQuestions" updated="12/12/12">
             <comment>SOE in-game player poll questions - Variable length</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5615" name="OP_PollResponses" updated="11/28/12">
    +    <opcode id="17ee" name="OP_PollResponses" updated="12/12/12">
             <comment>Poll response choices - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0321" name="OP_ShroudProgression" updated="11/28/12">
    +    <opcode id="7251" name="OP_ShroudProgression" updated="12/12/12">
             <comment>Unlocked shrouds - 244 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -353,15 +353,15 @@
             <comment>Shroud templates to choose from on shroud NPC - 18983 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="23ad" name="OP_Fellowship" updated="11/28/12">
    +    <opcode id="40fd" name="OP_Fellowship" updated="12/12/12">
             <comment>Fellowship information - 2564 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4234" name="OP_ExpandedGuildInfo" updated="11/28/12">
    +    <opcode id="7851" name="OP_ExpandedGuildInfo" updated="12/12/12">
             <comment>Guild ranks and other misc guild data - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="18e7" name="OP_GuildBank" updated="11/28/12">
    +    <opcode id="1cbf" name="OP_GuildBank" updated="12/12/12">
             <comment>Guild bank contents - Guessing variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -385,23 +385,23 @@
             <comment>Tradeskill combine using old tradeskill window - 24 Bytes</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0adc" name="OP_ItemPlayerPacket" updated="11/28/12">
    +    <opcode id="786e" name="OP_ItemPlayerPacket" updated="12/12/12">
             <comment>Inventory/bank items coming over during zone - Variable length</comment>
             <payload dir="both" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="19e1" name="OP_TaskDescription" updated="11/28/12">
    +    <opcode id="2294" name="OP_TaskDescription" updated="12/12/12">
             <comment>Task descriptions coming down for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6c31" name="OP_TaskActivity" updated="11/28/12">
    +    <opcode id="7181" name="OP_TaskActivity" updated="12/12/12">
             <comment>Task activity descriptions coming down for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0525" name="OP_CompletedTasks" updated="11/28/12">
    +    <opcode id="9495" name="OP_CompletedTasks" updated="12/12/12">
             <comment>Task history for task window - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6f1b" name="OP_CustomTitles" updated="11/28/12">
    +    <opcode id="471a" name="OP_CustomTitles" updated="12/12/12">
             <comment>List of available titles - 1520 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -537,7 +537,7 @@
             <comment>LFG/LFP server response - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6f15" name="OP_MercenaryList" updated="11/28/12">
    +    <opcode id="5a7c" name="OP_MercenaryList" updated="12/12/12">
             <comment>Listing of hired mercenaries - 429 bytes
             <payload dir="server" typename="unknown" sizechecktype="none"/></comment>
         </opcode>
    @@ -557,7 +557,7 @@
             <comment>Client clicks off buff - 8 bytes</comment>
             <payload dir="client" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="0d4b" name="OP_HouseAddress" updated="11/28/12">
    +    <opcode id="6786" name="OP_HouseAddress" updated="12/12/12">
             <comment>House and guildhall address information - Variable length</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -577,11 +577,11 @@
             <comment>Server sending pending rewards - variable length</comment>
             <payload dir="both" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="630b" name="OP_FTPNags" updated="11/28/12">
    +    <opcode id="63ae" name="OP_FTPNags" updated="12/12/12">
             <comment>Free to play nags and other data - 1852 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="5d95" name="OP_Find" updated="11/28/12">
    +    <opcode id="34c3" name="OP_Find" updated="12/12/12">
             <comment>Find window data - 112 bytes</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -596,15 +596,15 @@
     
             <!-- Below are used to help make sense of the logs when searching for opcodes
                  Using these marks unknown opcodes in logs for easier reading  -->
    -    <opcode id="496f" name="OP_Unknown1" updated="11/28/12">
    +    <opcode id="218d" name="OP_Unknown1" updated="12/12/12">
             <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="7d71" name="OP_Unknown2" updated="11/28/12">
    +    <opcode id="48b5" name="OP_Unknown2" updated="12/12/12">
             <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    -    <opcode id="4a6e" name="OP_Unknown3" updated="11/28/12">
    +    <opcode id="7cb5" name="OP_Unknown3" updated="12/12/12">
             <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
             <payload dir="server" typename="unknown" sizechecktype="none"/>
         </opcode>
    @@ -635,10 +635,10 @@
             <payload dir="server" typename="none" sizechecktype="match"/>
         </opcode>
         <opcode id="0000" name="OP_WelcomeScreenTitle" updated="05/16/11">
    -	<comment></comment>
    +    <comment></comment>
         </opcode>
         <opcode id="0000" name="OP_VeteranRewards" update="04/18/11">
    -	    <comment></comment>
    +        <comment></comment>
         </opcode>
         <opcode id="0000" name="OP_SendAATable" updated="08/12/09">
             <comment></comment>
    Index: src/everquest.h
    ===================================================================
    --- src/everquest.h	(revision 779)
    +++ src/everquest.h	(working copy)
    @@ -1075,18 +1075,19 @@
              {
                struct
                {
    -             signed   padding0000:12;                // ***Placeholder
    -             signed   deltaHeading:10;               // change in heading
    -             signed   padding0005:10;                // ***Placeholder
    -             signed   z:19;                          // z coord
    -             signed   deltaZ:13;                     // change in z
    -             signed   deltaY:13;                     // change in y
    -             signed   y:19;                          // y coord
    -             signed   x:19;                          // x coord
    -             signed   deltaX:13;                     // change in x
    -             unsigned heading:12;                    // heading
    -             signed   animation:10;                  // animation
    -             signed   padding0006:10;                // ***Placeholder
    +              signed   padding0004:13;
    +              signed   y:19;           // y coord
    +              signed   deltaX:13;      // change in x
    +              signed   deltaHeading:10;// change in heading   
    +              signed   padding0008:9;
    +              signed   deltaY:13;      // change in y
    +              signed   z:19;           // z coord
    +              signed   x:19;           // x coord
    +              signed   animation:10;   // animation
    +              signed   padding0016:3;
    +              unsigned heading:12;     // heading
    +              signed   deltaZ:13;      // change in z
    +              signed   padding0020:7;
                };
                int32_t posData[5];
              };
    @@ -2332,19 +2333,20 @@
     struct playerSpawnPosStruct
     {
     /*0000*/ uint16_t spawnId;
    -/*0002*/ uint8_t  unk[2];	                       // BSH 13 Apr 2011
    -/*0004*/ signed   padding0000:12;                // ***Placeholder
    -         signed   deltaHeading:10;               // change in heading
    -         signed   padding0005:10;                // ***Placeholder
    -/*0008*/ signed   z:19;                          // z coord
    -         signed   deltaZ:13;                     // change in z
    -/*0012*/ signed   deltaY:13;                     // change in y
    -         signed   y:19;                          // y coord
    -/*0016*/ signed   x:19;                          // x coord
    -         signed   deltaX:13;                     // change in x
    -/*0020*/ unsigned heading:12;                    // heading
    -         signed   animation:10;                  // animation
    -         signed   padding0006:10;                // ***Placeholder
    +/*0002*/ uint16_t spawnId2;
    +/*0004*/ signed   padding0004:13;
    +         signed   y:19;           // y coord
    +/*0008*/ signed   deltaX:13;      // change in x
    +         signed   deltaHeading:10;// change in heading   
    +         signed   padding0008:9;
    +/*0012*/ signed   deltaY:13;      // change in y
    +         signed   z:19;           // z coord
    +/*0016*/ signed   x:19;           // x coord
    +         signed   animation:10;   // animation
    +         signed   padding0016:3;
    +/*0020*/ unsigned heading:12;     // heading
    +         signed   deltaZ:13;      // change in z
    +         signed   padding0020:7;
     /*0024*/
     };
     
    @@ -2356,18 +2358,22 @@
     
     struct playerSelfPosStruct
     {
    -/*0000*/ uint8_t unknown0002[2];                 // ***Placeholder (update time counter?)
    +/*0000*/ uint8_t unknown0000[2];                 // ***Placeholder (update time counter?)
     /*0002*/ uint16_t spawnId;                       // Player's spawn id
     /*0004*/ uint8_t unknown0004[6];                 // ***Placeholder -- BSH 13 Apr 2011
    -/*0010*/ float y;                                // y coord (1st loc value)
    -/*0014*/ float deltaY;
    -         signed deltaHeading:10;                 // change in heading
    -         unsigned heading:12;                    // Directional heading
    +/*0010*/ float deltaY;                           // Change in x
    +/*0014*/ float x;                                // x coord (1st loc value)
    +/*0018*/ float y;                                // y coord (2nd loc value)
    +/*0022*/ signed deltaHeading:10;                 // change in heading
              unsigned animation:10;                  // animation
    -/*0022*/ float deltaX;
    -/*0026*/ float deltaZ;
    -/*0030*/ float x;                                // x coord (2nd loc value)
    +         unsigned padding0024:12;                // ***Placeholder
    +/*0026*/ float deltaZ;                           // Change in z
    +/*0030*/ float deltaX;                           // Change in y
     /*0034*/ float z;                                // z coord (3rd loc value)
    +/*0038*/ unsigned heading:12;                    // Directional heading
    +         unsigned padding0040:10;                // ***Placeholder
    +         unsigned padding0041:10;                // ***Placeholder
    +/*0042*/
     };
     
     
    Index: src/spawnshell.cpp
    ===================================================================
    --- src/spawnshell.cpp	(revision 779)
    +++ src/spawnshell.cpp	(working copy)
    @@ -666,7 +666,7 @@
        spawn->posData[2] = netStream.readUInt32NC();
        spawn->posData[3] = netStream.readUInt32NC();
        spawn->posData[4] = netStream.readUInt32NC();
    -
    +   
        if(spawn->otherData & 16)
        {
           name = netStream.readText();
    @@ -852,7 +852,7 @@
     
       if (dir != DIR_Client)
       {
    -    int16_t y = pupdate->y >> 3;
    +    int16_t y = (pupdate->y + pupdate->y) >> 3;
         int16_t x = pupdate->x >> 3;
         int16_t z = pupdate->z >> 3;
         
    @@ -866,20 +866,21 @@
         struct pos
     {
     /*0000*/ uint16_t spawnId;
    -/*0002*/ signed   padding0000:12; // ***Placeholder
    -         signed   deltaX:13;      // change in x
    -         signed   padding0005:7;  // ***Placeholder
    -/*0006*/ signed   deltaHeading:10;// change in heading
    -         signed   deltaY:13;      // change in y
    -         signed   padding0006:9;  // ***Placeholder
    -/*0010*/ signed   y:19;           // y coord
    -         signed   animation:13;   // animation
    -/*0014*/ unsigned heading:12;     // heading
    -         signed   x:19;           // x coord
    -         signed   padding0014:1;  // ***Placeholder
    -/*0018*/ signed   z:19;           // z coord
    +/*0002*/ uint16_t spawnId2;
    +/*0004*/ signed   padding0004:13;
    +         signed   y:19;           // y coord
    +/*0008*/ signed   deltaX:13;      // change in x
    +         signed   deltaHeading:10;// change in heading   
    +         signed   padding0008:9;
    +/*0012*/ signed   deltaY:13;      // change in y
    +         signed   z:19;           // z coord
    +/*0016*/ signed   x:19;           // x coord
    +         signed   animation:10;   // animation
    +         signed   padding0016:3;
    +/*0020*/ unsigned heading:12;     // heading
              signed   deltaZ:13;      // change in z
    -/*0022*/
    +         signed   padding0020:7;
    +/*0024*/
     };
     #pragma pack(0)
         struct pos *p = (struct pos *)data;
    @@ -888,8 +889,8 @@
                 float(p->deltaX)/4.0, float(p->deltaY)/4.0, 
                 float(p->deltaZ)/4.0, 
                 float(p->heading), float(p->deltaHeading),
    -            p->animation, p->padding0000, p->padding0005, 
    -            p->padding0006, p->padding0014);
    +            p->animation, p->padding0004, p->padding0008, 
    +            p->padding0016, p->padding0020);
     #endif
     
         updateSpawn(pupdate->spawnId, x, y, z, dx, dy, dz,
    Index: src/spawn.cpp
    ===================================================================
    --- src/spawn.cpp	(revision 779)
    +++ src/spawn.cpp	(working copy)
    @@ -413,13 +413,12 @@
       // clear out the spawn track list
       m_spawnTrackList.clear();
     }
    -
    +#include "diagnosticmessages.h"
     void Spawn::update(const spawnStruct* s)
     {
       setName(s->name);
       setLastName(s->lastName);
    -
    -  setPos(s->x >> 3, s->y >> 3, s->z >> 3);
    +  setPos(s->x >> 3, (s->y + s->y) >> 3, s->z >> 3);
       setPetOwnerID(s->petOwnerId);
       setLight(s->light);
       setGender(s->gender);
    Merry Christmas!

  2. #2
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: 12/12/12 Changes

    It's an early Christmas present... thanks acid! Your help is most appreciated. Clearly not something I would have ever figured out to be sure.
    Last edited by fransick; 12-24-2012 at 08:29 PM.

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