PDA

View Full Version : No skittles as of the 18 Sep patch



Sky_Genie
09-23-2013, 08:03 AM
Is there anyone left who might be able to fix this, please?

Thanks in advance

fransick
09-23-2013, 09:35 AM
I was working on opcodes but am stuck on the movement update packets as they are a little different. Trying to utilize the debug code in spawnshell.cpp to work it out but cannot get it to compile with the debug code. I travel a lot so only have a little time here and there to work on it these days unfortunately. Hoping someone can throw us a hand and get it back up soon.

Sky_Genie
09-23-2013, 09:45 AM
I was working on opcodes but am stuck on the movement update packets as they are a little different. Trying to utilize the debug code in spawnshell.cpp to work it out but cannot get it to compile with the debug code. I travel a lot so only have a little time here and there to work on it these days unfortunately. Hoping someone can thow us a hand and get it back up soon.

No worries and no rush. I realize that everyone is busy. I just wasn't sure if anyone knew that it was broken, since a lot of the SEQ gods no longer play.

Thanks and I / We appreciate all of your efforts.

Newby
10-05-2013, 08:08 PM
Here, just in time for the next expansion to invalidate the work. There's still some issues, like the deltas aren't correct and other player heading isn't right, but positions and such are working. In a few places, it looks like they've added a full 32-bit word to the position data.

Diffed from what's in subversion.


Index: conf/zoneopcodes.xml
================================================== =================
--- conf/zoneopcodes.xml (revision 794)
+++ conf/zoneopcodes.xml (working copy)
@@ -3,11 +3,11 @@
<seqopcodes>

