Results 1 to 15 of 15

Thread: lookin like Heart of Fear broke us

  1. #1
    Registered User
    Join Date
    Mar 2007
    Posts
    32

    lookin like Heart of Fear broke us

    we be down, I think.

  2. #2
    Registered User
    Join Date
    Jun 2013
    Posts
    5

    Re: lookin like Heart of Fear broke us

    I think I have most of the updated opcodes, just having troubles updating the structure or code for spawnshell, it seems that the data is bigger and varies even more.

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

    Re: lookin like Heart of Fear broke us

    Information sharing helps speed up the process for everyone involved. Post the op-codes you've found already to help out. If you resolve one area post that part.

    For the spawn struct initially it looks like the changes are due to the position data increasing in size. It went from 24 & 42 to 28 & 46. This means you need to make several changes before you can even start to debug the position data. First in everquest.h increase the size of the two position data structures by 4 bytes and also remember to do this in the spawnstruct as well. Then in spawnshell.cpp in fillspawnstruct add in another element ([5]) for setting the position data.

  4. #4
    Registered User
    Join Date
    Jun 2013
    Posts
    5

    Re: lookin like Heart of Fear broke us

    I was hunting down 1 last opcode before posting it, but it was coming.

    Code:
    <opcode id="7d34" name="OP_PlayerProfile" updated="07/16/13">
    <opcode id="6319" name="OP_TimeOfDay" updated="07/16/13">
    <opcode id="0428" name="OP_NewZone" updated="07/16/13">
    <opcode id="4003" name="OP_SpawnDoor" updated="06/19/13">
    <opcode id="5125" name="OP_GroundSpawn" updated="07/16/13">
    <opcode id="439c" name="OP_GuildMOTD" updated="07/16/13">
    <opcode id="0489" name="OP_ClientUpdate" updated="07/16/13">
    <opcode id="2960" name="OP_NpcMoveUpdate" updated="07/16/13">
    <opcode id="6fdb" name="OP_MobUpdate" updated="07/16/13">
    <opcode id="1852" name="OP_DeleteSpawn" updated="07/16/13">
    <opcode id="7180" name="OP_RemoveSpawn" updated="07/16/13">
    <opcode id="444a" name="OP_Death" updated="07/16/13">
    <opcode id="64b5" name="OP_WearChange" updated="07/16/13">
    <opcode id="2a2e" name="OP_SpawnAppearance" updated="07/16/13">
    <opcode id="7bf7" name="OP_GuildMemberUpdate" updated="07/16/13">
    <opcode id="6714" name="OP_ClickObject" updated="07/16/13">
    <opcode id="6777" name="OP_Action" updated="07/16/13">
    <opcode id="4f6c" name="OP_Action2" updated="07/16/13">
    <opcode id="7107" name="OP_Consider" updated="07/16/13">
    <opcode id="2ff9" name="OP_TargetMouse" updated="07/16/13">
    There's the opcode change I have

    Also,

    Code:
    <opcode id="1438" name="OP_ZoneEntry" updated="07/16/13">
    Is the zoneentry once the structs have been updated, which I'm working on now (more-so to learn)
    Last edited by nate1280; 07-17-2013 at 09:31 AM. Reason: forgot to change zoneentry opcode

  5. #5
    Registered User
    Join Date
    Jun 2013
    Posts
    5

    Re: lookin like Heart of Fear broke us

    Forgot to mention, I'm not 100% certain on a few of them (NpcMoveUpdate mainly, and possibly MobUpdate)

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

    Re: lookin like Heart of Fear broke us

    Good work, these pretty much match up with mine. OP_ClientUpdate is wrong in your list and that would be problematic for finding the position data. Again the sizes were changed to 28 and 46.
    Code:
    <opcode id="1458" name="OP_SendZonePoints" updated="07/16/13">
    <opcode id="2c9b" name="OP_ClientUpdate" updated="07/16/13">
    Looks like spawnstruct is stable now with the changes to the size implemented. Again this means adding 4 bytes to the 3 position data locations in everquest.h and then also updating fillspawnstruct in spawnshell.cpp to add another row of position data.

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

  7. #7
    Registered User
    Join Date
    Jun 2013
    Posts
    5

    Re: lookin like Heart of Fear broke us

    Realized after reading and starting to look at posdata that the ClientUpdate was wrong and found the proper opcode. Wasn't aware about the sendzonepoints.

    Still just trying to wrap my head around how these structure updates work.

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

    Re: lookin like Heart of Fear broke us

    Here's the second pos data struct:
    Code:
    /*
    ** Player Position Update
    ** Length: 28 Octets
    ** OpCode: PlayerPosCode
    */
    
    struct playerSpawnPosStruct
    {
    /*0000*/ uint16_t spawnId;
    /*0002*/ uint16_t spawnId2;
    /*0004*/ unsigned pitch:12;
             signed   deltaX:13;      // change in x
             unsigned padding01:07;
    /*0008*/ signed   x:19;           // x coord
             unsigned padding06:13;
    /*0012*/ signed   z:19;           // z coord
             signed   deltaHeading:10; // change in heading
             unsigned padding05:03;
    /*0016*/ signed   deltaZ:13;      // change in z
             signed   animation:10;   // velocity
             unsigned padding02:06;
    /*0020*/ unsigned padding04:3;
             unsigned heading:12;     // heading
             signed   deltaY:13;      // change in y
             unsigned padding03:4;
    /*0024*/ unsigned padding07:03;
             signed   y:19;           // y coord
             unsigned padding08:10;
    /*0028*/
    };
    Will post the full patch shortly but I need to test first.

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

    Re: lookin like Heart of Fear broke us

    I'm attaching the patch (diff) file. Note that this is based on version 789 / 790 which is at the new check out URL. Make sure you are using the check-out command below which has changed since the month before.
    Code:
    svn checkout http://svn.code.sf.net/p/seq/svn/showeq/trunk showeq
    Here is the patch file:
    Code:
    Index: conf/zoneopcodes.xml
    ===================================================================
    --- conf/zoneopcodes.xml	(revision 789)
    +++ conf/zoneopcodes.xml	(working copy)
    @@ -3,33 +3,33 @@
     <seqopcodes>
     
         <!-- Critical opcodes used directly by ShowEQ -->
    -    <opcode id="1434" name="OP_PlayerProfile" updated="06/19/13">
    +    <opcode id="7d34" name="OP_PlayerProfile" updated="07/16/13">
             <comment>CharProfileCode</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="64d6" name="OP_ZoneEntry" updated="06/19/13">
    +    <opcode id="1438" name="OP_ZoneEntry" updated="07/16/13">
             <comment>ZoneEntryCode</comment>
             <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
         <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="039e" name="OP_TimeOfDay" updated="06/19/13">
    +    <opcode id="6319" name="OP_TimeOfDay" updated="07/16/13">
             <comment>TimeOfDayCode</comment>
             <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="08f5" name="OP_NewZone" updated="06/19/13">
    +    <opcode id="0428" name="OP_NewZone" updated="07/16/13">
             <comment>NewZoneCode</comment>
             <payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="12d8" name="OP_SpawnDoor" updated="06/19/13">
    +    <opcode id="4003" name="OP_SpawnDoor" updated="07/16/13">
             <comment>DoorSpawnsCode</comment>
             <payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
         </opcode>
    -    <opcode id="0a1a" name="OP_GroundSpawn" updated="06/19/13">
    +    <opcode id="5125" name="OP_GroundSpawn" updated="07/16/13">
             <comment>MakeDropCode</comment>
             <payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="1cb1" name="OP_SendZonePoints" updated="06/19/13">
    +    <opcode id="1458" name="OP_SendZonePoints" updated="07/16/13">
             <comment>Coords in a zone that will port you to another zone</comment>
             <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
         </opcode>
    @@ -41,40 +41,40 @@
             <comment>ExpUpdateCode</comment>
             <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="3a96" name="OP_GuildMOTD" updated="06/19/13">
    +    <opcode id="439c" name="OP_GuildMOTD" updated="07/16/13">
             <comment>GuildMOTD</comment>
             <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="06c2" name="OP_ClientUpdate" updated="06/19/13">
    +    <opcode id="2c9b" name="OP_ClientUpdate" updated="07/16/13">
             <comment>Position updates</comment>
             <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
             <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="38f4" name="OP_NpcMoveUpdate" updated="06/19/13">
    +    <opcode id="2960" name="OP_NpcMoveUpdate" updated="07/16/13">
             <comment>Position updates</comment>
             <payload dir="server" typename="uint8_t" sizechecktype="none"/>
         </opcode>
    -    <opcode id="2239" name="OP_MobUpdate" updated="06/19/13">
    +    <opcode id="6fdb" name="OP_MobUpdate" updated="07/16/13">
             <comment>MobUpdateCode</comment>
             <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
         </opcode>
    -    <opcode id="4cb5" name="OP_DeleteSpawn" updated="06/19/13">
    +    <opcode id="1852" name="OP_DeleteSpawn" updated="07/16/13">
             <comment>DeleteSpawnCode</comment>
             <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="05ed" name="OP_RemoveSpawn" updated="06/19/13">
    +    <opcode id="7180" name="OP_RemoveSpawn" updated="07/16/13">
             <comment>Remove spawn from zone</comment>
         <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
         </opcode>
    -    <opcode id="6438" name="OP_Death" updated="06/19/13">
    +    <opcode id="444a" name="OP_Death" updated="07/16/13">
             <comment>old NewCorpseCode</comment>
             <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6f8c" name="OP_WearChange" updated="06/19/13">
    +    <opcode id="64b5" name="OP_WearChange" updated="07/16/13">
             <comment>SpawnUpdateCode</comment>
             <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="3943" name="OP_SpawnAppearance" updated="06/19/13">
    +    <opcode id="2a2e" name="OP_SpawnAppearance" updated="07/16/13">
             <comment>SpawnAppearanceCode</comment>
             <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
         </opcode>
    @@ -86,28 +86,28 @@
             <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
             <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="4d7b" name="OP_GuildMemberUpdate" updated="06/19/13">
    +    <opcode id="7bf7" name="OP_GuildMemberUpdate" updated="07/16/13">
             <comment>Info regarding guild members</comment>
             <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
         </opcode>
    -    <opcode id="6cb6" name="OP_ClickObject" updated="04/17/13">
    +    <opcode id="6714" name="OP_ClickObject" updated="07/16/13">
             <comment>Items dropped on the ground</comment>
             <payload dir="both" typename="remDropStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="1e52" name="OP_Action" updated="06/19/13">
    +    <opcode id="6777" name="OP_Action" updated="07/16/13">
             <comment>Spells cast etc</comment>
             <payload dir="both" typename="actionStruct" sizechecktype="match"/>
             <payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="59d4" name="OP_Action2" updated="06/19/13">
    +    <opcode id="4f6c" name="OP_Action2" updated="07/16/13">
             <comment>Combat actions i.e. bash, kick etc</comment>
             <payload dir="both" typename="action2Struct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="73ac" name="OP_Consider" updated="06/19/13">
    +    <opcode id="7107" name="OP_Consider" updated="07/16/13">
             <comment>ConsiderCode</comment>
             <payload dir="both" typename="considerStruct" sizechecktype="match"/>
         </opcode>
    -    <opcode id="7c5c" name="OP_TargetMouse" updated="06/19/13">
    +    <opcode id="2ff9" name="OP_TargetMouse" updated="07/16/13">
             <comment>Targeting a person - old ClientTargetCode</comment>
             <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
         </opcode>
    Index: src/everquest.h
    ===================================================================
    --- src/everquest.h	(revision 789)
    +++ src/everquest.h	(working copy)
    @@ -1090,21 +1090,24 @@
              {
                struct
                {
    -                 unsigned pitch:12;
    -                 signed   z:19;           // z coord
    -                 unsigned padding01:01;
    -                 signed   y:19;           // y coord
    -                 signed   deltaHeading:10; // change in heading
    -                 unsigned padding05:03;
    -                 signed   x:19;           // x coord
    -                 signed   deltaY:13;      // change in y
    -                 signed   animation:10;   // velocity
    -                 signed   deltaZ:13;      // change in z
    -                 unsigned padding02:06;
    -                 unsigned padding04:3;
    -                 unsigned heading:12;     // heading
    -                 signed   deltaX:13;      // change in x
    -                 unsigned padding03:4;
    +              unsigned pitch:12;
    +              signed   deltaX:13;      // change in x
    +              unsigned padding01:07;
    +              signed   x:19;           // x coord
    +              unsigned padding06:13;
    +              signed   z:19;           // z coord
    +              signed   deltaHeading:10; // change in heading
    +              unsigned padding05:03;
    +              signed   deltaZ:13;      // change in z
    +              signed   animation:10;   // velocity
    +              unsigned padding02:06;
    +              unsigned padding04:3;
    +              unsigned heading:12;     // heading
    +              signed   deltaY:13;      // change in y
    +              unsigned padding03:4;
    +              unsigned padding07:03;
    +              signed   y:19;           // y coord
    +              unsigned padding08:10;
                };
                int32_t posData[5];
              };
    @@ -2344,7 +2347,7 @@
     
     /*
     ** Player Position Update
    -** Length: 24 Octets
    +** Length: 28 Octets
     ** OpCode: PlayerPosCode
     */
     
    @@ -2353,26 +2356,29 @@
     /*0000*/ uint16_t spawnId;
     /*0002*/ uint16_t spawnId2;
     /*0004*/ unsigned pitch:12;
    -         signed   z:19;           // z coord
    -         unsigned padding01:01;
    -/*0008*/ signed   y:19;           // y coord
    +         signed   deltaX:13;      // change in x
    +         unsigned padding01:07;
    +/*0008*/ signed   x:19;           // x coord
    +         unsigned padding06:13;
    +/*0012*/ signed   z:19;           // z coord
              signed   deltaHeading:10; // change in heading
              unsigned padding05:03;
    -/*0012*/ signed   x:19;           // x coord
    -         signed   deltaY:13;      // change in y
    -/*0016*/ signed   animation:10;   // velocity
    -         signed   deltaZ:13;      // change in z
    +/*0016*/ signed   deltaZ:13;      // change in z
    +         signed   animation:10;   // velocity
              unsigned padding02:06;
     /*0020*/ unsigned padding04:3;
              unsigned heading:12;     // heading
    -         signed   deltaX:13;      // change in x
    +         signed   deltaY:13;      // change in y
              unsigned padding03:4;
    -/*0024*/
    +/*0024*/ unsigned padding07:03;
    +         signed   y:19;           // y coord
    +         unsigned padding08:10;
    +/*0028*/
     };
     
     /*
     ** Self Position Update
    -** Length: 42 Octets
    +** Length: 46 Octets
     ** OpCode: PlayerPosCode
     */
     
    @@ -2381,22 +2387,24 @@
     /*0000*/ uint16_t unknown0000;                   // ***Placeholder (update time counter?)
     /*0002*/ uint16_t spawnId;                       // Player's spawn id
     /*0004*/ uint16_t unknown0004;                   // ***Placeholder
    -/*0006*/ unsigned pitch:12;                      // pitch (up/down heading)
    -         signed animation:10;                    // velocity
    -         unsigned padding5:10;
    -/*0010*/ float deltaX;                           // Change in x
    -/*0014*/ float y;                                // y coord (2nd loc value)
    -/*0018*/ float deltaZ;                           // Change in z
    -/*0022*/ signed deltaHeading:10;                 // change in heading
    +/*0006*/ unsigned padding6:10;
              unsigned padding4:12;                   // ***Placeholder
              unsigned padding1:10;                    // ***Placeholder
    -/*0026*/ float deltaY;                           // Change in y
    -/*0030*/ unsigned heading:12;                    // Directional heading
    +/*0010*/ float x;                                // x coord (1st loc value)
    +/*0014*/ float deltaZ;                           // Change in z
    +/*0018*/ signed animation:10;                    // velocity
    +         unsigned pitch:12;                      // pitch (up/down heading)
    +         unsigned padding5:10;
    +/*0022*/ float y;                                // y coord (2nd loc value)
    +/*0026*/ unsigned heading:12;                    // Directional heading
              unsigned padding2:10;                   // ***Placeholder
              unsigned padding3:10;                   // ***Placeholder
    +/*0030*/ float deltaY;                           // Change in y
     /*0034*/ float z;                                // z coord (3rd loc value)
    -/*0038*/ float x;                                // x coord (1st loc value)
    -/*0042*/
    +/*0038*/ signed deltaHeading:10;                 // change in heading
    +         unsigned padding7:10;
    +         unsigned padding8:12;
    +/*0042*/ float deltaX;                           // Change in x
     };
     
     
    Index: src/player.cpp
    ===================================================================
    --- src/player.cpp	(revision 789)
    +++ src/player.cpp	(working copy)
    @@ -851,32 +851,35 @@
     	  /*0000*/ uint16_t unknown0000;                   // ***Placeholder (update time counter?)
     	  /*0002*/ uint16_t spawnId;                       // Player's spawn id
     	  /*0004*/ uint16_t unknown0004;                   // ***Placeholder
    -	  /*0006*/ unsigned pitch:12;                      // pitch (up/down heading)
    -	           signed animation:10;                    // velocity
    -               unsigned padding5:10;
    -	  /*0010*/ float deltaX;                           // Change in x
    -	  /*0014*/ float y;                                // y coord (2nd loc value)
    -	  /*0018*/ float deltaZ;                           // Change in z
    -	  /*0022*/ signed deltaHeading:10;                 // change in heading
    +	  /*0006*/ unsigned padding6:10;
           	  	   unsigned padding4:12;                   // ***Placeholder
           	  	   unsigned padding1:10;                    // ***Placeholder
    -	  /*0026*/ float deltaY;                           // Change in y
    -	  /*0030*/ unsigned heading:12;                    // Directional heading
    -               unsigned padding2:10;                   // ***Placeholder
    -               unsigned padding3:10;                   // ***Placeholder
    +	  /*0010*/ float x;                                // x coord (1st loc value)
    +	  /*0014*/ float deltaZ;                           // Change in z
    +	  /*0018*/ signed animation:10;                    // velocity
    +	           unsigned pitch:12;                      // pitch (up/down heading)
    +	           unsigned padding5:10;
    +	  /*0022*/ float y;                                // y coord (2nd loc value)
    +	  /*0026*/ unsigned heading:12;                    // Directional heading
    +	           unsigned padding2:10;                   // ***Placeholder
    +	           unsigned padding3:10;                   // ***Placeholder
    +	  /*0030*/ float deltaY;                           // Change in y
     	  /*0034*/ float z;                                // z coord (3rd loc value)
    -	  /*0038*/ float x;                                // x coord (1st loc value)
    -	  /*0042*/
    +	  /*0038*/ signed deltaHeading:10;                 // change in heading
    +	           unsigned padding7:10;
    +	           unsigned padding8:12;
    +	  /*0042*/ float deltaX;                           // Change in x
     };
     #pragma pack(0)
         struct pos *p = (struct pos *)data;
    -    printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %d dhead %d anim %d pitch %d (%x, %x, %x, %x, %x)\n",
    +    printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %d dhead %d anim %d pitch %d (%x, %x, %x, %x, %x, %x, %x, %x)\n",
                 p->spawnId, p->x, p->y, p->z,
                 p->deltaX, p->deltaY, p->deltaZ,
                 p->heading, p->deltaHeading,
                 p->animation, p->pitch,
                 p->padding1, p->padding2, p->padding3,
    -            p->padding4, p->padding5 );
    +            p->padding4, p->padding5,
    +            p->padding6, p->padding7, p->padding8 );
     
     #endif
     
    Index: src/spawnshell.cpp
    ===================================================================
    --- src/spawnshell.cpp	(revision 789)
    +++ src/spawnshell.cpp	(working copy)
    @@ -716,6 +716,7 @@
        spawn->posData[2] = netStream.readUInt32NC();
        spawn->posData[3] = netStream.readUInt32NC();
        spawn->posData[4] = netStream.readUInt32NC();
    +   spawn->posData[5] = netStream.readUInt32NC();
        
        if(spawn->hasTitle)
        {
    @@ -918,32 +919,36 @@
         	/*0000*/ uint16_t spawnId;
         	/*0002*/ uint16_t spawnId2;
         	/*0004*/ unsigned pitch:12;
    -    	         signed   z:19;           // z coord
    -    	         unsigned padding01:01;
    -    	/*0008*/ signed   y:19;           // y coord
    +    	         signed   deltaX:13;      // change in x
    +    	         unsigned padding01:07;
    +    	/*0008*/ signed   x:19;           // x coord
    +    	         unsigned padding06:13;
    +    	/*0012*/ signed   z:19;           // z coord
         	         signed   deltaHeading:10; // change in heading
                      unsigned padding05:03;
    -    	/*0012*/ signed   x:19;           // x coord
    -    	         signed   deltaY:13;      // change in y
    -    	/*0016*/ signed   animation:10;   // velocity
    -    	         signed   deltaZ:13;      // change in z
    +    	/*0016*/ signed   deltaZ:13;      // change in z
    +    	         signed   animation:10;   // velocity
         	         unsigned padding02:06;
         	/*0020*/ unsigned padding04:3;
                      unsigned heading:12;     // heading
    -    	         signed   deltaX:13;      // change in x
    +    	         signed   deltaY:13;      // change in y
                      unsigned padding03:4;
    -    	/*0024*/
    +    	/*0024*/ unsigned padding07:03;
    +                 signed   y:19;           // y coord
    +                 unsigned padding08:10;
    +        /*0028*/
     };
     #pragma pack(0)
         struct pos *p = (struct pos *)data;
         if (p->spawnId == 0x1234)
    -        printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f\n  head %d dhead %d anim %d pitch %d (%x, %x, %x, %x, %x)\n",
    +        printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f\n  head %d dhead %d anim %d pitch %d (%x, %x, %x, %x, %x, %x, %x, %x)\n",
                     p->spawnId, float(p->x)/8.0, float(p->y/8.0), float(p->z)/8.0,
                     float(p->deltaX)/4.0, float(p->deltaY)/4.0,
                     float(p->deltaZ)/4.0,
                     p->heading, p->deltaHeading,
                     p->animation, p->pitch,
    -                p->padding01, p->padding02, p->padding03, p->padding04, p->padding05);
    +                p->padding01, p->padding02, p->padding03, p->padding04, p->padding05,
    +                p->padding06, p->padding07, p->padding08);
     #endif
     
         updateSpawn(pupdate->spawnId, x, y, z, dx, dy, dz,

  10. #10
    Registered User
    Join Date
    Jun 2013
    Posts
    5

    Re: lookin like Heart of Fear broke us

    Everything seems to be working, thank you for the patch.

    Wish I could have been more helpful.

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

    Re: lookin like Heart of Fear broke us

    It just takes time to learn how to get through it. Keep working at it and you will figure it out. Sounds like you already got the op-codes down. The structs are a bit harder but not too much. I posted last month some details on figuring out the position data: http://www.showeq.net/forums/showthr...ll=1#post47759

  12. #12
    Registered User
    Join Date
    Mar 2007
    Posts
    32

    Re: lookin like Heart of Fear broke us

    SB... I'm used to getting the code from SourceForge. I checked-out the trunk files from the svn url you gave, but it has no 'configure', and it wont build. What am I missing?

  13. #13
    Registered User
    Join Date
    Mar 2007
    Posts
    32

    Re: lookin like Heart of Fear broke us

    Disregard.. found the x13 release.

  14. #14
    Registered User
    Join Date
    Jan 2003
    Posts
    10

    Re: lookin like Heart of Fear broke us

    Thanks you two for getting us back up!

  15. #15
    Developer
    Join Date
    Nov 2007
    Posts
    539

    Re: lookin like Heart of Fear broke us

    If you check out from sourceforge, you need to build the configure. You can
    just make the configure by doing "make -f Makefile.dist configure"

    Lots can cause errors on that build. Post and someone might be able to figure it out.

    Make sure you have automake, autoconf, libtool and m4 installed. I think you need at least version 2.59 of autoconf and 1.11 of automake.

    Razzle
    Last edited by Razzle; 07-18-2013 at 08:50 AM.

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