<!-- Critical opcodes used directly by ShowEQ -->
- <opcode id="59ab" name="OP_PlayerProfile" updated="08/21/13">
+ <opcode id="7164" name="OP_PlayerProfile" updated="10/01/13">
<comment>CharProfileCode</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="500c" name="OP_ZoneEntry" updated="08/21/13">
+ <opcode id="4c44" name="OP_ZoneEntry" updated="10/01/13">
<comment>ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
@@ -16,7 +16,7 @@
<comment>TimeOfDayCode</comment>
<payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1af6" name="OP_NewZone" updated="08/21/13">
+ <opcode id="3ca2" name="OP_NewZone" updated="10/01/13">
<comment>NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
@@ -24,7 +24,7 @@
<comment>DoorSpawnsCode</comment>
<payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="22ea" name="OP_GroundSpawn" updated="08/21/13">
+ <opcode id="5020" name="OP_GroundSpawn" updated="10/01/13">
<comment>MakeDropCode</comment>
<payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
@@ -45,28 +45,28 @@
<comment>GuildMOTD</comment>
<payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
</opcode>
- <opcode id="183d" name="OP_ClientUpdate" updated="08/21/13">
+ <opcode id="2e95" name="OP_ClientUpdate" updated="10/01/13">
<comment>Position updates</comment>
<payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
<payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7417" name="OP_NpcMoveUpdate" updated="08/21/13">
+ <opcode id="1602" name="OP_NpcMoveUpdate" updated="10/01/13">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="7905" name="OP_MobUpdate" updated="08/21/13">
+ <opcode id="6543" name="OP_MobUpdate" updated="10/01/13">
<comment>MobUpdateCode</comment>
<payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="5d22" name="OP_DeleteSpawn" updated="08/21/13">
+ <opcode id="568a" name="OP_DeleteSpawn" updated="10/01/13">
<comment>DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2616" name="OP_RemoveSpawn" updated="08/21/13">
+ <opcode id="6d64" name="OP_RemoveSpawn" updated="10/01/13">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
- <opcode id="0d78" name="OP_Death" updated="08/21/13">
+ <opcode id="442d" name="OP_Death" updated="10/01/13">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
@@ -90,7 +90,7 @@
<comment>Info regarding guild members</comment>
<payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="6714" name="OP_ClickObject" updated="07/16/13">
+ <opcode id="615e" name="OP_ClickObject" updated="10/01/13">
<comment>Items dropped on the ground</comment>
<payload dir="both" typename="remDropStruct" sizechecktype="match"/>
</opcode>
@@ -103,7 +103,7 @@
<comment>Combat actions i.e. bash, kick etc</comment>
<payload dir="both" typename="action2Struct" sizechecktype="match"/>
</opcode>
- <opcode id="004f" name="OP_Consider" updated="08/21/13">
+ <opcode id="5557" name="OP_Consider" updated="10/01/13">
<comment>ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
@@ -1008,4 +1008,4 @@
<comment></comment>
</opcode>
-->
-</seqopcodes>
\ No newline at end of file
+</seqopcodes>
Index: src/spawnshell.cpp
================================================== =================
--- src/spawnshell.cpp (revision 794)
+++ 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)
{
Index: src/everquest.h
================================================== =================
--- src/everquest.h (revision 794)
+++ src/everquest.h (working copy)
@@ -1090,24 +1090,29 @@
{
struct
{
- unsigned pitch:12;
- signed z:19; // z coord
- unsigned padding01:1;
+
signed animation:10; // velocity
- unsigned padding04:3;
+ unsigned padding01:3;
signed deltaHeading:10; // change in heading
unsigned padding02:9;
- signed x:19; // x coord
- unsigned heading:12; // heading
- unsigned padding03:01;
+
signed y:19; // y coord
signed deltaX:13; // change in x
+
+ signed x:19; // x coord
signed deltaY:13; // change in y
+
+ unsigned heading:12; // heading
signed deltaZ:13; // change in z
- unsigned padding05:2;
- unsigned padding06:4;
+ unsigned padding03:7;
+
+ unsigned padding04:32;
+
+ signed z:19; // z coord
+ unsigned pitch:12;
+ unsigned padding05:1;
};
- int32_t posData[5];
+ int32_t posData[6];
};
/*0000*/ union
{
@@ -2353,23 +2358,35 @@
{
/*0000*/ uint16_t spawnId;
/*0002*/ uint16_t spawnId2;
-/*0004*/ unsigned pitch:12;
- signed z:19; // z coord
- unsigned padding01:1;
-/*0008*/ signed animation:10; // velocity
- unsigned padding04:3;
- signed deltaHeading:10; // change in heading
- unsigned padding02:9;
-/*0012*/ signed x:19; // x coord
- unsigned heading:12; // heading
- unsigned padding03:01;
-/*0016*/ signed y:19; // y coord
- signed deltaX:13; // change in x
-/*0020*/ signed deltaY:13; // change in y
- signed deltaZ:13; // change in z
- unsigned padding05:2;
- unsigned padding06:4;
+
+/*0004*/
+ signed animation:10; // velocity
+ unsigned padding01:3;
+ signed deltaHeading:10; // change in heading
+ unsigned padding02:9;
+
+/*0008*/
+ signed y:19; // y coord
+ signed deltaX:13; // change in x
+
+/*0012*/
+ signed x:19; // x coord
+ signed deltaY:13; // change in y
+
+
+/*0016*/
+ unsigned heading:12; // heading
+ signed deltaZ:13; // change in z
+ unsigned padding03:7;
+
+/*0020*/
+ unsigned padding04:32;
+
/*0024*/
+ signed z:19; // z coord
+ unsigned pitch:12;
+ unsigned padding05:1;
+
};

/*
@@ -2387,18 +2404,18 @@
signed animation:10; // velocity
unsigned padding1:10;
/*0010*/ float deltaY; // Change in y
-/*0014*/ float y; // y coord (2nd loc value)
+/*0014*/ float deltaX; // Change in x
/*0018*/ float deltaZ; // Change in z
-/*0022*/ float z; // z coord (3rd loc value)
-/*0026*/ float deltaX; // Change in x
-/*0030*/ float x; // x coord (1st loc value)
-/*0034*/ signed deltaHeading:10; // change in heading
- unsigned heading:12; // Directional heading
+/*0022*/ float x; // x coord (1st loc value)
+/*0026*/ float z; // z coord (3rd loc value)
+/*0030*/ unsigned heading:12; // Directional heading
+ signed deltaHeading:10; // change in heading
unsigned padding2:10; // ***Placeholder
-/*0038*/
+/*0034*/ float y; // y coord (2nd loc value)
+/*0038*/ uint32_t unknown0038;
+/*0042*/
};

-
/*
** Spawn Appearance
** Length: 8 Octets
Index: src/player.cpp
================================================== =================
--- src/player.cpp (revision 794)
+++ src/player.cpp (working copy)
@@ -855,14 +855,14 @@
signed animation:10; // velocity
unsigned padding1:10;
/*0010*/ float deltaY; // Change in y
- /*0014*/ float y; // y coord (2nd loc value)
+ /*0014*/ float deltaX; // Change in x
/*0018*/ float deltaZ; // Change in z
- /*0022*/ float z; // z coord (3rd loc value)
- /*0026*/ float deltaX; // Change in x
- /*0030*/ float x; // x coord (1st loc value)
- /*0034*/ signed deltaHeading:10; // change in heading
- unsigned heading:12; // Directional heading
+ /*0022*/ float x; // x coord (1st loc value)
+ /*0026*/ float z; // z coord (3rd loc value)
+ /*0030*/ unsigned heading:12; // Directional heading
+ signed deltaHeading:10; // change in heading
unsigned padding2:10; // ***Placeholder
+ /*0034*/ float y; // y coord (2nd loc value)
/*0038*/
};
#pragma pack(0)