PDA

View Full Version : Anyone having success updating for VoA?



fransick
11-16-2011, 01:47 PM
Been hammering away here but the struct changes have thrown me for a loop as I cannot seem to get the playerstruct straightened out. Was wondering if anyone is having more success. In need of a small jump start as I've exhausted my abilities to get everquest.h aligned. Opcodes are more my bailywick it would seem.

Doesn't help that I rebuilt my linux box and inadvertently wiped my reference logs!

elf
11-16-2011, 03:36 PM
The main character struct is going to have changed a lot. Max language has changed, they removed the 'unknown tongues' (neutral/human from pvp, and something else from roleplay) from the live servers a few days before the expansion. The expansion added a language, so max lang should be 24 or something now.

NPC's also gained the ability to speak in languages, and emotes might be in languages as well (has to do with VOA raid emotes requiring you to learn the VOA language before you can stay alive, I hear). Haven't looked through the data yet to see if those packets have a space for languages, if they don't then they will need it now.

With guild ranks being visible via /guildstat command, the guild struct in everquest.h is going to get changed. I don't know if those ranks will be in the guild struct, or if the player's rank will be stored alone in the player struct.

I've heard that the maxed saved aa is going up as well, not sure if that would take a change to any of the structs. uint_32 should be enough to store unspent and spent AA, I don't think anyone has 4 billion AA yet.

That's just going by what I heard from beta, I haven't even looked at a packet yet.

fransick
11-16-2011, 04:18 PM
A bulk of the Guild data thankfully looks to be handled outside of the PlayerStruct. PlayerStruct grew from 28764 to 29560 so definitely some new data hiding in there. I think they also added some new AA's to increase max buffs from 30 to 35. Fun stuff so far. Will be curious to see how close I've gotten once we nail down the changes. Got maps back up and most of the PlayerStruct but no skittles yet.

Newby
11-18-2011, 11:14 AM
diff -cr showeq-5.13.10.4.virgin/conf/zoneopcodes.xml showeq-5.13.10.4/conf/zoneopcodes.xml
*** showeq-5.13.10.4.virgin/conf/zoneopcodes.xml Thu May 19 07:59:44 2011
--- showeq-5.13.10.4/conf/zoneopcodes.xml Fri Nov 18 01:01:31 2011
***************
*** 5,11 ****
<!--
Critical opcodes used directly by ShowEQ
-->
! <opcode id="38E0" name="OP_NpcMoveUpdate" updated="04/15/11">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
--- 5,11 ----
<!--
Critical opcodes used directly by ShowEQ
-->
! <opcode id="2339" name="OP_NpcMoveUpdate" updated="11/16/11">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
***************
*** 13,23 ****
<comment></comment>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
! <opcode id="0BD0" name="OP_DeleteSpawn" updated="04/15/11">
<comment>old DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
! <opcode id="02D6" name="OP_ZoneEntry" updated="04/14/11">
<comment>old ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
--- 13,23 ----
<comment></comment>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
! <opcode id="0CAE" name="OP_DeleteSpawn" updated="11/16/11">
<comment>old DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
! <opcode id="5821" name="OP_ZoneEntry" updated="11/16/11">
<comment>old ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
***************
*** 86,92 ****
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
! <opcode id="6967" name="OP_HPUpdate" updated="04/18/11">
<comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
--- 86,92 ----
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
! <opcode id="2370" name="OP_HPUpdate" updated="11/16/11">
<comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
***************
*** 154,160 ****
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
! <opcode id="3C2D" name="OP_Consider" updated="10/21/09">
<comment>old ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
--- 154,160 ----
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
! <opcode id="70C6" name="OP_Consider" updated="11/16/11">
<comment>old ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
***************
*** 179,185 ****
<payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
<comment>Declining to join a group</comment>
</opcode> -->
! <opcode id="43AC" name="OP_NewZone" updated="06/12/09">
<comment>old NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
--- 179,185 ----
<payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
<comment>Declining to join a group</comment>
</opcode> -->
! <opcode id="4118" name="OP_NewZone" updated="11/16/11">
<comment>old NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
***************
*** 192,202 ****
<comment>old ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
! <opcode id="725A" name="OP_RemoveSpawn" updated="04/18/11">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
! <opcode id="49B6" name="OP_Death" updated="04/15/11">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
--- 192,202 ----
<comment>old ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
! <opcode id="58c5" name="OP_RemoveSpawn" updated="11/16/11">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
! <opcode id="799C" name="OP_Death" updated="11/16/11">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
***************
*** 250,256 ****
<comment>old CorpseLocCode:</comment>
<payload dir="server" typename="corpseLocStruct" sizechecktype="match"/>
</opcode>
! <opcode id="6022" name="OP_PlayerProfile" updated="01/17/08">
<comment>old CharProfileCode</comment>
<payload dir="server" typename="charProfileStruct" sizechecktype="match"/>
</opcode>
--- 250,256 ----
<comment>old CorpseLocCode:</comment>
<payload dir="server" typename="corpseLocStruct" sizechecktype="match"/>
</opcode>
! <opcode id="6AFD" name="OP_PlayerProfile" updated="11/16/11">
<comment>old CharProfileCode</comment>
<payload dir="server" typename="charProfileStruct" sizechecktype="match"/>
</opcode>
diff -cr showeq-5.13.10.4.virgin/src/everquest.h showeq-5.13.10.4/src/everquest.h
*** showeq-5.13.10.4.virgin/src/everquest.h Wed May 25 13:14:28 2011
--- showeq-5.13.10.4/src/everquest.h Fri Nov 18 09:33:41 2011
***************
*** 103,112 ****
//Maximum limits of certain types of data
#define MAX_KNOWN_SKILLS 100
#define MAX_SPELL_SLOTS 12
! #define MAX_KNOWN_LANGS 25
#define MAX_SPELLBOOK_SLOTS 400
#define MAX_GROUP_MEMBERS 6
! #define MAX_BUFFS 30
#define MAX_GUILDS 8192
#define MAX_AA 300
#define MAX_BANDOLIERS 20
--- 103,112 ----
//Maximum limits of certain types of data
#define MAX_KNOWN_SKILLS 100
#define MAX_SPELL_SLOTS 12
! #define MAX_KNOWN_LANGS 26
#define MAX_SPELLBOOK_SLOTS 400
#define MAX_GROUP_MEMBERS 6
! #define MAX_BUFFS 42
#define MAX_GUILDS 8192
#define MAX_AA 300
#define MAX_BANDOLIERS 20
***************
*** 425,431 ****

/*
** Buffs
! ** Length: 76 Octets
** Used in:
** charProfileStruct
*/
--- 425,431 ----

/*
** Buffs
! ** Length: 88 Octets
** Used in:
** charProfileStruct
*/
***************
*** 441,448 ****
/*0016*/ int32_t effect; // holds the dmg absorb amount on runes
/*0020*/ uint8_t unknown0020[4]; // *** this might need to be swapped with playerId
/*0024*/ uint32_t playerId; // Global id of caster (for wear off)
! /*0028*/ uint8_t unknown0028[48];
! /*0076*/
};


--- 441,448 ----
/*0016*/ int32_t effect; // holds the dmg absorb amount on runes
/*0020*/ uint8_t unknown0020[4]; // *** this might need to be swapped with playerId
/*0024*/ uint32_t playerId; // Global id of caster (for wear off)
! /*0028*/ uint8_t unknown0028[60];
! /*0088*/
};


***************
*** 713,731 ****
/*07868*/ uint32_t hunger; // Food (ticks till next eat)
/*07872*/ uint8_t unknown07872[20];
/*07892*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player
! /*10172*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines
! /*10572*/ uint8_t unknown10572[1600]; // BSH
! /*11132*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use)
! /*11212*/ uint32_t endurance; // Current endurance
! /*11216*/ uint32_t aa_spent; // Number of spent AA points (including glyphs)
! /*11220*/ uint32_t aa_assigned; // Number of points currently assigned to AAs
! /*11224*/ uint32_t unknown11224[4];
! /*11240*/ uint32_t aa_unspent; // Unspent AA points
! /*11244*/ uint8_t unknown11244[4];
! /*11248*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents
! /*17648*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt
! /*18008*/ uint8_t unknown18008[92];
! /*18100*/
};

/*
--- 713,732 ----
/*07868*/ uint32_t hunger; // Food (ticks till next eat)
/*07872*/ uint8_t unknown07872[20];
/*07892*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player
! /*11588*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines
! /*11988*/ uint8_t unknown10932[400];
! /*12188*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use)
! /*12468*/ uint8_t unknown11412[480];
! /*12948*/ uint32_t endurance; // Current endurance
! /*12952*/ uint32_t aa_spent; // Number of spent AA points (including glyphs)
! /*12956*/ uint32_t aa_assigned; // Number of points currently assigned to AAs
! /*12960*/ uint32_t unknown11904[4];
! /*12976*/ uint32_t aa_unspent; // Unspent AA points
! /*12980*/ uint8_t unknown11924[4];
! /*12984*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents
! /*19384*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt
! /*19744*/ uint8_t unknown18008[92];
! /*19836*/
};

/*
***************
*** 737,817 ****
{
/*00000*/ uint32_t checksum; //
/*00004*/ playerProfileStruct profile; // Profile
! /*18100*/ char name[64]; // Name of player
! /*18164*/ char lastName[32]; // Last name of player
! /*18196*/ uint8_t unknown18196[8]; //***Placeholder (1/18/2006)
! /*18204*/ int32_t guildID; // guildID
! /*18208*/ uint32_t birthdayTime; // character birthday
! /*18212*/ uint32_t lastSaveTime; // character last save time
! /*18216*/ uint32_t timePlayedMin; // time character played
! /*18220*/ uint8_t unknown18220[4];
! /*18224*/ uint8_t pvp; // 1=pvp, 0=not pvp
! /*18225*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon
! /*18226*/ uint8_t gm; // 0=no, 1=yes (guessing!)
! /*18227*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader
! /*18228*/ uint8_t unknown18228[8];
! /*18236*/ uint32_t exp; // Current Experience
! /*18240*/ uint8_t unknown18240[12];
! /*18252*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages
! /*18277*/ uint8_t unknown18277[7]; // All 0x00 (language buffer?)
! /*18284*/ float y; // Players y position
! /*18288*/ float x; // Players x position
! /*18292*/ float z; // Players z position
! /*18296*/ float heading; // Players heading
! /*18300*/ uint32_t standState; // 0x64 = stand
! /*18304*/ uint32_t platinum_bank; // Platinum Pieces in Bank
! /*18308*/ uint32_t gold_bank; // Gold Pieces in Bank
! /*18312*/ uint32_t silver_bank; // Silver Pieces in Bank
! /*18316*/ uint32_t copper_bank; // Copper Pieces in Bank
! /*18320*/ uint32_t platinum_shared; // Shared platinum pieces
! /*18324*/ uint8_t unknown18324[2124]; // Added 1088 for HoT
! /*20488*/ uint32_t expansions; // Bitmask for expansions
! /*20452*/ uint8_t unknown20452[12];
! /*20464*/ uint32_t autosplit; // 0 = off, 1 = on
! /*20468*/ uint8_t unknown20468[16];
! /*20484*/ uint16_t zoneId; // see zones.h
! /*20486*/ uint16_t zoneInstance; // Instance id
! /*20486*/ uint8_t unknown20486[992];
! /*21480*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on
! /*21484*/ uint8_t unknown21484[4];
! /*21488*/ uint32_t ldon_guk_points; // Earned GUK points
! /*21492*/ uint32_t ldon_mir_points; // Earned MIR points
! /*21496*/ uint32_t ldon_mmc_points; // Earned MMC points
! /*21500*/ uint32_t ldon_ruj_points; // Earned RUJ points
! /*21504*/ uint32_t ldon_tak_points; // Earned TAK points
! /*21508*/ uint32_t ldon_avail_points; // Available LDON points
! /*21512*/ uint8_t unknown21512[136];
! /*21648*/ uint32_t tributeTime; // Time remaining on tribute (millisecs)
! /*21652*/ uint32_t careerTribute; // Total favor points for this char
! /*21656*/ uint32_t unknown21656; // *** Placeholder
! /*21660*/ uint32_t currentTribute; // Current tribute points
! /*21664*/ uint32_t unknown21664; // *** Placeholder
! /*21668*/ uint32_t tributeActive; // 0 = off, 1=on
! /*21672*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout
! /*21712*/ uint8_t unknown21712[92]; // Added 208 bytes for HoT BETA
! /*21804*/ float expGroupLeadAA; // Current group lead exp points
! /*21808*/ uint32_t unknown21808;
! /*21812*/ float expRaidLeadAA; // Current raid lead AA exp points
! /*21816*/ uint32_t unknown21816;
! /*21820*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points
! /*21824*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points
! /*21828*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks
! /*21956*/ uint8_t unknown21956[128];
! /*22084*/ uint32_t airRemaining; // Air supply (seconds)
! /*22088*/ uint8_t unknown22088[4608];
! /*26696*/ uint32_t expAA; // Exp earned in current AA point
! /*26700*/ uint8_t unknown26700[40];
! /*26740*/ uint32_t currentRadCrystals; // Current count of radiant crystals
! /*26744*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever
! /*26748*/ uint32_t currentEbonCrystals;// Current count of ebon crystals
! /*26752*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever
! /*26756*/ uint8_t groupAutoconsent; // 0=off, 1=on
! /*26757*/ uint8_t raidAutoconsent; // 0=off, 1=on
! /*26758*/ uint8_t guildAutoconsent; // 0=off, 1=on
! /*26759*/ uint8_t unknown26759[5]; // ***Placeholder (6/29/2005)
! /*26764*/ uint32_t showhelm; // 0=no, 1=yes
! /*26768*/ uint8_t unknown26768[1048]; // ***Placeholder (2/13/2007)
! /*27816*/
};

#if 0
--- 738,818 ----
{
/*00000*/ uint32_t checksum; //
/*00004*/ playerProfileStruct profile; // Profile
! /*19836*/ char name[64]; // Name of player
! /*19900*/ char lastName[32]; // Last name of player
! /*19932*/ uint8_t unknown18196[8]; //***Placeholder (1/18/2006)
! /*19940*/ int32_t guildID; // guildID
! /*19944*/ uint32_t birthdayTime; // character birthday
! /*19948*/ uint32_t lastSaveTime; // character last save time
! /*19952*/ uint32_t timePlayedMin; // time character played
! /*19956*/ uint8_t unknown18220[4];
! /*19960*/ uint8_t pvp; // 1=pvp, 0=not pvp
! /*19961*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon
! /*19962*/ uint8_t gm; // 0=no, 1=yes (guessing!)
! /*19963*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader
! /*19964*/ uint8_t unknown18228[16];
! /*19980*/ uint32_t exp; // Current Experience
! /*19984*/ uint8_t unknown18240[12];
! /*19996*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages ccc
! /*20022*/ uint8_t unknown18277[6]; // All 0x00 (language buffer?)
! /*20028*/ float y; // Players y position
! /*20032*/ float x; // Players x position
! /*20036*/ float z; // Players z position
! /*20040*/ float heading; // Players heading
! /*20044*/ uint32_t standState; // 0x64 = stand
! /*20048*/ uint32_t platinum_bank; // Platinum Pieces in Bank
! /*20052*/ uint32_t gold_bank; // Gold Pieces in Bank
! /*20056*/ uint32_t silver_bank; // Silver Pieces in Bank
! /*20060*/ uint32_t copper_bank; // Copper Pieces in Bank
! /*20064*/ uint32_t platinum_shared; // Shared platinum pieces ccc
! /*20068*/ uint8_t unknown18324[2124]; // Added 1088 for HoT
! /*22192*/ uint32_t expansions; // Bitmask for expansions ccc
! /*22196*/ uint8_t unknown20452[12];
! /*22208*/ uint32_t autosplit; // 0 = off, 1 = on ccc
! /*22212*/ uint8_t unknown20468[16];
! /*22228*/ uint16_t zoneId; // see zones.h ccc
! /*22230*/ uint16_t zoneInstance; // Instance id ccc
! /*22232*/ uint8_t unknown20486[992];
! /*23224*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on ccc
! /*23228*/ uint8_t unknown21484[4];
! /*23232*/ uint32_t ldon_guk_points; // Earned GUK points ccc
! /*23236*/ uint32_t ldon_mir_points; // Earned MIR points ccc
! /*23240*/ uint32_t ldon_mmc_points; // Earned MMC points ccc
! /*23244*/ uint32_t ldon_ruj_points; // Earned RUJ points ccc
! /*23248*/ uint32_t ldon_tak_points; // Earned TAK points ccc
! /*23252*/ uint32_t ldon_avail_points; // Available LDON points ccc
! /*23256*/ uint8_t unknown21512[144];
! /*23400*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) ccc
! /*23404*/ uint32_t careerTribute; // Total favor points for this char ccc
! /*23408*/ uint32_t unknown21656; // *** Placeholder ccc
! /*23412*/ uint32_t currentTribute; // Current tribute points ccc
! /*23416*/ uint32_t unknown21664; // *** Placeholder
! /*23420*/ uint32_t tributeActive; // 0 = off, 1=on
! /*23424*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout ccc
! /*23464*/ uint8_t unknown21712[84]; // Added 208 bytes for HoT BETA ccc
! /*23548*/ float expGroupLeadAA; // Current group lead exp points ccc
! /*23552*/ uint32_t unknown21808;
! /*23556*/ float expRaidLeadAA; // Current raid lead AA exp points ccc
! /*23560*/ uint32_t unknown21816;
! /*23564*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points ccc
! /*23568*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points ccc
! /*23572*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks ccc
! /*23700*/ uint8_t unknown21956[128];
! /*23828*/ uint32_t airRemaining; // Air supply (seconds) ccc
! /*23832*/ uint8_t unknown22088[4608];
! /*28440*/ uint32_t expAA; // Exp earned in current AA point ccc
! /*28444*/ uint8_t unknown26700[40];
! /*28484*/ uint32_t currentRadCrystals; // Current count of radiant crystals ccc
! /*28488*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever ccc
! /*28492*/ uint32_t currentEbonCrystals;// Current count of ebon crystals ccc
! /*28496*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever ccc
! /*28500*/ uint8_t groupAutoconsent; // 0=off, 1=on
! /*28501*/ uint8_t raidAutoconsent; // 0=off, 1=on
! /*28502*/ uint8_t guildAutoconsent; // 0=off, 1=on
! /*28503*/ uint8_t unknown26759[5]; // ***Placeholder (6/29/2005)
! /*28508*/ uint32_t showhelm; // 0=no, 1=yes
! /*28512*/ uint8_t unknown26768[1048]; // ***Placeholder (2/13/2007)
! /*29560*/
};

#if 0
diff -cr showeq-5.13.10.4.virgin/src/main.cpp showeq-5.13.10.4/src/main.cpp
*** showeq-5.13.10.4.virgin/src/main.cpp Thu Dec 30 12:38:59 2010
--- showeq-5.13.10.4/src/main.cpp Fri Nov 18 09:44:13 2011
***************
*** 175,180 ****
--- 175,194 ----

bool bOptionHelp = false;

+ #undef OFFTEST
+ #ifdef OFFTEST
+ {
+ struct charProfileStruct cps;
+ char *v0, *v1;
+
+ printf ("sizeof (charProfileStruct) = %d\n", sizeof (cps));
+ v0 = (char *) &cps;
+ v1 = (char *) &cps.leadershipAAs;
+ printf ("leadershipAAs=%d\n", v1 - v0);
+ exit (0);
+ }
+ #endif
+
/* Create application instance */
// QApplication::setStyle( new QWindowsStyle );
QApplication qapp (argc, argv);
diff -cr showeq-5.13.10.4.virgin/src/spawnshell.cpp showeq-5.13.10.4/src/spawnshell.cpp
*** showeq-5.13.10.4.virgin/src/spawnshell.cpp Fri Apr 15 04:07:22 2011
--- showeq-5.13.10.4/src/spawnshell.cpp Fri Nov 18 11:38:54 2011
***************
*** 639,645 ****

spawn->petOwnerId = netStream.readUInt32NC();

! netStream.skipBytes(25);

spawn->posData[0] = netStream.readUInt32NC();
spawn->posData[1] = netStream.readUInt32NC();
--- 639,645 ----

spawn->petOwnerId = netStream.readUInt32NC();

! netStream.skipBytes(26);

spawn->posData[0] = netStream.readUInt32NC();
spawn->posData[1] = netStream.readUInt32NC();
diff -cr showeq-5.13.10.4.virgin/src/zones.h showeq-5.13.10.4/src/zones.h
*** showeq-5.13.10.4.virgin/src/zones.h Fri Dec 31 00:22:37 2010
--- showeq-5.13.10.4/src/zones.h Fri Nov 18 00:29:38 2011
***************
*** 707,716 ****
{ NULL, NULL }, // 697
{ NULL, NULL }, // 698
{ NULL, NULL }, // 699
{ "thulehouse1", "House of Thule" }, // 701
{ "thulehouse2", "House of Thule, Upper Floors" }, // 702
{ "housegarden", "The Grounds" }, // 703
! { "houselibrary", "The Library" }, // 704
{ "well", "The Well" }, // 705
{ "fallen", "Erudin Burning" }, // 706
{ "morellcastle", "Morell's Castle" }, // 707
--- 707,717 ----
{ NULL, NULL }, // 697
{ NULL, NULL }, // 698
{ NULL, NULL }, // 699
+ { "feerrott2", "The Feerrott" }, // 700
{ "thulehouse1", "House of Thule" }, // 701
{ "thulehouse2", "House of Thule, Upper Floors" }, // 702
{ "housegarden", "The Grounds" }, // 703
! { "thulelibrary", "The Library" }, // 704
{ "well", "The Well" }, // 705
{ "fallen", "Erudin Burning" }, // 706
{ "morellcastle", "Morell's Castle" }, // 707
***************
*** 730,747 ****
{ NULL, NULL }, // 721
{ NULL, NULL }, // 722
{ "phinterior1d1", "Dragon House Interior" }, // 723
! { NULL, NULL }, // 724
! { NULL, NULL }, // 725
! { NULL, NULL }, // 726
! { NULL, NULL }, // 727
! { NULL, NULL }, // 728
! { NULL, NULL }, // 729
! { NULL, NULL }, // 730
! { NULL, NULL }, // 731
! { NULL, NULL }, // 732
! { NULL, NULL }, // 733
! { NULL, NULL }, // 734
! { NULL, NULL }, // 735
{ NULL, NULL }, // 736
{ NULL, NULL }, // 737
{ NULL, NULL }, // 738
--- 731,748 ----
{ NULL, NULL }, // 721
{ NULL, NULL }, // 722
{ "phinterior1d1", "Dragon House Interior" }, // 723
! { "argath", "Argatch, Bastion of Illdaera" }, // 724
! { "arelis", "Valley of Lunanyn" }, // 725
! { "sarithcity", "Sarith, City of Tides" }, // 726
! { "rubak", "Rubak Oseka, Temple of the Sea" }, // 727
! { "beastdomain", "Beasts' Domain" }, // 728
! { "resplendent", "The Resplendent Temple" }, // 729
! { "pillarsalra", "Pillars of Alra" }, // 730
! { "windsong", "Windsong Sanctuary" }, // 731
! { "cityofbronze", "Erillion, City of Bronze" }, // 732
! { "sepulcher", "Sepulcher of Order" }, // 733
! { "eastsepulcher", "Sepulcher East" }, // 734
! { "westsepulcher", "Sepulcher West" }, // 735
{ NULL, NULL }, // 736
{ NULL, NULL }, // 737
{ NULL, NULL }, // 738


This is a diff from the 5.13.10.4 that was released over half a year ago. Someone really needs to pack this up into a tar file so we don't have to base our diffs on such an old release.

fransick
11-18-2011, 03:00 PM
Couldn't agree more Newby. I think we are all working from files in differing states of currentness, so to speak. Hence, the difficulty of using a patch diff at this point. In my spare time I worked out a few other opcodes and have included the full zoneopcodes.xml below for simplicity sake. If i've erred on any, let me know.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd">
<seqopcodes>

<!--
Critical opcodes used directly by ShowEQ
-->
<opcode id="2339" name="OP_NpcMoveUpdate" updated="11/16/11">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="09B4" name="OP_MovementHistory" updated="10/21/09">
<comment></comment>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="0CAE" name="OP_DeleteSpawn" updated="11/16/11">
<comment>old DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
<opcode id="5821" name="OP_ZoneEntry" updated="11/16/11">
<comment>old ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="102F" name="OP_GuildMOTD" updated="11/15/11">
<comment>GuildMOTD</comment>
<payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
</opcode>
<opcode id="0C54" name="OP_InspectAnswer" updated="11/15/11">
<comment>old InspectDataCode</comment>
<payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
</opcode>
<opcode id="000F" name="OP_SendZonePoints" updated="10/21/09">
<comment>Coords in a zone that will port you to another zone</comment>
<payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
</opcode>
<opcode id="3EDC" name="OP_TargetMouse" updated="11/15/11">
<comment>Targeting a person - old ClientTargetCode</comment>
<payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
</opcode>
<opcode id="66B4" name="OP_Shroud" updated="10/21/09">
<comment>Server putting players into shroud form</comment>
<payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
</opcode>
<opcode id="3671" name="OP_GroupFollow" updated="11/15/11">
<payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
<comment>You join a group</comment>
</opcode>
<opcode id="44C2" name="OP_GroupFollow2" updated="11/15/11">
<payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
<comment>Player joins your group</comment>
</opcode>
<!-- <opcode id="390C" name="OP_GroupUpdate" updated="10/21/09">
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
<comment>Variable length packet with group member names</comment>
</opcode> -->
<opcode id="74E9" name="OP_GroupDisband" updated="11/15/11">
<comment>You disband from group</comment>
<payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
</opcode>
<opcode id="3C58" name="OP_GroupDisband2" updated="11/15/11">
<comment>Other disbands from group</comment>
<payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
</opcode>
<opcode id="4B82" name="OP_GroupLeader" updated="11/15/11">
<comment>Group leader change</comment>
<payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/>
</opcode>
<opcode id="3BDD" name="OP_DzSwitchInfo" updated="10/21/09">
<comment></comment>
<payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
</opcode>
<opcode id="4C14" name="OP_DzInfo" updated="10/21/09">
<comment></comment>
<payload dir="server" typename="dzInfo" sizechecktype="match"/>
</opcode>
<!-- <opcode id="3B52" name="OP_FormattedMessage" updated="10/21/09">
<comment>old FormattedMessageCode</comment>
<payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
</opcode> -->
<opcode id="6F2B" name="OP_SpawnDoor" updated="10/21/09">
<comment>old DoorSpawnsCode</comment>
<payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
</opcode>
<opcode id="5448" name="OP_AAExpUpdate" updated="10/21/09">
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
<opcode id="2370" name="OP_HPUpdate" updated="11/16/11">
<comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
<opcode id="0A53" name="OP_GuildMemberUpdate" updated="10/21/09">
<comment></comment>
<payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
</opcode>
<opcode id="0507" name="OP_SpawnRename" updated="10/21/09">
<comment>Spawns getting renamed after initial NewSpawn</comment>
<payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
</opcode>
<!--<opcode id="03CC" name="OP_GroupInvited" updated="09/15/09">
<payload dir="server" typename="groupInviteStruct" sizechecktype="match"/>
<comment>You got invited to a group</comment>
</opcode>-->
<opcode id="3288" name="OP_GroupInvite" updated="11/15/11">
<payload dir="both" typename="groupInviteStruct" sizechecktype="none"/>
<comment>You invite or get invited</comment>
</opcode>
<opcode id="28A7" name="OP_SwapSpell" updated="11/15/11">
<comment>old TradeSpellBookSlotsCode</comment>
<payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
</opcode>
<opcode id="3B52" name="OP_SimpleMessage" updated="10/21/09">
<comment>old SimpleMessageCode</comment>
<payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
</opcode>
<opcode id="016C" name="OP_SpecialMesg" updated="10/21/09">
<comment>Communicate textual info to client</comment>
<payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
</opcode>
<opcode id="303E" name="OP_RandomReq" updated="11/15/11">
<comment>old RandomReqCode</comment>
<payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
</opcode>
<opcode id="0E87" name="OP_ConsentResponse" updated="10/21/09">
<comment>Server replying with consent information after /consent</comment>
<payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
</opcode>
<opcode id="6129" name="OP_DenyResponse" updated="10/21/09">
<comment>Server replying with deny information after /deny</comment>
<payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
</opcode>
<opcode id="550F" name="OP_BazaarSearch" updated="10/21/09">
<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="0400" name="OP_WearChange" updated="10/21/09">
<comment>old SpawnUpdateCode</comment>
<payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
</opcode>
<opcode id="3E17" name="OP_SpawnAppearance" updated="10/21/09">
<comment>old SpawnAppearanceCode</comment>
<payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
</opcode>
<opcode id="72F8" name="OP_Stamina" updated="10/21/09">
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
<opcode id="70C6" name="OP_Consider" updated="11/15/11">
<comment>old ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
<opcode id="0B93" name="OP_ZoneChange" updated="09/07/10">
<comment>old ZoneChangeCode</comment>
<payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/>
</opcode>
<opcode id="8543" name="OP_Buff" updated="11/15/11">
<comment>old BuffDropCode</comment>
<payload dir="both" typename="buffStruct" sizechecktype="match"/>
</opcode>
<opcode id="44AE" name="OP_Logout" updated="10/21/09">
<comment></comment>
<payload dir="server" typename="none" sizechecktype="match"/>
</opcode>

<opcode id="2736" name="OP_GroupInvite2" updated="11/15/11">
<payload dir="client" typename="groupInviteStruct" sizechecktype="match"/>
<comment>You're inviting someone and you are grouped</comment>
</opcode>
<opcode id="6C16" name="OP_GroupCancelInvite" updated="11/15/11">
<payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
<comment>Declining to join a group</comment>
</opcode>
<opcode id="4118" name="OP_NewZone" updated="11/16/11">
<comment>old NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
<opcode id="442A" name="OP_GroundSpawn" updated="06/12/09">
<comment>old MakeDropCode</comment>
<payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="0555" name="OP_ExpUpdate" updated="06/12/09">
<comment>old ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
<opcode id="58C5" name="OP_RemoveSpawn" updated="06/12/09">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
<opcode id="799C" name="OP_Death" updated="06/12/09">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
<opcode id="4194" name="OP_ClickObject" updated="06/12/09">
<comment>old RemDropCode</comment>
<payload dir="both" typename="remDropStruct" sizechecktype="match"/>
</opcode>
<opcode id="7F9E" name="OP_Action" updated="11/15/11">
<comment></comment>
<payload dir="both" typename="actionStruct" sizechecktype="match"/>
<payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
</opcode>
<opcode id="3EA8" name="OP_Action2" updated="11/15/11">
<comment>old ActionCode</comment>
<payload dir="both" typename="action2Struct" sizechecktype="match"/>
</opcode>
<opcode id="231F" name="OP_Illusion" updated="06/12/09">
<comment>Spawn being illusioned (changing forms)</comment>
<payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
</opcode>
<opcode id="50C2" name="OP_BuffFadeMsg" updated="06/12/09">
<comment>old SpellFadeCode</comment>
<payload dir="both" typename="spellFadedStruct" sizechecktype="none"/>
</opcode>
<opcode id="569A" name="OP_CastSpell" updated="11/15/11">
<comment>old StartCastCode</comment>
<payload dir="both" typename="startCastStruct" sizechecktype="match"/>
</opcode>
<opcode id="3887" name="OP_MemorizeSpell" updated="06/12/09">
<comment>old MemSpellCode</comment>
<payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
</opcode>
<opcode id="3164" name="OP_Emote" updated="06/12/09">
<comment>old EmoteTextCode</comment>
<payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
</opcode>
<opcode id="07FB" name="OP_RandomReply" updated="11/15/11">
<comment>old RandomCode</comment>
<payload dir="server" typename="randomStruct" sizechecktype="match"/>
</opcode>
<opcode id="71BF" name="OP_ManaChange" updated="11/15/11">
<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="00BC" name="OP_MoneyOnCorpse" updated="06/12/09">
<comment>old MoneyOnCorpseCode</comment>
<payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
</opcode>
<opcode id="132F" name="OP_CorpseLocResponse" updated="06/12/09">
<comment>old CorpseLocCode:</comment>
<payload dir="server" typename="corpseLocStruct" sizechecktype="match"/>
</opcode>
<opcode id="6AFD" name="OP_PlayerProfile" updated="11/15/11">
<comment>old CharProfileCode</comment>
<payload dir="server" typename="charProfileStruct" sizechecktype="match"/>
</opcode>
<opcode id="6015" name="OP_TimeOfDay" updated="01/17/08">
<comment>old TimeOfDayCode</comment>
<payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
</opcode>
<opcode id="51BC" name="OP_GuildMemberList" updated="01/17/08">
<comment></comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="7062" name="OP_ClientUpdate" updated="11/15/11">
<comment>Position updates</comment>
<payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
<payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
</opcode>
<opcode id="0000" name="OP_MobUpdate" updated="01/17/08">
<comment>old MobUpdateCode</comment>
<payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
</opcode>
<opcode id="0D5A" name="OP_BeginCast" updated="01/17/08">
<comment>old BeginCastCode</comment>
<payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
</opcode>
<opcode id="2E79" name="OP_CommonMessage" updated="01/17/08">
<comment>old ChannelMessageCode</comment>
<payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
</opcode>
<opcode id="7F01" name="OP_SkillUpdate" updated="11/15/11">
<comment>old SkillIncCode</comment>
<payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
</opcode>
<opcode id="6A99" name="OP_LevelUpdate" updated="01/17/08">
<comment>old LevelUpUpdateCode</comment>
<payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
</opcode>

<!-- Deprecated
<opcode id="5C29" name="OP_NewSpawn" updated="01/17/08">
<comment>old NewSpawnCode</comment>
<payload dir="server" typename="spawnStruct" sizechecktype="match"/>
</opcode>-->

<!--
Not necessary for SEQ to run but here to name packets in logs.
-->
<opcode id="1AAE" name="OP_Marketplace" updated="09/01/10">
<comment></comment>
</opcode>
<opcode id="A2E0" name="OP_WelcomeScreenURL" updated="09/01/10">
<comment></comment>
</opcode>
<opcode id="3B85" name="OP_SendAATable" updated="08/12/09">
<comment></comment>
</opcode>
<opcode id="5832" name="OP_SendAAStats" updated="08/12/09">
<comment></comment>
</opcode>

<!-- Below are unverified as of 12-1-2007 -->
<opcode id="4d38" name="OP_AckPacket" updated="03/14/07">
<comment>Appears to be generic ack at the presentation level</comment>
</opcode>
<opcode id="71fb" name="OP_TributeUpdate" updated="03/14/07">
<comment>Tribute information</comment>
</opcode>
<opcode id="5DBC" name="OP_ItemPlayerPacket" updated="09/07/10">
<comment>Inventory/bank items coming over during zone</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="0af9" name="OP_TaskDescription" updated="03/14/07">
<comment>Task descriptions coming down for task window</comment>
</opcode>
<opcode id="2e60" name="OP_TaskActivity" updated="03/14/07">
<comment>Task activity descriptions coming down for task window</comment>
</opcode>
<opcode id="5855" name="OP_CompletedTasks" updated="03/14/07">
<comment>Task history for task window</comment>
</opcode>
<opcode id="70a5" name="OP_Weather" updated="03/14/07">
<comment>old WeatherCode</comment>
</opcode>
<opcode id="5417" name="OP_ReqNewZone" updated="03/14/07">
<comment>Client requesting NewZone_Struct</comment>
</opcode>
<opcode id="2e8f" name="OP_CustomTitles" updated="03/14/07">
<comment>List of available titles</comment>
</opcode>
<opcode id="45d2" name="OP_ReqClientSpawn" updated="03/14/07">
<comment>Client requesting spawn data</comment>
</opcode>
<opcode id="3703" 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">
<comment>Used for changing percent, buying? and activating skills</comment>
</opcode>
<opcode id="7038" 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">
<comment></comment>
</opcode>
<opcode id="0137" name="OP_TGB" updated="03/14/07">
<comment>Client telling server to set targetgroupbuff</comment>
</opcode>
<opcode id="237e" name="OP_RaidJoin" updated="03/14/07">
<comment></comment>
</opcode>
<opcode id="7161" name="OP_GuildExtendedInfo" updated="03/14/07">
<comment>Extra guild info (i.e. chat channel, url)</comment>
</opcode>
<opcode id="6774" 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">
<comment>Guild tribute loadout, only if on</comment>
</opcode>
<opcode id="063b" name="OP_RespawnWindow" updated="03/14/07">
<comment>Server telling client enough to populate the respawn window when you die</comment>
</opcode>
<opcode id="5c2f" name="OP_Animation" updated="03/14/07">
<comment></comment>
</opcode>
<opcode id="23f1" name="OP_InitialMobHealth" updated="03/14/07">
<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">
<comment>health sent when a player clicks on the mob</comment>
</opcode>
<opcode id="16c1" name="OP_DeltaCheck" updated="03/14/07">
<comment>Client sending server delta information.</comment>
</opcode>
<opcode id="24D8" 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>
<opcode id="34d4" name="OP_WhoAllRequest" updated="03/14/07">
<comment>old WhoAllReqCode</comment>
</opcode>
<opcode id="3817" name="OP_WhoAllResponse" updated="03/14/07">
<comment>old sWhoAllOutputCode</comment>
</opcode>
<opcode id="61ac" name="OP_LoadSpellSet" updated="02/13/07">
<comment>/mem spellsetname</comment>
</opcode>
<opcode id="5a79" name="OP_InspectRequest" updated="10/20/07">
<comment>old InspectRequestCode</comment>
</opcode>
<opcode id="4289" name="OP_GetGuildMOTD" updated="02/13/07">
<comment></comment>
</opcode>
<opcode id="2889" name="OP_TradeRequest" updated="06/13/06">
<comment>Client request trade session</comment>
</opcode>
<opcode id="06fb" name="OP_TradeRequestAck" updated="06/13/06">
<comment>Trade request recipient is acknowledging they are able to trade</comment>
</opcode>
<opcode id="12a4" name="OP_CancelTrade" updated="02/13/07">
<comment>Cancel a trade window</comment>
</opcode>
<opcode id="443f" name="OP_FinishTrade" updated="02/13/07">
<comment>Trade is over</comment>
</opcode>
<opcode id="0000" name="OP_TradeCoins" updated="06/13/05">
<comment>Coins put in trade window</comment>
</opcode>
<opcode id="2b8f" name="OP_TradeAcceptClick" updated="06/13/06">
<comment>One side clicks Accept on the trade</comment>
</opcode>
<opcode id="0fb9" name="OP_Consent" updated="03/14/07">
<comment>/consent someone</comment>
<payload dir="client" typename="consentRequestStruct" sizechecktype="none"/>
</opcode>
<opcode id="79d7" name="OP_ConsentDeny" updated="03/14/07">
<comment>/deny someone</comment>
<payload dir="client" typename="consentRequestStruct" sizechecktype="none"/>
</opcode>
<opcode id="78cd" name="OP_ItemPacket" updated="03/14/07">
<comment>old ItemCode</comment>
<payload dir="server" typename="itemPacketStruct" sizechecktype="none"/>
</opcode>
<opcode id="2de4" name="OP_ItemLinkClick" updated="03/14/07">
<comment></comment>
</opcode>
<opcode id="1394" name="OP_ItemLinkResponse" updated="03/14/07">
<comment>old ItemInfoCode</comment>
<payload dir="server" typename="itemInfoStruct" sizechecktype="none"/>
<payload dir="client" typename="itemInfoReqStruct" sizechecktype="none"/>
</opcode>
<opcode id="00de" name="OP_Dye" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="31c2" 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">
<comment></comment>
</opcode>
<opcode id="68ac" name="OP_LFGCommand" updated="10/27/05">
<comment>old LFGReqCode</comment>
</opcode>
<opcode id="022f" name="OP_LFGGetMatchesRequest" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="6f90" name="OP_EndLootRequest" updated="12/07/05">
<comment>old cDoneLootingCode</comment>
</opcode>
<opcode id="4bb4" name="OP_LootItem" updated="12/07/05">
<comment></comment>
</opcode>
<opcode id="7ac3" name="OP_Bug" updated="10/27/05">
<comment>/bug</comment>
</opcode>
<opcode id="5011" name="OP_Track" updated="10/27/05">
<comment>Clicked Track</comment>
</opcode>
<opcode id="0681" name="OP_TraderShop" updated="06/29/05">
<comment>old OpenTraderCode right-click on a trader in bazaar</comment>
</opcode>
<opcode id="66f0" name="OP_Trader" updated="06/29/05">
<comment>People turning trader on and off</comment>
<payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/>
</opcode>
<opcode id="5c06" 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">
<comment>old cStartCampingCode</comment>
</opcode>
<opcode id="fe13" name="OP_ShopPlayerSell" updated="10/27/05">
<comment>old SellItemCode</comment>
</opcode>
<opcode id="4b88" name="OP_AutoAttack" updated="02/13/07">
<comment></comment>
</opcode>
<opcode id="3299" name="OP_AutoAttack2" updated="02/13/07">
<comment></comment>
</opcode>
<opcode id="10a1" name="OP_PetCommands" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="4ed9" name="OP_SetRunMode" updated="02/13/07">
<comment>old cRunToggleCode</comment>
</opcode>
<opcode id="1103" name="OP_SaveOnZoneReq" updated="03/14/07">
<comment></comment>
</opcode>
<opcode id="7e03" name="OP_ShopEnd" updated="10/27/05">
<comment>old CloseVendorCode</comment>
<payload dir="both" typename="unknown" sizechecktype="none"/>
</opcode>
<opcode id="231F" name="OP_MoveDoor" updated="11/15/11">
<comment>old DoorClickCode</comment>
</opcode>
<opcode id="5666" name="OP_SenseTraps" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="05ac" name="OP_SenseHeading" updated="10/27/05">
<comment>old cSenseHeadingCode</comment>
</opcode>
<opcode id="26b3" name="OP_LootComplete" updated="12/07/05">
<comment>old sDoneLootingCode</comment>
</opcode>
<opcode id="3980" name="OP_EnvDamage" updated="02/13/07">
<comment>Environmental Damage</comment>
<payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/>
</opcode>
<opcode id="4849" name="OP_Split" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="4668" name="OP_Surname" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="45f9" name="OP_ShopRequest" updated="10/27/05">
<comment>old OpenVendorCode</comment>
<payload dir="both" typename="unknown" sizechecktype="none"/>
</opcode>
<opcode id="2963" name="OP_MoveItem" updated="11/15/11">
<comment>Client moving an item from one slot to another</comment>
</opcode>
<opcode id="0f8e" name="OP_FaceChange" updated="10/27/05">
<comment>/face</comment>
</opcode>
<opcode id="4312" name="OP_Sneak" updated="06/29/05">
<comment>Clicked sneak</comment>
</opcode>
<opcode id="6f64" name="OP_Hide" updated="06/29/05">
<comment></comment>
</opcode>
<opcode id="34e8" name="OP_DisarmTraps" updated="05/11/05">
<comment>Clicked disarm traps</comment>
</opcode>
<opcode id="7c33" name="OP_Forage" updated="10/27/05">
<comment>old ForageCode</comment>
</opcode>
<opcode id="4298" name="OP_BoardBoat" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="67c9" name="OP_LeaveBoat" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="35a6" name="OP_LFPGetMatchesRequest" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="5892" name="OP_RaidInvite" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="6dd8" name="OP_TraderBuy" updated="10/27/05">
<comment>buy from a trader in bazaar</comment>
</opcode>
<opcode id="6980" name="OP_GMKill" updated="10/27/05">
<comment>GM /kill - Insta kill mob/pc</comment>
</opcode>
<opcode id="36e2" name="OP_ClickDoor" updated="02/13/07">
<comment>old DoorOpenCode</comment>
<payload dir="both" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="17a2" name="OP_GuildPublicNote" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="5dde" name="OP_LootRequest" updated="12/07/05">
<comment>old cLootCorpseCode</comment>
</opcode>
<opcode id="61ef" name="OP_YellForHelp" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="0af6" name="OP_ShopPlayerBuy" updated="05/11/05">
<comment>old BuyItemCode</comment>
</opcode>
<opcode id="6f82" name="OP_LFPCommand" updated="10/27/05">
<comment>looking for players</comment>
</opcode>
<opcode id="00dd" name="OP_ConsiderCorpse" updated="12/07/05">
<comment>old cConCorpseCode</comment>
</opcode>
<opcode id="3838" 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">
<comment></comment>
</opcode>
<opcode id="40b6" name="OP_TargetCommand" updated="02/13/07">
<comment>Target user</comment>
</opcode>
<opcode id="212d" name="OP_LFPGetMatchesResponse" updated="02/13/07">
<comment></comment>
</opcode>
<opcode id="0c0d" name="OP_Jump" updated="02/13/07">
<comment>old cJumpCode?</comment>
</opcode>
<opcode id="1089" name="OP_FindPersonRequest" updated="02/13/07">
<comment>Control-F Find</comment>
</opcode>
<opcode id="71b1" name="OP_FindResponse" updated="02/13/07">
<comment>Response to control-F</comment>
</opcode>
<opcode id="23a1" name="OP_GMLastName" updated="10/27/05">
<comment>GM /lastname - Change user lastname</comment>
</opcode>
<opcode id="0840" name="OP_TradeSkillCombine" updated="06/29/05">
<comment></comment>
</opcode>
<opcode id="355b" name="OP_LFGGetMatchesResponse" updated="06/13/06">
<comment></comment>
</opcode>
<opcode id="14ef" name="OP_Mend" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="1ffa" name="OP_MendHPUpdate" updated="05/11/05">
<comment></comment>
</opcode>
<opcode id="5306" name="OP_Feedback" updated="10/27/05">
<comment>/feedback</comment>
</opcode>
<opcode id="4775" name="OP_TributeInfo" updated="02/13/07">
<comment>Tribute information</comment>
</opcode>
<opcode id="7416" name="OP_LeaderExpUpdate" updated="06/29/05">
<comment>Leadership AA Exp Update</comment>
<payload dir="server" typename="leadExpUpdateStruct" sizechecktype="match"/>
</opcode>
<opcode id="062c" name="OP_Lockouts" updated="02/13/07">
<comment>Server telling client lockouts</comment>
</opcode>


<!-- OLD OPCODES. These haven't been mapped in a post 1/26/2005 world. If you
can find any of these in the current stream, please update them and let
us know!

<opcode id="1900" name="OP_ZoneSpawns" updated="05/29/08">
<comment>old ZoneSpawnsCode</comment>
<payload dir="server" typename="spawnStruct" sizechecktype="none"/>
</opcode>
<opcode id="0020" name="OP_GMServers" updated="05/26/04">
<comment>GM /servers - ?</comment>
</opcode>
<opcode id="790e" name="OP_GMKick" updated="01/26/05">
<comment>GM /kick - Boot player</comment>
</opcode>
<opcode id="0068" name="OP_Petition" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0074" name="OP_GMBecomeNPC" updated="05/26/04">
<comment>GM /becomenpc - Become an NPC</comment>
</opcode>
<opcode id="0076" name="OP_PetitionCheckout" updated="05/26/04">
<comment>Petition Checkout</comment>
</opcode>
<opcode id="007e" name="OP_PetitionCheckIn" updated="05/26/04">
<comment>Petition Checkin</comment>
</opcode>
<opcode id="688f" name="OP_PetitionResolve" updated="05/11/05">
<comment>Client Petition Resolve Request</comment>
</opcode>
<opcode id="0165" name="OP_DeletePetition" updated="01/26/05">
<comment>Player /deletepetition</comment>
</opcode>
<opcode id="0082" name="OP_PetitionQue" updated="05/26/04">
<comment>GM looking at petitions</comment>
</opcode>
<opcode id="0090" name="OP_PetitionUnCheckout" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0097" name="OP_GMSearchCorpse" updated="05/26/04">
<comment>GM /searchcorpse - Search all zones for named corpse</comment>
</opcode>
<opcode id="009a" name="OP_GuildPeace" updated="05/26/04">
<comment>/guildpeace</comment>
</opcode>
<opcode id="00a4" name="OP_GuildWar" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="00a7" name="OP_GuildLeader" updated="05/26/04">
<comment>/guildleader</comment>
</opcode>
<opcode id="00b6" name="OP_ApplyPoison" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="00da" name="OP_GMInquire" updated="05/26/04">
<comment>GM /inquire - Search soulmark data</comment>
</opcode>
<opcode id="00dc" name="OP_GMSoulmark" updated="05/26/04">
<comment>GM /praise /warn - Add soulmark comment to user file</comment>
</opcode>
<opcode id="00de" name="OP_GMHideMe" updated="05/26/04">
<comment>GM /hideme - Remove self from spawn lists and make invis</comment>
</opcode>
<opcode id="00ef" name="OP_SafePoint" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="010b" name="OP_GMGoto" updated="05/26/04">
<comment>GM /goto - Transport to another loc</comment>
</opcode>
<opcode id="012d" name="OP_BindWound" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0132" name="OP_GuildRemove" updated="05/26/04">
<comment>/guildremove</comment>
</opcode>
<opcode id="013b" name="OP_GMTraining" updated="05/26/04">
<comment>old OpenGMCode</comment>
<payload dir="both" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="013c" name="OP_GMEndTraining" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0152" name="OP_MoveCash" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0160" name="OP_Taunt" updated="05/26/04">
<comment>old ConsumeCode</comment>
</opcode>
<opcode id="016c" name="OP_Stun" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0175" name="OP_GMTrainSkill" updated="05/26/04">
<comment>old SkillTrainCode</comment>
</opcode>
<opcode id="0178" name="OP_GMEndTrainingResponse" updated="05/26/04">
<comment>old CloseGMCode</comment>
<payload dir="both" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="0183" name="OP_GMZoneRequest" updated="05/26/04">
<comment>/zone</comment>
</opcode>
<opcode id="018f" name="OP_BecomePK" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0197" name="OP_SetDataRate" updated="05/26/04">
<comment>Client sending datarate.txt value</comment>
</opcode>
<opcode id="0198" name="OP_GMDelCorpse" updated="05/26/04">
<comment>/delcorpse</comment>
</opcode>
<opcode id="0199" name="OP_Sacrifice" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="01af" name="OP_GMApproval" updated="05/26/04">
<comment>GM /approval - Name approval duty?</comment>
</opcode>
<opcode id="01b2" name="OP_GMToggle" updated="05/26/04">
<comment>GM /toggle - Toggle ability to receive tells from other PC's</comment>
</opcode>
<opcode id="01bc" name="OP_MoneyUpdate" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="01ba" name="OP_ReqZoneObjects" updated="05/26/04">
<comment>Client requesting zone objects</comment>
</opcode>
<opcode id="01c4" name="OP_Translocate" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="01ea" name="OP_RespondAA" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="01ed" name="OP_IncreaseStats" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="01ef" name="OP_ViewPetition" updated="05/26/04">
<comment>Player /viewpetition</comment>
</opcode>
<opcode id="01ff" name="OP_ExpansionSetting" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0205" name="OP_GainMoney" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0225" name="OP_GMZoneRequest2" updated="05/26/04">
<comment>/zone 2</comment>
</opcode>
<opcode id="0245" name="?" implicitlen="6" updated="07/14/04">
<comment>Unknown, but has implicit length</comment>
</opcode>
<opcode id="0261" name="OP_CrashDump" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0263" name="OP_GuildDemote" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="0264" name="OP_ZoneUnavail" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="028b" name="OP_GMSummon" updated="05/26/04">
<comment>GM /summon - Summon PC to self</comment>
</opcode>
<opcode id="0296" name="OP_ItemTextFile" updated="05/26/04">
<comment>old BookTextCode</comment>
<payload dir="server" typename="bookTextStruct" sizechecktype="none"/>
</opcode>
<opcode id="029e" name="OP_OpenObject" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="028e" name="OP_GMEmoteZone" updated="05/26/04">
<comment>GM /emotezone - Send zonewide emote</comment>
</opcode>
<opcode id="0296" name="OP_ReadBook" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="02b4" name="OP_SummonCorpse" updated="05/26/04">
<comment>/summoncorpse</comment>
</opcode>
<opcode id="02cc" name="OP_ShopItem" updated="05/26/04">
<comment>Merchant Item data</comment>
</opcode>
<opcode id="02d0" name="OP_AdventureRequest" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="02d1" name="OP_AdventureMerchantResponse" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="02d2" name="OP_AdventureMerchantPurchase" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="02e2" name="OP_AdventurePointsUpdate" updated="05/26/04">
<comment></comment>
</opcode>
<opcode id="02ef" name="OP_Adventure" updated="05/26/04">
<comment>/adventure</comment>
</opcode>
<opcode id="1ee8" name="OP_CombatAbility" updated="02/15/05">
<comment></comment>
</opcode>
-->
</seqopcodes>

Thanks Newby... now to figure out what was giving me fits in the structs. I know I was close!

pita
11-18-2011, 03:20 PM
I only see 5.13.10.3 tarball. Where was the .4 posted?

Newby
11-18-2011, 03:22 PM
.4 package was referenced in this thread: http://www.showeq.net/forums/showthread.php?6567-8-10-11-patch&p=46309#post46309

Newby
11-21-2011, 10:41 PM
.4 was mentioned in this thread: http://www.showeq.net/forums/showthread.php?6567-8-10-11-patch

Razzy
11-26-2011, 11:11 AM
Thanks Thanks Thanks!!!

(can't say that enough...)

pita
11-26-2011, 11:11 AM
Ok, applied updates to the .4 tarball. and it ran fine for last night. Now today, its constantly crashing, can't figure out what is making it crash.

Razzy
11-26-2011, 11:27 AM
Okay, well I just applied the changes and getting about the same symptom you are. It was working until I zone then it crashed.

On a side note, I tried converting the new maps using the mapconvert... I see the labels showing up but not the zone lines in one zone - did not test more. I have similar problems (but mostly ok) with old zone maps. They're not very consistent. Is there something I did wrong?

Newby
11-29-2011, 11:39 PM
I'm not sure why you're crashing, mine's been stable. I did find a problem with my patch, but it wasn't causing any crashing for me. Anyway, I fixed that and I've also fixed an issue with "mobs" with auras like campfires and such, that weren't getting locations correctly and causing weird zooming issues with the map display. Here's a new diff, again against a virgin .4 release. Don't apply it to a source tree that had my previous patch.


diff -cr showeq-5.13.10.4.virgin/conf/zoneopcodes.xml showeq-5.13.10.4/conf/zoneopcodes.xml
*** showeq-5.13.10.4.virgin/conf/zoneopcodes.xml Thu May 19 07:59:44 2011
--- showeq-5.13.10.4/conf/zoneopcodes.xml Tue Nov 22 18:46:54 2011
***************
*** 5,11 ****
<!--
Critical opcodes used directly by ShowEQ
-->
! <opcode id="38E0" name="OP_NpcMoveUpdate" updated="04/15/11">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
--- 5,11 ----
<!--
Critical opcodes used directly by ShowEQ
-->
! <opcode id="2339" name="OP_NpcMoveUpdate" updated="11/16/11">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
***************
*** 13,23 ****
<comment></comment>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
! <opcode id="0BD0" name="OP_DeleteSpawn" updated="04/15/11">
<comment>old DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
! <opcode id="02D6" name="OP_ZoneEntry" updated="04/14/11">
<comment>old ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
--- 13,23 ----
<comment></comment>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
! <opcode id="0CAE" name="OP_DeleteSpawn" updated="11/16/11">
<comment>old DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
! <opcode id="5821" name="OP_ZoneEntry" updated="11/16/11">
<comment>old ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
***************
*** 86,92 ****
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
! <opcode id="6967" name="OP_HPUpdate" updated="04/18/11">
<comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
--- 86,92 ----
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
! <opcode id="2370" name="OP_HPUpdate" updated="11/16/11">
<comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
***************
*** 154,160 ****
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
! <opcode id="3C2D" name="OP_Consider" updated="10/21/09">
<comment>old ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
--- 154,160 ----
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
! <opcode id="70C6" name="OP_Consider" updated="11/16/11">
<comment>old ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
***************
*** 179,185 ****
<payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
<comment>Declining to join a group</comment>
</opcode> -->
! <opcode id="43AC" name="OP_NewZone" updated="06/12/09">
<comment>old NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
--- 179,185 ----
<payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
<comment>Declining to join a group</comment>
</opcode> -->
! <opcode id="4118" name="OP_NewZone" updated="11/16/11">
<comment>old NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
***************
*** 192,202 ****
<comment>old ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
! <opcode id="725A" name="OP_RemoveSpawn" updated="04/18/11">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
! <opcode id="49B6" name="OP_Death" updated="04/15/11">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
--- 192,202 ----
<comment>old ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
! <opcode id="58c5" name="OP_RemoveSpawn" updated="11/16/11">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
! <opcode id="799C" name="OP_Death" updated="11/16/11">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
***************
*** 250,256 ****
<comment>old CorpseLocCode:</comment>
<payload dir="server" typename="corpseLocStruct" sizechecktype="match"/>
</opcode>
! <opcode id="6022" name="OP_PlayerProfile" updated="01/17/08">
<comment>old CharProfileCode</comment>
<payload dir="server" typename="charProfileStruct" sizechecktype="match"/>
</opcode>
--- 250,256 ----
<comment>old CorpseLocCode:</comment>
<payload dir="server" typename="corpseLocStruct" sizechecktype="match"/>
</opcode>
! <opcode id="6AFD" name="OP_PlayerProfile" updated="11/16/11">
<comment>old CharProfileCode</comment>
<payload dir="server" typename="charProfileStruct" sizechecktype="match"/>
</opcode>
diff -cr showeq-5.13.10.4.virgin/src/everquest.h showeq-5.13.10.4/src/everquest.h
*** showeq-5.13.10.4.virgin/src/everquest.h Wed May 25 13:14:28 2011
--- showeq-5.13.10.4/src/everquest.h Fri Nov 18 09:33:41 2011
***************
*** 103,112 ****
//Maximum limits of certain types of data
#define MAX_KNOWN_SKILLS 100
#define MAX_SPELL_SLOTS 12
! #define MAX_KNOWN_LANGS 25
#define MAX_SPELLBOOK_SLOTS 400
#define MAX_GROUP_MEMBERS 6
! #define MAX_BUFFS 30
#define MAX_GUILDS 8192
#define MAX_AA 300
#define MAX_BANDOLIERS 20
--- 103,112 ----
//Maximum limits of certain types of data
#define MAX_KNOWN_SKILLS 100
#define MAX_SPELL_SLOTS 12
! #define MAX_KNOWN_LANGS 26
#define MAX_SPELLBOOK_SLOTS 400
#define MAX_GROUP_MEMBERS 6
! #define MAX_BUFFS 42
#define MAX_GUILDS 8192
#define MAX_AA 300
#define MAX_BANDOLIERS 20
***************
*** 425,431 ****

/*
** Buffs
! ** Length: 76 Octets
** Used in:
** charProfileStruct
*/
--- 425,431 ----

/*
** Buffs
! ** Length: 88 Octets
** Used in:
** charProfileStruct
*/
***************
*** 441,448 ****
/*0016*/ int32_t effect; // holds the dmg absorb amount on runes
/*0020*/ uint8_t unknown0020[4]; // *** this might need to be swapped with playerId
/*0024*/ uint32_t playerId; // Global id of caster (for wear off)
! /*0028*/ uint8_t unknown0028[48];
! /*0076*/
};


--- 441,448 ----
/*0016*/ int32_t effect; // holds the dmg absorb amount on runes
/*0020*/ uint8_t unknown0020[4]; // *** this might need to be swapped with playerId
/*0024*/ uint32_t playerId; // Global id of caster (for wear off)
! /*0028*/ uint8_t unknown0028[60];
! /*0088*/
};


***************
*** 713,731 ****
/*07868*/ uint32_t hunger; // Food (ticks till next eat)
/*07872*/ uint8_t unknown07872[20];
/*07892*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player
! /*10172*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines
! /*10572*/ uint8_t unknown10572[1600]; // BSH
! /*11132*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use)
! /*11212*/ uint32_t endurance; // Current endurance
! /*11216*/ uint32_t aa_spent; // Number of spent AA points (including glyphs)
! /*11220*/ uint32_t aa_assigned; // Number of points currently assigned to AAs
! /*11224*/ uint32_t unknown11224[4];
! /*11240*/ uint32_t aa_unspent; // Unspent AA points
! /*11244*/ uint8_t unknown11244[4];
! /*11248*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents
! /*17648*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt
! /*18008*/ uint8_t unknown18008[92];
! /*18100*/
};

/*
--- 713,732 ----
/*07868*/ uint32_t hunger; // Food (ticks till next eat)
/*07872*/ uint8_t unknown07872[20];
/*07892*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player
! /*11588*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines
! /*11988*/ uint8_t unknown10932[400];
! /*12188*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use)
! /*12468*/ uint8_t unknown11412[480];
! /*12948*/ uint32_t endurance; // Current endurance
! /*12952*/ uint32_t aa_spent; // Number of spent AA points (including glyphs)
! /*12956*/ uint32_t aa_assigned; // Number of points currently assigned to AAs
! /*12960*/ uint32_t unknown11904[4];
! /*12976*/ uint32_t aa_unspent; // Unspent AA points
! /*12980*/ uint8_t unknown11924[4];
! /*12984*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents
! /*19384*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt
! /*19744*/ uint8_t unknown18008[92];
! /*19836*/
};

/*
***************
*** 737,817 ****
{
/*00000*/ uint32_t checksum; //
/*00004*/ playerProfileStruct profile; // Profile
! /*18100*/ char name[64]; // Name of player
! /*18164*/ char lastName[32]; // Last name of player
! /*18196*/ uint8_t unknown18196[8]; //***Placeholder (1/18/2006)
! /*18204*/ int32_t guildID; // guildID
! /*18208*/ uint32_t birthdayTime; // character birthday
! /*18212*/ uint32_t lastSaveTime; // character last save time
! /*18216*/ uint32_t timePlayedMin; // time character played
! /*18220*/ uint8_t unknown18220[4];
! /*18224*/ uint8_t pvp; // 1=pvp, 0=not pvp
! /*18225*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon
! /*18226*/ uint8_t gm; // 0=no, 1=yes (guessing!)
! /*18227*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader
! /*18228*/ uint8_t unknown18228[8];
! /*18236*/ uint32_t exp; // Current Experience
! /*18240*/ uint8_t unknown18240[12];
! /*18252*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages
! /*18277*/ uint8_t unknown18277[7]; // All 0x00 (language buffer?)
! /*18284*/ float y; // Players y position
! /*18288*/ float x; // Players x position
! /*18292*/ float z; // Players z position
! /*18296*/ float heading; // Players heading
! /*18300*/ uint32_t standState; // 0x64 = stand
! /*18304*/ uint32_t platinum_bank; // Platinum Pieces in Bank
! /*18308*/ uint32_t gold_bank; // Gold Pieces in Bank
! /*18312*/ uint32_t silver_bank; // Silver Pieces in Bank
! /*18316*/ uint32_t copper_bank; // Copper Pieces in Bank
! /*18320*/ uint32_t platinum_shared; // Shared platinum pieces
! /*18324*/ uint8_t unknown18324[2124]; // Added 1088 for HoT
! /*20488*/ uint32_t expansions; // Bitmask for expansions
! /*20452*/ uint8_t unknown20452[12];
! /*20464*/ uint32_t autosplit; // 0 = off, 1 = on
! /*20468*/ uint8_t unknown20468[16];
! /*20484*/ uint16_t zoneId; // see zones.h
! /*20486*/ uint16_t zoneInstance; // Instance id
! /*20486*/ uint8_t unknown20486[992];
! /*21480*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on
! /*21484*/ uint8_t unknown21484[4];
! /*21488*/ uint32_t ldon_guk_points; // Earned GUK points
! /*21492*/ uint32_t ldon_mir_points; // Earned MIR points
! /*21496*/ uint32_t ldon_mmc_points; // Earned MMC points
! /*21500*/ uint32_t ldon_ruj_points; // Earned RUJ points
! /*21504*/ uint32_t ldon_tak_points; // Earned TAK points
! /*21508*/ uint32_t ldon_avail_points; // Available LDON points
! /*21512*/ uint8_t unknown21512[136];
! /*21648*/ uint32_t tributeTime; // Time remaining on tribute (millisecs)
! /*21652*/ uint32_t careerTribute; // Total favor points for this char
! /*21656*/ uint32_t unknown21656; // *** Placeholder
! /*21660*/ uint32_t currentTribute; // Current tribute points
! /*21664*/ uint32_t unknown21664; // *** Placeholder
! /*21668*/ uint32_t tributeActive; // 0 = off, 1=on
! /*21672*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout
! /*21712*/ uint8_t unknown21712[92]; // Added 208 bytes for HoT BETA
! /*21804*/ float expGroupLeadAA; // Current group lead exp points
! /*21808*/ uint32_t unknown21808;
! /*21812*/ float expRaidLeadAA; // Current raid lead AA exp points
! /*21816*/ uint32_t unknown21816;
! /*21820*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points
! /*21824*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points
! /*21828*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks
! /*21956*/ uint8_t unknown21956[128];
! /*22084*/ uint32_t airRemaining; // Air supply (seconds)
! /*22088*/ uint8_t unknown22088[4608];
! /*26696*/ uint32_t expAA; // Exp earned in current AA point
! /*26700*/ uint8_t unknown26700[40];
! /*26740*/ uint32_t currentRadCrystals; // Current count of radiant crystals
! /*26744*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever
! /*26748*/ uint32_t currentEbonCrystals;// Current count of ebon crystals
! /*26752*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever
! /*26756*/ uint8_t groupAutoconsent; // 0=off, 1=on
! /*26757*/ uint8_t raidAutoconsent; // 0=off, 1=on
! /*26758*/ uint8_t guildAutoconsent; // 0=off, 1=on
! /*26759*/ uint8_t unknown26759[5]; // ***Placeholder (6/29/2005)
! /*26764*/ uint32_t showhelm; // 0=no, 1=yes
! /*26768*/ uint8_t unknown26768[1048]; // ***Placeholder (2/13/2007)
! /*27816*/
};

#if 0
--- 738,818 ----
{
/*00000*/ uint32_t checksum; //
/*00004*/ playerProfileStruct profile; // Profile
! /*19836*/ char name[64]; // Name of player
! /*19900*/ char lastName[32]; // Last name of player
! /*19932*/ uint8_t unknown18196[8]; //***Placeholder (1/18/2006)
! /*19940*/ int32_t guildID; // guildID
! /*19944*/ uint32_t birthdayTime; // character birthday
! /*19948*/ uint32_t lastSaveTime; // character last save time
! /*19952*/ uint32_t timePlayedMin; // time character played
! /*19956*/ uint8_t unknown18220[4];
! /*19960*/ uint8_t pvp; // 1=pvp, 0=not pvp
! /*19961*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon
! /*19962*/ uint8_t gm; // 0=no, 1=yes (guessing!)
! /*19963*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader
! /*19964*/ uint8_t unknown18228[16];
! /*19980*/ uint32_t exp; // Current Experience
! /*19984*/ uint8_t unknown18240[12];
! /*19996*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages ccc
! /*20022*/ uint8_t unknown18277[6]; // All 0x00 (language buffer?)
! /*20028*/ float y; // Players y position
! /*20032*/ float x; // Players x position
! /*20036*/ float z; // Players z position
! /*20040*/ float heading; // Players heading
! /*20044*/ uint32_t standState; // 0x64 = stand
! /*20048*/ uint32_t platinum_bank; // Platinum Pieces in Bank
! /*20052*/ uint32_t gold_bank; // Gold Pieces in Bank
! /*20056*/ uint32_t silver_bank; // Silver Pieces in Bank
! /*20060*/ uint32_t copper_bank; // Copper Pieces in Bank
! /*20064*/ uint32_t platinum_shared; // Shared platinum pieces ccc
! /*20068*/ uint8_t unknown18324[2124]; // Added 1088 for HoT
! /*22192*/ uint32_t expansions; // Bitmask for expansions ccc
! /*22196*/ uint8_t unknown20452[12];
! /*22208*/ uint32_t autosplit; // 0 = off, 1 = on ccc
! /*22212*/ uint8_t unknown20468[16];
! /*22228*/ uint16_t zoneId; // see zones.h ccc
! /*22230*/ uint16_t zoneInstance; // Instance id ccc
! /*22232*/ uint8_t unknown20486[992];
! /*23224*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on ccc
! /*23228*/ uint8_t unknown21484[4];
! /*23232*/ uint32_t ldon_guk_points; // Earned GUK points ccc
! /*23236*/ uint32_t ldon_mir_points; // Earned MIR points ccc
! /*23240*/ uint32_t ldon_mmc_points; // Earned MMC points ccc
! /*23244*/ uint32_t ldon_ruj_points; // Earned RUJ points ccc
! /*23248*/ uint32_t ldon_tak_points; // Earned TAK points ccc
! /*23252*/ uint32_t ldon_avail_points; // Available LDON points ccc
! /*23256*/ uint8_t unknown21512[144];
! /*23400*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) ccc
! /*23404*/ uint32_t careerTribute; // Total favor points for this char ccc
! /*23408*/ uint32_t unknown21656; // *** Placeholder ccc
! /*23412*/ uint32_t currentTribute; // Current tribute points ccc
! /*23416*/ uint32_t unknown21664; // *** Placeholder
! /*23420*/ uint32_t tributeActive; // 0 = off, 1=on
! /*23424*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout ccc
! /*23464*/ uint8_t unknown21712[84]; // Added 208 bytes for HoT BETA ccc
! /*23548*/ float expGroupLeadAA; // Current group lead exp points ccc
! /*23552*/ uint32_t unknown21808;
! /*23556*/ float expRaidLeadAA; // Current raid lead AA exp points ccc
! /*23560*/ uint32_t unknown21816;
! /*23564*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points ccc
! /*23568*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points ccc
! /*23572*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks ccc
! /*23700*/ uint8_t unknown21956[128];
! /*23828*/ uint32_t airRemaining; // Air supply (seconds) ccc
! /*23832*/ uint8_t unknown22088[4608];
! /*28440*/ uint32_t expAA; // Exp earned in current AA point ccc
! /*28444*/ uint8_t unknown26700[40];
! /*28484*/ uint32_t currentRadCrystals; // Current count of radiant crystals ccc
! /*28488*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever ccc
! /*28492*/ uint32_t currentEbonCrystals;// Current count of ebon crystals ccc
! /*28496*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever ccc
! /*28500*/ uint8_t groupAutoconsent; // 0=off, 1=on
! /*28501*/ uint8_t raidAutoconsent; // 0=off, 1=on
! /*28502*/ uint8_t guildAutoconsent; // 0=off, 1=on
! /*28503*/ uint8_t unknown26759[5]; // ***Placeholder (6/29/2005)
! /*28508*/ uint32_t showhelm; // 0=no, 1=yes
! /*28512*/ uint8_t unknown26768[1048]; // ***Placeholder (2/13/2007)
! /*29560*/
};

#if 0
diff -cr showeq-5.13.10.4.virgin/src/main.cpp showeq-5.13.10.4/src/main.cpp
*** showeq-5.13.10.4.virgin/src/main.cpp Thu Dec 30 12:38:59 2010
--- showeq-5.13.10.4/src/main.cpp Fri Nov 18 09:44:13 2011
***************
*** 175,180 ****
--- 175,194 ----

bool bOptionHelp = false;

+ #undef OFFTEST
+ #ifdef OFFTEST
+ {
+ struct charProfileStruct cps;
+ char *v0, *v1;
+
+ printf ("sizeof (charProfileStruct) = %d\n", sizeof (cps));
+ v0 = (char *) &cps;
+ v1 = (char *) &cps.leadershipAAs;
+ printf ("leadershipAAs=%d\n", v1 - v0);
+ exit (0);
+ }
+ #endif
+
/* Create application instance */
// QApplication::setStyle( new QWindowsStyle );
QApplication qapp (argc, argv);
diff -cr showeq-5.13.10.4.virgin/src/spawnshell.cpp showeq-5.13.10.4/src/spawnshell.cpp
*** showeq-5.13.10.4.virgin/src/spawnshell.cpp Fri Apr 15 04:07:22 2011
--- showeq-5.13.10.4/src/spawnshell.cpp Wed Nov 23 17:52:08 2011
***************
*** 592,597 ****
--- 592,604 ----
netStream.skipBytes(4);
}

+ if(spawn->otherData & 2) { // aura stuff
+ netStream.readText(); // skip 2 variable len strings
+ netStream.readText();
+ netStream.skipBytes(54); // and 54 static bytes
+ }
+
+
// skip facestyle, walk/run speeds, unknown5
netStream.skipBytes(13);

***************
*** 635,641 ****
strcpy(spawn->lastName, name.latin1());
}

! netStream.skipBytes(5);

spawn->petOwnerId = netStream.readUInt32NC();

--- 642,648 ----
strcpy(spawn->lastName, name.latin1());
}

! netStream.skipBytes(6);

spawn->petOwnerId = netStream.readUInt32NC();

diff -cr showeq-5.13.10.4.virgin/src/zones.h showeq-5.13.10.4/src/zones.h
*** showeq-5.13.10.4.virgin/src/zones.h Fri Dec 31 00:22:37 2010
--- showeq-5.13.10.4/src/zones.h Fri Nov 18 00:29:38 2011
***************
*** 707,716 ****
{ NULL, NULL }, // 697
{ NULL, NULL }, // 698
{ NULL, NULL }, // 699
{ "thulehouse1", "House of Thule" }, // 701
{ "thulehouse2", "House of Thule, Upper Floors" }, // 702
{ "housegarden", "The Grounds" }, // 703
! { "houselibrary", "The Library" }, // 704
{ "well", "The Well" }, // 705
{ "fallen", "Erudin Burning" }, // 706
{ "morellcastle", "Morell's Castle" }, // 707
--- 707,717 ----
{ NULL, NULL }, // 697
{ NULL, NULL }, // 698
{ NULL, NULL }, // 699
+ { "feerrott2", "The Feerrott" }, // 700
{ "thulehouse1", "House of Thule" }, // 701
{ "thulehouse2", "House of Thule, Upper Floors" }, // 702
{ "housegarden", "The Grounds" }, // 703
! { "thulelibrary", "The Library" }, // 704
{ "well", "The Well" }, // 705
{ "fallen", "Erudin Burning" }, // 706
{ "morellcastle", "Morell's Castle" }, // 707
***************
*** 730,747 ****
{ NULL, NULL }, // 721
{ NULL, NULL }, // 722
{ "phinterior1d1", "Dragon House Interior" }, // 723
! { NULL, NULL }, // 724
! { NULL, NULL }, // 725
! { NULL, NULL }, // 726
! { NULL, NULL }, // 727
! { NULL, NULL }, // 728
! { NULL, NULL }, // 729
! { NULL, NULL }, // 730
! { NULL, NULL }, // 731
! { NULL, NULL }, // 732
! { NULL, NULL }, // 733
! { NULL, NULL }, // 734
! { NULL, NULL }, // 735
{ NULL, NULL }, // 736
{ NULL, NULL }, // 737
{ NULL, NULL }, // 738
--- 731,748 ----
{ NULL, NULL }, // 721
{ NULL, NULL }, // 722
{ "phinterior1d1", "Dragon House Interior" }, // 723
! { "argath", "Argatch, Bastion of Illdaera" }, // 724
! { "arelis", "Valley of Lunanyn" }, // 725
! { "sarithcity", "Sarith, City of Tides" }, // 726
! { "rubak", "Rubak Oseka, Temple of the Sea" }, // 727
! { "beastdomain", "Beasts' Domain" }, // 728
! { "resplendent", "The Resplendent Temple" }, // 729
! { "pillarsalra", "Pillars of Alra" }, // 730
! { "windsong", "Windsong Sanctuary" }, // 731
! { "cityofbronze", "Erillion, City of Bronze" }, // 732
! { "sepulcher", "Sepulcher of Order" }, // 733
! { "eastsepulcher", "Sepulcher East" }, // 734
! { "westsepulcher", "Sepulcher West" }, // 735
{ NULL, NULL }, // 736
{ NULL, NULL }, // 737
{ NULL, NULL }, // 738

fransick
12-11-2011, 08:50 AM
Starting last night I suddenly started getting seg faults pretty much in every zone... compile had been stable for days prior. Any thoughts on the backtrace below?


Program received signal SIGSEGV, Segmentation fault.
0x02586794 in QString::deref() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
Missing separate debuginfos, use: debuginfo-install expat-2.0.1-10.fc13.i686 fontconfig-2.8.0-2.fc14.i686 freetype-2.4.2-7.fc14.i686 glibc-2.13-2.i686 lcms-libs-1.19-2.fc14.i686 libICE-1.0.6-2.fc13.i686 libSM-1.1.0-7.fc12.i686 libX11-1.3.4-4.fc14.i686 libXau-1.0.6-1.fc14.i686 libXcursor-1.1.10-5.fc14.i686 libXext-1.1.2-2.fc14.i686 libXfixes-4.0.5-1.fc14.i686 libXft-2.1.14-1.fc13.i686 libXi-1.3.2-1.fc14.i686 libXinerama-1.1-2.fc13.i686 libXrandr-1.3.0-5.fc13.i686 libXrender-0.9.6-1.fc14.i686 libgcc-4.5.1-4.fc14.i686 libjpeg-turbo-1.1.1-1.fc14.i686 libmng-1.0.10-4.fc12.i686 libpcap-1.1.1-3.fc14.i686 libpng-1.2.46-1.fc14.i686 libstdc++-4.5.1-4.fc14.i686 libuuid-2.18-4.8.fc14.i686 libxcb-1.7-1.fc14.i686 qt3-3.3.8b-37.fc14.i686 zlib-1.2.5-2.fc14.i686
(gdb) backtrace
#0 0x02586794 in QString::deref() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#1 0x0258686e in QString::operator=(QString const&) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#2 0x080f5817 in Player::setLastKill (this=0x847e0e8, name=..., level=70 'F') at player.cpp:800
#3 0x08074063 in SpawnShell::killSpawn (this=0x8315548, data=0x85675b8 "\335 ") at spawnshell.cpp:1442
#4 0x08074b37 in SpawnShell::qt_invoke (this=0x8315548, _id=25, _o=0xbfffc2f0) at spawnshell.moc:412
#5 0x022af5aa in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#6 0x0809063f in EQPacketDispatch::signal (this=0x83df580, t0=0x85675b8 "\335 ", t1=32, t2=2 '\002') at packetinfo.moc:99
#7 0x08089d89 in EQPacketStream::dispatchPacket (this=0x8327638, data=0x85675b8 "\335 ", len=32, opCode=31132, opcodeEntry=0x8450f88) at packetstream.cpp:435
#8 0x0808c0da in EQPacketStream::processPacket (this=0x8327638, packet=..., isSubpacket=true) at packetstream.cpp:717
#9 0x0808c3ba in EQPacketStream::processPacket (this=0x8327638, packet=..., isSubpacket=true) at packetstream.cpp:805
#10 0x0808c1d8 in EQPacketStream::processPacket (this=0x8327638, packet=..., isSubpacket=false) at packetstream.cpp:657
#11 0x0808cc38 in EQPacketStream::handlePacket (this=0x8327638, packet=...) at packetstream.cpp:570
#12 0x08093292 in EQPacket::dispatchPacket (this=0x847b090, packet=...) at packet.cpp:659
#13 0x08095b65 in dispatchPacket (this=0x847b090) at packet.cpp:583
#14 EQPacket::processPackets (this=0x847b090) at packet.cpp:400
#15 0x08095e40 in EQPacket::qt_invoke (this=0x847b090, _id=2, _o=0xbfffe778) at packet.moc:577
#16 0x022af642 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x022af724 in QObject::activate_signal(int) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#18 0x025f6c5a in QTimer::timeout() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x022cfe3e in QTimer::event(QEvent*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x0224dffd in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x0224e18b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x0224223c in QEventLoop::activateTimers() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x021fd182 in QEventLoop::processEvents(unsigned int) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x02263b50 in QEventLoop::enterLoop() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#25 0x02263ad7 in QEventLoop::exec() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#26 0x0224ed20 in QApplication::exec() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#27 0x08067a8b in main (argc=1, argv=0xbffff404) at main.cpp:737
(gdb)


Further testing shows it pretty much crashes whenever I kill something, whether it be my familiar or a mob. Going back through the code to make sure I didn't mangle the updates somehow but looking like something is not right with "lastkill"

On a happier note, got motivated to update more opcodes before it started crashing all the time. Haven't been able to figure out the difference between formatted messages, special messages and simple messages however. Wish I had logs from a time when most of these opcodes were correct to better understand what the payloads look like for each.

*** Update *** Commenting out spawnshell.cpp line 1442 restored stability. Will post updated opcodes later this week to get ground spawns and such back on the map. Perhaps the active hack crackdown will bring a few devs back here to clean things up in a way I can't. Would be interesting to see it cleaned up and working properly for reference purposes!

purple
12-12-2011, 03:47 PM
Haven't been able to figure out the difference between formatted messages, special messages and simple messages however.


There are only 3 of them, just guess and do trial and error until it works. If you're really trying to get it figured out, you can always lookup the formatted message in the strings file using the network bytes and if it matches, it is formatted message.



Wish I had logs from a time when most of these opcodes were correct to better understand what the payloads look like for each.


That's pretty much the secret to learning how to do opcodes quickly. The packets are pretty much in a consistent order unless your connection is bad, so having a known good file to compare to a new one will let you hammer out 60% of the important opcodes just by zoning with logging turned on.


Perhaps the active hack crackdown will bring a few devs back here to clean things up in a way I can't.

Don't hold your breath! Seriously though, seq isn't active. There isn't anything a seq dev would do to make it better than it is. You're only going to get caught using seq by your actions. But really, it's almost not worth their effort. There is a lot more lower hanging fruit.

purple
12-12-2011, 03:48 PM
Oh, and your backtrace looks like either the packet for kill spawn had a struct change or your opcode is wrong.

Razzle
12-12-2011, 04:20 PM
/bow to purple

I will see abt cleaning up some stuff and get a new tarball together when i have time. It will be two weeks before i could look at it though. I still have my linux box functional but my local lan is not set up for it. I think i have an old router i can use. I really havent done anything with seq in a year. Even with myseq, i only dink with it. I wouldnt say much developing is going on.

Razzle

fransick
12-12-2011, 05:23 PM
Oh, and your backtrace looks like either the packet for kill spawn had a struct change or your opcode is wrong.

Thanks Purple. Good to see you still lurking about. I think it's a struct change and I've gotten it stable for the moment.


Don't hold your breath! Seriously though, seq isn't active. There isn't anything a seq dev would do to make it better than it is. You're only going to get caught using seq by your actions. But really, it's almost not worth their effort. There is a lot more lower hanging fruit.

/agree. Not looking to improve anything per se just hoping we could get svn tree up to date as I think we are all working on patches of patches at this point making diff files and updates trickier. heck, I am just glad someone replied :cool:

purple
12-14-2011, 11:19 AM
If someone wants to create a new post that includes exactly the patches to apply to latest svn, I am willing to commit it. But it will be completely untested. I haven't played EQ in a long time.

fransick
12-14-2011, 04:08 PM
If someone wants to create a new post that includes exactly the patches to apply to latest svn, I am willing to commit it. But it will be completely untested. I haven't played EQ in a long time.

I am away on business but may be able to take a crack at it this weekend if no one beats me to the punch. Appreciate the offer to get the svn tree up to date.

fransick
12-19-2011, 08:55 PM
Below is a diff I created from a clean download of svn revision 759. Your mileage may vary...


diff -rubp showeq/ChangeLog showeq-current/ChangeLog
--- showeq/ChangeLog 2011-12-19 21:07:40.204216602 -0500
+++ showeq-current/ChangeLog 2011-12-17 18:17:28.402339676 -0500
@@ -1,3 +1,10 @@
+Fransick (11/16/11)
+-----------------
+- Updated opcodes/structs for VOA launch (Newby, Fransick)
+- Increased MAX_KNOWN_LANGS to 26
+- Increased MAX_BUFFS to 42
+- Updated zones.h for VoA Launch
+
Razzle (1/1/11)
-----------------
- Updated version to 5.13.10.3
diff -rubp showeq/conf/zoneopcodes.xml showeq-current/conf/zoneopcodes.xml
--- showeq/conf/zoneopcodes.xml 2011-12-19 21:07:36.416281776 -0500
+++ showeq-current/conf/zoneopcodes.xml 2011-12-19 20:55:50.000000000 -0500
@@ -5,28 +5,28 @@
<!--
Critical opcodes used directly by ShowEQ
-->
- <opcode id="5BAD" name="OP_NpcMoveUpdate" updated="12/08/10">
+ <opcode id="2339" name="OP_NpcMoveUpdate" updated="11/16/11">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="48C6" name="OP_MovementHistory" updated="12/08/10">
+ <opcode id="45d7" name="OP_MovementHistory" updated="12/17/11">
<comment></comment>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="220C" name="OP_DeleteSpawn" updated="12/08/10">
+ <opcode id="0CAE" name="OP_DeleteSpawn" updated="11/16/11">
<comment>old DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
- <opcode id="002B" name="OP_ZoneEntry" updated="10/15/10">
+ <opcode id="5821" name="OP_ZoneEntry" updated="11/16/11">
<comment>old ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="5F85" name="OP_GuildMOTD" updated="10/15/10">
+ <opcode id="102F" name="OP_GuildMOTD" updated="11/15/11">
<comment>GuildMOTD</comment>
<payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
</opcode>
- <opcode id="2370" name="OP_InspectAnswer" updated="10/15/10">
+ <opcode id="0C54" name="OP_InspectAnswer" updated="11/15/11">
<comment>old InspectDataCode</comment>
<payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
</opcode>
@@ -34,35 +34,35 @@
<comment>Coords in a zone that will port you to another zone</comment>
<payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
</opcode>
- <opcode id="2257" name="OP_TargetMouse" updated="10/15/10">
+ <opcode id="3EDC" name="OP_TargetMouse" updated="11/15/11">
<comment>Targeting a person - old ClientTargetCode</comment>
<payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
</opcode>
- <opcode id="66B4" name="OP_Shroud" updated="10/21/09">
+ <opcode id="4878" name="OP_Shroud" updated="11/15/11">
<comment>Server putting players into shroud form</comment>
<payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
</opcode>
- <opcode id="3015" name="OP_GroupFollow" updated="12/08/10">
+ <opcode id="3671" name="OP_GroupFollow" updated="11/15/11">
<payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
<comment>You join a group</comment>
</opcode>
- <opcode id="173F" name="OP_GroupFollow2" updated="12/08/10">
+ <opcode id="44C2" name="OP_GroupFollow2" updated="11/15/11">
<payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
<comment>Player joins your group</comment>
</opcode>
- <opcode id="390C" name="OP_GroupUpdate" updated="10/21/09">
+ <opcode id="7139" name="OP_GroupUpdate" updated="11/15/11">
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
<comment>Variable length packet with group member names</comment>
</opcode>
- <opcode id="0F14" name="OP_GroupDisband" updated="12/10/10">
+ <opcode id="74E9" name="OP_GroupDisband" updated="11/15/11">
<comment>You disband from group</comment>
<payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
</opcode>
- <opcode id="116D" name="OP_GroupDisband2" updated="12/10/10">
+ <opcode id="3C58" name="OP_GroupDisband2" updated="11/15/11">
<comment>Other disbands from group</comment>
<payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
</opcode>
- <opcode id="53B0" name="OP_GroupLeader" updated="12/10/10">
+ <opcode id="4B82" name="OP_GroupLeader" updated="11/15/11">
<comment>Group leader change</comment>
<payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/>
</opcode>
@@ -74,69 +74,75 @@
<comment></comment>
<payload dir="server" typename="dzInfo" sizechecktype="match"/>
</opcode>
- <opcode id="3B52" name="OP_FormattedMessage" updated="10/21/09">
+ <opcode id="4675" name="OP_FormattedMessage" updated="11/15/11">
<comment>old FormattedMessageCode</comment>
<payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="6CFE" name="OP_SpawnDoor" updated="12/08/10">
+ <opcode id="0E24" name="OP_SpawnDoor" updated="11/15/11">
<comment>old DoorSpawnsCode</comment>
<payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="5448" name="OP_AAExpUpdate" updated="10/21/09">
+ <opcode id="1318" name="OP_AAExpUpdate" updated="12/17/11">
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6145" name="OP_HPUpdate" updated="10/21/09">
+ <opcode id="2370" name="OP_HPUpdate" updated="11/16/11">
<comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0A53" name="OP_GuildMemberUpdate" updated="10/21/09">
+ <opcode id="0ff4" name="OP_ManaUpdate" updated="04/18/11">
+ <comment>Mana Update opcode</comment>
+ </opcode>
+ <opcode id="2370" name="OP_EndUpdate" updated="05/19/11">
+ <comment>Endurance Update opcode</comment>
+ </opcode>
+ <opcode id="589f" name="OP_GuildMemberUpdate" updated="12/17/11">
<comment></comment>
<payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="0507" name="OP_SpawnRename" updated="10/21/09">
+ <opcode id="1055" name="OP_SpawnRename" updated="12/17/11">
<comment>Spawns getting renamed after initial NewSpawn</comment>
<payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
</opcode>
- <!--<opcode id="5251" name="OP_GroupInvited" updated="09/15/09">
+ <opcode id="03CC" name="OP_GroupInvited" updated="11/15/11">
<payload dir="server" typename="groupInviteStruct" sizechecktype="match"/>
<comment>You got invited to a group</comment>
- </opcode>-->
- <opcode id="5251" name="OP_GroupInvite" updated="10/21/09">
+ </opcode>
+ <opcode id="3288" name="OP_GroupInvite" updated="11/15/11">
<payload dir="both" typename="groupInviteStruct" sizechecktype="none"/>
<comment>You invite or get invited</comment>
</opcode>
- <opcode id="5805" name="OP_SwapSpell" updated="10/21/09">
+ <opcode id="28A7" name="OP_SwapSpell" updated="11/15/11">
<comment>old TradeSpellBookSlotsCode</comment>
<payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1F4D" name="OP_SimpleMessage" updated="10/21/09">
+ <opcode id="0698" name="OP_SimpleMessage" updated="11/15/11">
<comment>old SimpleMessageCode</comment>
<payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
</opcode>
- <opcode id="016C" name="OP_SpecialMesg" updated="10/21/09">
+ <opcode id="039D" name="OP_SpecialMesg" updated="11/15/11">
<comment>Communicate textual info to client</comment>
<payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="139D" name="OP_RandomReq" updated="10/21/09">
+ <opcode id="303E" name="OP_RandomReq" updated="11/15/11">
<comment>old RandomReqCode</comment>
<payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0E87" name="OP_ConsentResponse" updated="10/21/09">
+ <opcode id="2C03" name="OP_ConsentResponse" updated="11/15/11">
<comment>Server replying with consent information after /consent</comment>
<payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6129" name="OP_DenyResponse" updated="10/21/09">
+ <opcode id="0AAA" name="OP_DenyResponse" updated="11/15/11">
<comment>Server replying with deny information after /deny</comment>
<payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="550F" name="OP_BazaarSearch" updated="10/21/09">
+ <opcode id="2881" name="OP_BazaarSearch" updated="12/17/11">
<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="0400" name="OP_WearChange" updated="10/21/09">
+ <opcode id="1A58" name="OP_WearChange" updated="11/15/11">
<comment>old SpawnUpdateCode</comment>
<payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
</opcode>
@@ -144,19 +150,19 @@
<comment>old SpawnAppearanceCode</comment>
<payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
</opcode>
- <opcode id="72F8" name="OP_Stamina" updated="10/21/09">
+ <opcode id="7686" name="OP_Stamina" updated="12/17/11">
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
- <opcode id="3E50" name="OP_Consider" updated="10/21/09">
+ <opcode id="70C6" name="OP_Consider" updated="11/16/11">
<comment>old ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0B93" name="OP_ZoneChange" updated="09/07/10">
+ <opcode id="1111" name="OP_ZoneChange" updated="04/18/11">
<comment>old ZoneChangeCode</comment>
<payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2963" name="OP_Buff" updated="10/21/09">
+ <opcode id="0000" name="OP_Buff" updated="11/15/11">
<comment>old BuffDropCode</comment>
<payload dir="both" typename="buffStruct" sizechecktype="match"/>
</opcode>
@@ -164,20 +170,19 @@
<comment></comment>
<payload dir="server" typename="none" sizechecktype="match"/>
</opcode>
-
- <opcode id="5251" name="OP_GroupInvite2" updated="06/12/09">
+ <opcode id="2736" name="OP_GroupInvite2" updated="11/15/11">
<payload dir="client" typename="groupInviteStruct" sizechecktype="match"/>
<comment>You're inviting someone and you are grouped</comment>
</opcode>
- <opcode id="2736" name="OP_GroupCancelInvite" updated="06/12/09">
+ <opcode id="6C16" name="OP_GroupCancelInvite" updated="11/15/11">
<payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
<comment>Declining to join a group</comment>
</opcode>
- <opcode id="43AC" name="OP_NewZone" updated="06/12/09">
+ <opcode id="4118" name="OP_NewZone" updated="11/16/11">
<comment>old NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5F0D" name="OP_GroundSpawn" updated="06/12/09">
+ <opcode id="5C85" name="OP_GroundSpawn" updated="11/15/11">
<comment>old MakeDropCode</comment>
<payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
@@ -186,65 +191,65 @@
<comment>old ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7434" name="OP_RemoveSpawn" updated="06/12/09">
+ <opcode id="58c5" name="OP_RemoveSpawn" updated="11/16/11">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
- <opcode id="3237" name="OP_Death" updated="09/07/10">
+ <opcode id="799C" name="OP_Death" updated="11/16/11">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="442A" name="OP_ClickObject" updated="06/12/09">
+ <opcode id="33E5" name="OP_ClickObject" updated="11/15/11">
<comment>old RemDropCode</comment>
<payload dir="both" typename="remDropStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1513" name="OP_Action" updated="06/12/09">
+ <opcode id="7F9E" name="OP_Action" updated="11/15/11">
<comment></comment>
<payload dir="both" typename="actionStruct" sizechecktype="match"/>
<payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7519" name="OP_Action2" updated="06/12/09">
+ <opcode id="3EA8" name="OP_Action2" updated="11/15/11">
<comment>old ActionCode</comment>
<payload dir="both" typename="action2Struct" sizechecktype="match"/>
</opcode>
- <opcode id="10B7" name="OP_Illusion" updated="12/08/10">
+ <opcode id="4843" name="OP_Illusion" updated="11/15/11">
<comment>Spawn being illusioned (changing forms)</comment>
<payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
</opcode>
- <opcode id="50C2" name="OP_BuffFadeMsg" updated="06/12/09">
+ <opcode id="8543" name="OP_BuffFadeMsg" updated="11/15/11">
<comment>old SpellFadeCode</comment>
<payload dir="both" typename="spellFadedStruct" sizechecktype="none"/>
</opcode>
- <opcode id="7286" name="OP_CastSpell" updated="06/12/09">
+ <opcode id="569A" name="OP_CastSpell" updated="11/15/11">
<comment>old StartCastCode</comment>
<payload dir="both" typename="startCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="3887" name="OP_MemorizeSpell" updated="06/12/09">
+ <opcode id="1B8A" name="OP_MemorizeSpell" updated="11/15/11">
<comment>old MemSpellCode</comment>
<payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
</opcode>
- <opcode id="3164" name="OP_Emote" updated="06/12/09">
+ <opcode id="3164" name="OP_Emote" updated="11/15/11">
<comment>old EmoteTextCode</comment>
<payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
</opcode>
- <opcode id="6D5D" name="OP_RandomReply" updated="06/12/09">
+ <opcode id="07FB" name="OP_RandomReply" updated="11/15/11">
<comment>old RandomCode</comment>
<payload dir="server" typename="randomStruct" sizechecktype="match"/>
</opcode>
- <opcode id="569A" name="OP_ManaChange" updated="06/12/09">
+ <opcode id="71BF" name="OP_ManaChange" updated="11/15/11">
<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="00BC" name="OP_MoneyOnCorpse" updated="06/12/09">
+ <opcode id="7165" name="OP_MoneyOnCorpse" updated="11/15/11">
<comment>old MoneyOnCorpseCode</comment>
<payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="132F" name="OP_CorpseLocResponse" updated="06/12/09">
+ <opcode id="2222" name="OP_CorpseLocResponse" updated="06/12/09">
<comment>old CorpseLocCode:</comment>
<payload dir="server" typename="corpseLocStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6022" name="OP_PlayerProfile" updated="01/17/08">
+ <opcode id="6AFD" name="OP_PlayerProfile" updated="11/16/11">
<comment>old CharProfileCode</comment>
<payload dir="server" typename="charProfileStruct" sizechecktype="match"/>
</opcode>
@@ -252,11 +257,11 @@
<comment>old TimeOfDayCode</comment>
<payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
</opcode>
- <opcode id="51BC" name="OP_GuildMemberList" updated="01/17/08">
+ <opcode id="51BC" name="OP_GuildMemberList" updated="12/17/11">
<comment></comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="7062" name="OP_ClientUpdate" updated="01/17/08">
+ <opcode id="7062" name="OP_ClientUpdate" updated="11/15/11">
<comment>Position updates</comment>
<payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
<payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
@@ -269,11 +274,11 @@
<comment>old BeginCastCode</comment>
<payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2E79" name="OP_CommonMessage" updated="01/17/08">
+ <opcode id="2E79" name="OP_CommonMessage" updated="11/15/11">
<comment>old ChannelMessageCode</comment>
<payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="7F01" name="OP_SkillUpdate" updated="01/17/08">
+ <opcode id="7F01" name="OP_SkillUpdate" updated="11/15/11">
<comment>old SkillIncCode</comment>
<payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
</opcode>
@@ -282,19 +287,17 @@
<payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
</opcode>

- <!-- Deprecated
- <opcode id="5C29" name="OP_NewSpawn" updated="01/17/08">
- <comment>old NewSpawnCode</comment>
- <payload dir="server" typename="spawnStruct" sizechecktype="match"/>
- </opcode>-->
-
- <!--
- Not necessary for SEQ to run but here to name packets in logs.
- -->
- <opcode id="1AAE" name="OP_Marketplace" updated="09/01/10">
+ <!-- Not necessary for SEQ to run but here to name packets in logs. -->
+ <opcode id="758c" name="OP_Marketplace" updated="12/17/11">
+ <comment>Marketplace data</comment>
+ </opcode>
+ <opcode id="097f" name="OP_WelcomeScreenTitle" updated="05/16/11">
+ <comment></comment>
+ </opcode>
+ <opcode id="5d0f" name="OP_VeteranRewards" update="04/18/11">
<comment></comment>
</opcode>
- <opcode id="A2E0" name="OP_WelcomeScreenURL" updated="09/01/10">
+ <opcode id="7209" name="OP_WelcomeScreenURL" updated="05/16/11">
<comment></comment>
</opcode>
<opcode id="3B85" name="OP_SendAATable" updated="08/12/09">
@@ -303,6 +306,52 @@
<opcode id="5832" name="OP_SendAAStats" updated="08/12/09">
<comment></comment>
</opcode>
+ <opcode id="4e99" name="OP_Claims" updated="12/17/11">
+ <comment>Contents of claims window</comment>
+ </opcode>
+ <opcode id="2864" name="OP_PollQuestions" updated="12/17/11">
+ <comment>SOE in-game player poll questions</comment>
+ </opcode>
+ <opcode id="0f6d" name="OP_PollResponses" updated="12/17/11">
+ <comment>Poll response choices</comment>
+ </opcode>
+ <opcode id="2071" name="OP_ShroudProgression" updated="12/17/11">
+ <comment>Unlocked shrouds</comment>
+ </opcode>
+ <opcode id="01e5" name="OP_Fellowship" updated="12/17/11">
+ <comment>Fellowship information</comment>
+ </opcode>
+ <opcode id="4274" name="OP_ExpandedGuildInfo" updated="12/17/11">
+ <comment>Variable length guild ranks and other misc guild data</comment>
+ </opcode>
+ <opcode id="6255" name="OP_GuildBank" updated="12/17/11">
+ <comment>Guild bank contents</comment>
+ </opcode>
+ <opcode id="1d40" name="OP_OpenTradeskillContainer" updated="12/17/11">
+ <comment>Opens forge, kiln etc</comment>
+ </opcode>
+ <opcode id="6fb9" name="OP_TradeskillRecipes" updated="12/17/11">
+ <comment>Learned recipes</comment>
+ </opcode>
+ <opcode id="2369" name="OP_Unknown1" updated="02/13/07">
+ <comment>Unkown packets that spam logs. Marked here to make reading logs easier</comment>
+ </opcode>
+ <opcode id="7C94" name="OP_Unknown2" updated="02/13/07">
+ <comment>Unkown packets that spam logs. Marked here to make reading logs easier</comment>
+ </opcode>
+ <opcode id="5851" name="OP_Unknown3" updated="02/13/07">
+ <comment>Unkown packets that spam logs. Marked here to make reading logs easier</comment>
+ </opcode>
+ <opcode id="3333" name="OP_Unknown4" updated="02/13/07">
+ <comment>Unkown packets that spam logs. Marked here to make reading logs easier</comment>
+ </opcode>
+ <opcode id="4444" name="OP_Unknown5" updated="02/13/07">
+ <comment>Unkown packets that spam logs. Marked here to make reading logs easier</comment>
+ </opcode>
+ <opcode id="5555" name="OP_Unknown6" updated="02/13/07">
+ <comment>Unkown packets that spam logs. Marked here to make reading logs easier</comment>
+ </opcode>
+

<!-- Below are unverified as of 12-1-2007 -->
<opcode id="4d38" name="OP_AckPacket" updated="03/14/07">
@@ -311,17 +360,17 @@
<opcode id="71fb" name="OP_TributeUpdate" updated="03/14/07">
<comment>Tribute information</comment>
</opcode>
- <opcode id="5DBC" name="OP_ItemPlayerPacket" updated="09/07/10">
+ <opcode id="4849" name="OP_ItemPlayerPacket" updated="11/15/11">
<comment>Inventory/bank items coming over during zone</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="0af9" name="OP_TaskDescription" updated="03/14/07">
+ <opcode id="2E4F" name="OP_TaskDescription" updated="12/17/11">
<comment>Task descriptions coming down for task window</comment>
</opcode>
- <opcode id="2e60" name="OP_TaskActivity" updated="03/14/07">
+ <opcode id="512B" name="OP_TaskActivity" updated="12/17/11">
<comment>Task activity descriptions coming down for task window</comment>
</opcode>
- <opcode id="5855" name="OP_CompletedTasks" updated="03/14/07">
+ <opcode id="6D1F" name="OP_CompletedTasks" updated="12/17/11">
<comment>Task history for task window</comment>
</opcode>
<opcode id="70a5" name="OP_Weather" updated="03/14/07">
@@ -330,7 +379,7 @@
<opcode id="5417" name="OP_ReqNewZone" updated="03/14/07">
<comment>Client requesting NewZone_Struct</comment>
</opcode>
- <opcode id="2e8f" name="OP_CustomTitles" updated="03/14/07">
+ <opcode id="0D8A" name="OP_CustomTitles" updated="11/15/11">
<comment>List of available titles</comment>
</opcode>
<opcode id="45d2" name="OP_ReqClientSpawn" updated="03/14/07">
@@ -366,10 +415,10 @@
<opcode id="063b" name="OP_RespawnWindow" updated="03/14/07">
<comment>Server telling client enough to populate the respawn window when you die</comment>
</opcode>
- <opcode id="5c2f" name="OP_Animation" updated="03/14/07">
+ <opcode id="0B93" name="OP_Animation" updated="12/17/11">
<comment></comment>
</opcode>
- <opcode id="23f1" name="OP_InitialMobHealth" updated="03/14/07">
+ <opcode id="010D" name="OP_InitialMobHealth" updated="03/14/07">
<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">
@@ -378,59 +427,59 @@
<opcode id="16c1" name="OP_DeltaCheck" updated="03/14/07">
<comment>Client sending server delta information.</comment>
</opcode>
- <opcode id="24d8" name="OP_RequestZoneChange" updated="10/20/07">
+ <opcode id="24D8" 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>
- <opcode id="34d4" name="OP_WhoAllRequest" updated="03/14/07">
+ <opcode id="117A" name="OP_WhoAllRequest" updated="11/15/11">
<comment>old WhoAllReqCode</comment>
</opcode>
- <opcode id="3817" name="OP_WhoAllResponse" updated="03/14/07">
+ <opcode id="15DE" name="OP_WhoAllResponse" updated="11/15/11">
<comment>old sWhoAllOutputCode</comment>
</opcode>
<opcode id="61ac" name="OP_LoadSpellSet" updated="02/13/07">
<comment>/mem spellsetname</comment>
</opcode>
- <opcode id="5a79" name="OP_InspectRequest" updated="10/20/07">
+ <opcode id="2683" name="OP_InspectRequest" updated="12/17/11">
<comment>old InspectRequestCode</comment>
</opcode>
- <opcode id="4289" name="OP_GetGuildMOTD" updated="02/13/07">
+ <opcode id="1B7B" name="OP_GetGuildMOTD" updated="12/17/11">
<comment></comment>
</opcode>
- <opcode id="2889" name="OP_TradeRequest" updated="06/13/06">
+ <opcode id="00AA" name="OP_TradeRequest" updated="12/17/11">
<comment>Client request trade session</comment>
</opcode>
- <opcode id="06fb" name="OP_TradeRequestAck" updated="06/13/06">
+ <opcode id="606A" name="OP_TradeRequestAck" updated="12/17/11">
<comment>Trade request recipient is acknowledging they are able to trade</comment>
</opcode>
- <opcode id="12a4" name="OP_CancelTrade" updated="02/13/07">
+ <opcode id="527E" name="OP_CancelTrade" updated="12/17/11">
<comment>Cancel a trade window</comment>
</opcode>
- <opcode id="443f" name="OP_FinishTrade" updated="02/13/07">
+ <opcode id="1EBB" name="OP_FinishTrade" updated="12/17/11">
<comment>Trade is over</comment>
</opcode>
- <opcode id="0000" name="OP_TradeCoins" updated="06/13/05">
+ <opcode id="1418" name="OP_TradeCoins" updated="12/17/11">
<comment>Coins put in trade window</comment>
</opcode>
- <opcode id="2b8f" name="OP_TradeAcceptClick" updated="06/13/06">
+ <opcode id="064A" name="OP_TradeAcceptClick" updated="12/17/11">
<comment>One side clicks Accept on the trade</comment>
</opcode>
- <opcode id="0fb9" name="OP_Consent" updated="03/14/07">
+ <opcode id="6BB9" name="OP_Consent" updated="11/15/11">
<comment>/consent someone</comment>
<payload dir="client" typename="consentRequestStruct" sizechecktype="none"/>
</opcode>
- <opcode id="79d7" name="OP_ConsentDeny" updated="03/14/07">
+ <opcode id="7CAE" name="OP_ConsentDeny" updated="11/15/11">
<comment>/deny someone</comment>
<payload dir="client" typename="consentRequestStruct" sizechecktype="none"/>
</opcode>
- <opcode id="78cd" name="OP_ItemPacket" updated="03/14/07">
+ <opcode id="3DF8" name="OP_ItemPacket" updated="11/15/11">
<comment>old ItemCode</comment>
<payload dir="server" typename="itemPacketStruct" sizechecktype="none"/>
</opcode>
- <opcode id="2de4" name="OP_ItemLinkClick" updated="03/14/07">
+ <opcode id="6948" name="OP_ItemLinkClick" updated="12/17/11">
<comment></comment>
</opcode>
- <opcode id="1394" name="OP_ItemLinkResponse" updated="03/14/07">
+ <opcode id="24C9" name="OP_ItemLinkResponse" updated="12/17/11">
<comment>old ItemInfoCode</comment>
<payload dir="server" typename="itemInfoStruct" sizechecktype="none"/>
<payload dir="client" typename="itemInfoReqStruct" sizechecktype="none"/>
@@ -451,16 +500,16 @@
<opcode id="022f" name="OP_LFGGetMatchesRequest" updated="10/27/05">
<comment></comment>
</opcode>
- <opcode id="6f90" name="OP_EndLootRequest" updated="12/07/05">
+ <opcode id="4074" name="OP_EndLootRequest" updated="11/15/11">
<comment>old cDoneLootingCode</comment>
</opcode>
- <opcode id="4bb4" name="OP_LootItem" updated="12/07/05">
+ <opcode id="5BD9" name="OP_LootItem" updated="11/15/11">
<comment></comment>
</opcode>
<opcode id="7ac3" name="OP_Bug" updated="10/27/05">
<comment>/bug</comment>
</opcode>
- <opcode id="5011" name="OP_Track" updated="10/27/05">
+ <opcode id="1ac1" name="OP_Track" updated="12/17/11">
<comment>Clicked Track</comment>
</opcode>
<opcode id="0681" name="OP_TraderShop" updated="06/29/05">
@@ -498,7 +547,7 @@
<comment>old CloseVendorCode</comment>
<payload dir="both" typename="unknown" sizechecktype="none"/>
</opcode>
- <opcode id="0491" name="OP_MoveDoor" updated="02/13/07">
+ <opcode id="231F" name="OP_MoveDoor" updated="11/15/11">
<comment>old DoorClickCode</comment>
</opcode>
<opcode id="5666" name="OP_SenseTraps" updated="10/27/05">
@@ -507,14 +556,14 @@
<opcode id="05ac" name="OP_SenseHeading" updated="10/27/05">
<comment>old cSenseHeadingCode</comment>
</opcode>
- <opcode id="26b3" name="OP_LootComplete" updated="12/07/05">
+ <opcode id="528F" name="OP_LootComplete" updated="12/07/05">
<comment>old sDoneLootingCode</comment>
</opcode>
<opcode id="3980" name="OP_EnvDamage" updated="02/13/07">
<comment>Environmental Damage</comment>
<payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4849" name="OP_Split" updated="10/27/05">
+ <opcode id="10A6" name="OP_Split" updated="10/27/05">
<comment></comment>
</opcode>
<opcode id="4668" name="OP_Surname" updated="10/27/05">
@@ -524,7 +573,7 @@
<comment>old OpenVendorCode</comment>
<payload dir="both" typename="unknown" sizechecktype="none"/>
</opcode>
- <opcode id="69a3" name="OP_MoveItem" updated="02/13/07">
+ <opcode id="2963" name="OP_MoveItem" updated="11/15/11">
<comment>Client moving an item from one slot to another</comment>
</opcode>
<opcode id="0f8e" name="OP_FaceChange" updated="10/27/05">
@@ -567,7 +616,7 @@
<opcode id="17a2" name="OP_GuildPublicNote" updated="10/27/05">
<comment></comment>
</opcode>
- <opcode id="5dde" name="OP_LootRequest" updated="12/07/05">
+ <opcode id="00BC" name="OP_LootRequest" updated="11/15/11">
<comment>old cLootCorpseCode</comment>
</opcode>
<opcode id="61ef" name="OP_YellForHelp" updated="10/27/05">
@@ -594,7 +643,7 @@
<opcode id="212d" name="OP_LFPGetMatchesResponse" updated="02/13/07">
<comment></comment>
</opcode>
- <opcode id="0c0d" name="OP_Jump" updated="02/13/07">
+ <opcode id="132F" name="OP_Jump" updated="11/15/11">
<comment>old cJumpCode?</comment>
</opcode>
<opcode id="1089" name="OP_FindPersonRequest" updated="02/13/07">
diff -rubp showeq/configure.in showeq-current/configure.in
--- showeq/configure.in 2011-12-19 21:07:40.194216775 -0500
+++ showeq-current/configure.in 2010-12-10 07:55:29.000000000 -0500
@@ -1,8 +1,8 @@
dnl Process this file with autoconf to produce a configure script.
-dnl $Id: configure.in 758 2011-01-01 22:58:03Z ngdeao $ $Name$
+dnl $Id: configure.in 756 2010-07-22 23:01:38Z ieatacid $ $Name$

AC_PREREQ(2.59)
-AC_INIT(showeq, 5.13.10.3)
+AC_INIT(showeq, 5.13.10.2)
AC_CONFIG_SRCDIR(src/main.cpp)
AC_CANONICAL_SYSTEM


diff -rubp showeq/src/everquest.h showeq-current/src/everquest.h
--- showeq/src/everquest.h 2011-12-19 21:07:39.918221524 -0500
+++ showeq-current/src/everquest.h 2011-12-18 17:58:43.534697496 -0500
@@ -103,10 +103,10 @@
//Maximum limits of certain types of data
#define MAX_KNOWN_SKILLS 100
#define MAX_SPELL_SLOTS 12
-#define MAX_KNOWN_LANGS 25
+#define MAX_KNOWN_LANGS 26
#define MAX_SPELLBOOK_SLOTS 400
#define MAX_GROUP_MEMBERS 6
-#define MAX_BUFFS 30
+#define MAX_BUFFS 42
#define MAX_GUILDS 8192
#define MAX_AA 300
#define MAX_BANDOLIERS 20
@@ -391,6 +391,7 @@ struct SessionResponseStruct
/*0010*/ uint8_t unknown0010;
/*0011*/ uint32_t maxLength;
/*0015*/ uint32_t unknown0015;
+/*0019*/
};

/**
@@ -402,6 +403,7 @@ struct SessionResponseStruct
struct SessionDisconnectStruct
{
/*0000*/ uint8_t unknown[8];
+/*0008*/
};

/*
@@ -425,7 +427,7 @@ struct Color_Struct

/*
** Buffs
-** Length: 76 Octets
+** Length: 88 Octets
** Used in:
** charProfileStruct
*/
@@ -441,8 +443,8 @@ struct spellBuff
/*0016*/ int32_t effect; // holds the dmg absorb amount on runes
/*0020*/ uint8_t unknown0020[4]; // *** this might need to be swapped with playerId
/*0024*/ uint32_t playerId; // Global id of caster (for wear off)
-/*0028*/ uint8_t unknown0028[48];
-/*0076*/
+/*0028*/ uint8_t unknown0028[60];
+/*0088*/
};


@@ -551,6 +553,7 @@ struct requestZoneChangeStruct
/*0012*/ float z; // Zone in z coord in next zone
/*0016*/ float heading; // Zone in heading in next zone
/*0020*/ uint32_t unknown0020; // *** Placeholder
+/*0024*/
};

/*
@@ -563,13 +566,14 @@ struct ClientZoneEntryStruct
/*0000*/ uint32_t unknown0000; // ***Placeholder
/*0004*/ char name[32]; // Player firstname
/*0036*/ uint8_t unknown0036[28]; // ***Placeholder
-/*0064*/ uint32_t unknown0064; // unknown
+/*0064*/ uint32_t unknown0064[3]; // unknown
+/*0068*/
};


/*
** New Zone Code
-** Length: 944 Octets
+** Length: 948 Octets
** OpCode: NewZoneCode
*/
struct newZoneStruct
@@ -611,7 +615,8 @@ struct newZoneStruct
/*0928*/ uint8_t unknown0928[4]; // *** Placeholder (10/07/2008)
/*0932*/ uint8_t unknown0932[8]; // *** Placeholder (11/04/2009)
/*0940*/ uint8_t unknown0940[4]; // *** Placeholder (12/15/2009)
-/*0944*/
+/*0944*/ uint8_t unknown0944[4]; // *** Placeholder (11/15/2011)
+/*0948*/
};

/*
@@ -713,105 +718,106 @@ struct playerProfileStruct
/*07868*/ uint32_t hunger; // Food (ticks till next eat)
/*07872*/ uint8_t unknown07872[20];
/*07892*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player
-/*10172*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines
-/*10572*/ uint8_t unknown10572[560];
-/*11132*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use)
-/*11212*/ uint32_t endurance; // Current endurance
-/*11216*/ uint32_t aa_spent; // Number of spent AA points (including glyphs)
-/*11220*/ uint32_t aa_assigned; // Number of points currently assigned to AAs
-/*11224*/ uint32_t unknown11224[4];
-/*11240*/ uint32_t aa_unspent; // Unspent AA points
-/*11244*/ uint8_t unknown11244[4];
-/*11248*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents
-/*17648*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt
-/*18008*/ uint8_t unknown18008[92];
-/*18100*/
+/*11588*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines
+/*11988*/ uint8_t unknown10932[400];
+/*12188*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use)
+/*12468*/ uint8_t unknown11412[480];
+/*12948*/ uint32_t endurance; // Current endurance
+/*12952*/ uint32_t aa_spent; // Number of spent AA points (including glyphs)
+/*12956*/ uint32_t aa_assigned; // Number of points currently assigned to AAs
+/*12960*/ uint32_t unknown11904[4];
+/*12976*/ uint32_t aa_unspent; // Unspent AA points
+/*12980*/ uint8_t unknown11924[4];
+/*12984*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents
+/*19384*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt
+/*19744*/ uint8_t unknown18008[92];
+/*19836*/
};

/*
** Player Profile
-** Length: 27816 Octets
+** Length: 29560 Octets
** OpCode: CharProfileCode
*/
struct charProfileStruct
{
/*00000*/ uint32_t checksum; //
/*00004*/ playerProfileStruct profile; // Profile
-/*18100*/ char name[64]; // Name of player
-/*18164*/ char lastName[32]; // Last name of player
-/*18196*/ uint8_t unknown18196[8]; //***Placeholder (1/18/2006)
-/*18204*/ int32_t guildID; // guildID
-/*18208*/ uint32_t birthdayTime; // character birthday
-/*18212*/ uint32_t lastSaveTime; // character last save time
-/*18216*/ uint32_t timePlayedMin; // time character played
-/*18220*/ uint8_t unknown18220[4];
-/*18224*/ uint8_t pvp; // 1=pvp, 0=not pvp
-/*18225*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon
-/*18226*/ uint8_t gm; // 0=no, 1=yes (guessing!)
-/*18227*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader
-/*18228*/ uint8_t unknown18228[8];
-/*18236*/ uint32_t exp; // Current Experience
-/*18240*/ uint8_t unknown18240[12];
-/*18252*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages
-/*18277*/ uint8_t unknown18277[7]; // All 0x00 (language buffer?)
-/*18284*/ float y; // Players y position
-/*18288*/ float x; // Players x position
-/*18292*/ float z; // Players z position
-/*18296*/ float heading; // Players heading
-/*18300*/ uint32_t standState; // 0x64 = stand
-/*18304*/ uint32_t platinum_bank; // Platinum Pieces in Bank
-/*18308*/ uint32_t gold_bank; // Gold Pieces in Bank
-/*18312*/ uint32_t silver_bank; // Silver Pieces in Bank
-/*18316*/ uint32_t copper_bank; // Copper Pieces in Bank
-/*18320*/ uint32_t platinum_shared; // Shared platinum pieces
-/*18324*/ uint8_t unknown18324[2124]; // Added 1088 for HoT
-/*20488*/ uint32_t expansions; // Bitmask for expansions
-/*20452*/ uint8_t unknown20452[12];
-/*20464*/ uint32_t autosplit; // 0 = off, 1 = on
-/*20468*/ uint8_t unknown20468[16];
-/*20484*/ uint16_t zoneId; // see zones.h
-/*20486*/ uint16_t zoneInstance; // Instance id
-/*20486*/ uint8_t unknown20486[992];
-/*21480*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on
-/*21484*/ uint8_t unknown21484[4];
-/*21488*/ uint32_t ldon_guk_points; // Earned GUK points
-/*21492*/ uint32_t ldon_mir_points; // Earned MIR points
-/*21496*/ uint32_t ldon_mmc_points; // Earned MMC points
-/*21500*/ uint32_t ldon_ruj_points; // Earned RUJ points
-/*21504*/ uint32_t ldon_tak_points; // Earned TAK points
-/*21508*/ uint32_t ldon_avail_points; // Available LDON points
-/*21512*/ uint8_t unknown21512[136];
-/*21648*/ uint32_t tributeTime; // Time remaining on tribute (millisecs)
-/*21652*/ uint32_t careerTribute; // Total favor points for this char
-/*21656*/ uint32_t unknown21656; // *** Placeholder
-/*21660*/ uint32_t currentTribute; // Current tribute points
-/*21664*/ uint32_t unknown21664; // *** Placeholder
-/*21668*/ uint32_t tributeActive; // 0 = off, 1=on
-/*21672*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout
-/*21712*/ uint8_t unknown21712[92]; // Added 208 bytes for HoT BETA
-/*21804*/ float expGroupLeadAA; // Current group lead exp points
-/*21808*/ uint32_t unknown21808;
-/*21812*/ float expRaidLeadAA; // Current raid lead AA exp points
-/*21816*/ uint32_t unknown21816;
-/*21820*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points
-/*21824*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points
-/*21828*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks
-/*21956*/ uint8_t unknown21956[128];
-/*22084*/ uint32_t airRemaining; // Air supply (seconds)
-/*22088*/ uint8_t unknown22088[4608];
-/*26696*/ uint32_t expAA; // Exp earned in current AA point
-/*26700*/ uint8_t unknown26700[40];
-/*26740*/ uint32_t currentRadCrystals; // Current count of radiant crystals
-/*26744*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever
-/*26748*/ uint32_t currentEbonCrystals;// Current count of ebon crystals
-/*26752*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever
-/*26756*/ uint8_t groupAutoconsent; // 0=off, 1=on
-/*26757*/ uint8_t raidAutoconsent; // 0=off, 1=on
-/*26758*/ uint8_t guildAutoconsent; // 0=off, 1=on
-/*26759*/ uint8_t unknown26759[5]; // ***Placeholder (6/29/2005)
-/*26764*/ uint32_t showhelm; // 0=no, 1=yes
-/*26768*/ uint8_t unknown26768[1048]; // ***Placeholder (2/13/2007)
-/*27816*/
+/*19836*/ char name[64]; // Name of player
+/*19900*/ char lastName[32]; // Last name of player
+/*19932*/ uint8_t unknown18196[8]; //***Placeholder (1/18/2006)
+/*19940*/ int32_t guildID; // guildID
+/*19944*/ uint32_t birthdayTime; // character birthday
+/*19948*/ uint32_t lastSaveTime; // character last save time
+/*19952*/ uint32_t timePlayedMin; // time character played
+/*19956*/ uint8_t unknown18220[4];
+/*19960*/ uint8_t pvp; // 1=pvp, 0=not pvp
+/*19961*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon
+/*19962*/ uint8_t gm; // 0=no, 1=yes (guessing!)
+/*19963*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader
+/*19964*/ uint8_t unknown18228[16];
+/*19980*/ uint32_t exp; // Current Experience
+/*19984*/ uint8_t unknown18240[12];
+/*19996*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages ccc
+/*20022*/ uint8_t unknown18277[6]; // All 0x00 (language buffer?)
+/*20028*/ float y; // Players y position
+/*20032*/ float x; // Players x position
+/*20036*/ float z; // Players z position
+/*20040*/ float heading; // Players heading
+/*20044*/ uint32_t standState; // 0x64 = stand
+/*20048*/ uint32_t platinum_bank; // Platinum Pieces in Bank
+/*20052*/ uint32_t gold_bank; // Gold Pieces in Bank
+/*20056*/ uint32_t silver_bank; // Silver Pieces in Bank
+/*20060*/ uint32_t copper_bank; // Copper Pieces in Bank
+/*20064*/ uint32_t platinum_shared; // Shared platinum pieces ccc
+/*20068*/ uint8_t unknown18324[2124]; // Added 1088 for HoT
+/*22192*/ uint32_t expansions; // Bitmask for expansions ccc
+/*22196*/ uint8_t unknown20452[12];
+/*22208*/ uint32_t autosplit; // 0 = off, 1 = on ccc
+/*22212*/ uint8_t unknown20468[16];
+/*22228*/ uint16_t zoneId; // see zones.h ccc
+/*22230*/ uint16_t zoneInstance; // Instance id ccc
+/*22232*/ uint8_t unknown20486[992];
+/*23224*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on ccc
+/*23228*/ uint8_t unknown21484[4];
+/*23232*/ uint32_t ldon_guk_points; // Earned GUK points ccc
+/*23236*/ uint32_t ldon_mir_points; // Earned MIR points ccc
+/*23240*/ uint32_t ldon_mmc_points; // Earned MMC points ccc
+/*23244*/ uint32_t ldon_ruj_points; // Earned RUJ points ccc
+/*23248*/ uint32_t ldon_tak_points; // Earned TAK points ccc
+/*23252*/ uint32_t ldon_avail_points; // Available LDON points ccc
+/*23256*/ uint8_t unknown21512[144];
+/*23400*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) ccc
+/*23404*/ uint32_t careerTribute; // Total favor points for this char ccc
+/*23408*/ uint32_t unknown21656; // *** Placeholder ccc
+/*23412*/ uint32_t currentTribute; // Current tribute points ccc
+/*23416*/ uint32_t unknown21664; // *** Placeholder
+/*23420*/ uint32_t tributeActive; // 0 = off, 1=on
+/*23424*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout ccc
+/*23464*/ uint8_t unknown21712[84]; // Added 208 bytes for HoT BETA ccc
+/*23548*/ float expGroupLeadAA; // Current group lead exp points ccc
+/*23552*/ uint32_t unknown21808;
+/*23556*/ float expRaidLeadAA; // Current raid lead AA exp points ccc
+/*23560*/ uint32_t unknown21816;
+/*23564*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points ccc
+/*23568*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points ccc
+/*23572*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks ccc
+/*23700*/ uint8_t unknown21956[128];
+/*23828*/ uint32_t airRemaining; // Air supply (seconds) ccc
+/*23832*/ uint8_t unknown22088[4608];
+/*28440*/ uint32_t expAA; // Exp earned in current AA point ccc
+/*28444*/ uint8_t unknown26700[40];
+/*28484*/ uint32_t currentRadCrystals; // Current count of radiant crystals ccc
+/*28488*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever ccc
+/*28492*/ uint32_t currentEbonCrystals;// Current count of ebon crystals ccc
+/*28496*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever ccc
+/*28500*/ uint8_t groupAutoconsent; // 0=off, 1=on
+/*28501*/ uint8_t raidAutoconsent; // 0=off, 1=on
+/*28502*/ uint8_t guildAutoconsent; // 0=off, 1=on
+/*28503*/ uint8_t unknown26759[5]; // ***Placeholder (6/29/2005)
+/*28508*/ uint32_t showhelm; // 0=no, 1=yes
+/*28512*/ uint8_t unknown26768[1048]; // ***Placeholder (2/13/2007)
+/*29560*/
};

#if 0
@@ -1279,7 +1285,7 @@ struct ServerZoneEntryStruct : public sp

/*
** Generic Door Struct
-** Length: 92 Octets
+** Length: 96 Octets
** Used in:
** OP_SpawnDoor
**
@@ -1287,8 +1293,8 @@ struct ServerZoneEntryStruct : public sp

struct doorStruct
{
-/*0000*/ char name[16]; // Filename of Door?
-/*0016*/ uint8_t unknown016[16]; // ***Placeholder
+/*0000*/ char name[32]; // Filename of Door?
+/*0016*/ // uint8_t unknown016[16]; // ***Placeholder
/*0032*/ float y; // y loc
/*0036*/ float x; // x loc
/*0040*/ float z; // z loc
@@ -1385,6 +1391,7 @@ struct itemPacketStruct

/*
** Item Info Request Struct
+** Length: 72 Octets
** OpCode: ItemInfoCode
*/
struct itemInfoReqStruct
@@ -1413,13 +1420,15 @@ struct itemInfoStruct
** OpCode: MobUpdateCode
*/

+
struct spawnPositionUpdate
{
/*0000*/ int16_t spawnId;
-/*0002*/ int64_t y:19, z:19, x:19, u3:7;
+/*0002*/ uint8_t unk1[2]; // BSH 13 Apr 2011
+/*0004*/ int64_t y:19, z:19, x:19, u3:7;
unsigned heading:12;
signed unused2:4;
-/*0010*/
+/*0014*/
};

/*
@@ -1434,6 +1443,8 @@ struct spawnRenameStruct
/*128*/ char new_name[64];
/*192*/ uint32_t unknown192; //set to 0
/*196*/ uint32_t unknown196; //set to 1
+/*200*/ uint8_t unknown0084[32]; // ***Placeholder
+/*232*/
};

/*
@@ -1658,6 +1669,7 @@ struct corpseLocStruct
/*0004*/ float x;
/*0008*/ float y;
/*0012*/ float z;
+/*0018*/
};

/*
@@ -1685,8 +1697,8 @@ struct consentResponseStruct
};

/*
-** Grouping Infromation
-** Length: 452 Octets
+** Grouping Information
+** Length: 456 Octets
** OpCode: OP_GroupUpdate
*/

@@ -1702,7 +1714,7 @@ struct groupUpdateStruct

/*
** DEPRECATED
-** Grouping Infromation
+** Grouping Information
** Length: 768 Octets
** OpCode: OP_GroupUpdate
*/
@@ -1799,6 +1811,7 @@ struct groupLeaderChangeStruct
struct deleteSpawnStruct
{
/*0000*/ uint32_t spawnId; // Spawn ID to delete
+/*0004*/
};

/*
@@ -1811,6 +1824,7 @@ struct removeSpawnStruct
{
/*0000*/ uint32_t spawnId; // Spawn ID to delete
/*0004*/ uint8_t removeSpawn; // 0 if spawn is not in your update radius
+/*0005*/
};

/*
@@ -1825,6 +1839,7 @@ struct remDropStruct
/*0002*/ uint8_t unknown0004[2]; // ***Placeholder
/*0004*/ uint16_t spawnId; // Pickup ID - Guess
/*0006*/ uint8_t unknown0008[2]; // ***Placeholder
+/*0008*/
};

/*
@@ -1858,6 +1873,7 @@ struct castOnStruct
/*0008*/ uint8_t unknown0008[24]; // might be some spell info?
/*0032*/ uint16_t spellId; // Spell Id
/*0034*/ uint8_t unknown0034[2]; // ***Placeholder
+/*0036*/
};

/*
@@ -1893,6 +1909,7 @@ struct environmentDamageStruct
/*0010*/ uint8_t unknown0010[12];
/*0022*/ uint8_t type; // Damage type. FC = fall. FA = lava.
/*0023*/ uint8_t unknown0023[8];
+/*0031*/
};

/*
@@ -1951,11 +1968,11 @@ struct actionStruct
/*0004*/ uint8_t level; // Caster level
/*0005*/ uint8_t unknown0005[21]; // ***Placeholder
/*0026*/ uint8_t type; // Casts, Falls, Bashes, etc...
-/*0027*/ int32_t damage; // Amount of Damage
-/*0031*/ uint8_t unknown0031[2];
+/*0027*/ uint8_t unknown0031[6];
/*0033*/ int16_t spell; // SpellID
/*0035*/ uint8_t unknown0035[2]; // ***Placeholder
-/*0037*/
+/*0037*/ uint8_t unknown0037[2]; // ***Placeholder
+/*0039*/
};

// Starting with 2/21/2006, OP_Actions seem to come in pairs, duplicating
@@ -1968,13 +1985,12 @@ struct actionAltStruct
/*0004*/ uint8_t level; // Caster level
/*0005*/ uint8_t unknown0005[21]; // ***Placeholder
/*0026*/ uint8_t type; // Casts, Falls, Bashes, etc...
-/*0027*/ int32_t damage; // Amount of Damage
-/*0031*/ uint8_t unknown0031[2];
+/*0027*/ uint8_t unknown0031[6];
/*0033*/ int16_t spell; // SpellID
/*0035*/ uint8_t unknown0035[2]; // ***Placeholder
/*0037*/ uint32_t unknown0037;
/*0041*/ uint8_t unknown0041[15];
-/*0064*/
+/*0056*/
};

/*
@@ -2092,7 +2108,7 @@ struct skillTrainStruct

/*
** Skill Increment
-** Length: 8 Octets
+** Length: 12 Octets
** OpCode: SkillIncCode
*/

@@ -2100,7 +2116,8 @@ struct skillIncStruct
{
/*0000*/ uint32_t skillId; // Id of skill
/*0004*/ int32_t value; // New value of skill
-/*0008*/
+/*0008*/ uint8_t unknown0008[4]; // *** Placeholder
+/*0012*/
};

/*
@@ -2116,7 +2133,7 @@ struct wearChangeStruct
/*0000*/ uint16_t spawnId; // SpawnID
/*0002*/ Color_Struct color; // item color
/*0006*/ uint8_t wearSlotId; // Slot ID
-/*0007*/ uint8_t unknown0005[7]; // unknown
+/*0007*/ uint8_t unknown0007[7]; // unknown
/*0014*/
};

@@ -2176,6 +2193,7 @@ struct leadExpUpdateStruct
/*0020*/ uint32_t raidLeadExp; // Raid leadership exp value
/*0024*/ uint32_t unspentRaidPoints; // Unspent raid points
/*0028*/ uint32_t unknown0028;
+/*0032*/
};

/*
@@ -2259,6 +2277,7 @@ struct randomReqStruct
{
/*0000*/ uint32_t bottom; // Low number
/*0004*/ uint32_t top; // High number
+/*0008*/
};

/*
@@ -2277,13 +2296,14 @@ struct randomStruct

/*
** Player Position Update
-** Length: 22 Octets
+** Length: 24 Octets
** OpCode: PlayerPosCode
*/

struct playerSpawnPosStruct
{
/*0000*/ uint16_t spawnId;
+ uint8_t unk[2]; // BSH 13 Apr 2011
/*0002*/ signed padding0000:12; // ***Placeholder
signed deltaX:13; // change in x
signed padding0005:7; // ***Placeholder
@@ -2296,14 +2316,14 @@ struct playerSpawnPosStruct
/*0014*/ unsigned heading:12; // heading
signed x:19; // x coord
signed padding0014:1; // ***Placeholder
-/*0018*/ signed z:19; // z coord
+/*0020*/ signed z:19; // z coord
signed deltaZ:13; // change in z
-/*0022*/
+/*0024*/
};

/*
** Self Position Update
-** Length: 40 Octets
+** Length: 42 Octets
** OpCode: PlayerPosCode
*/

@@ -2311,20 +2331,20 @@ struct playerSelfPosStruct
{
/*0000*/ uint16_t spawnId; // Player's spawn id
/*0002*/ uint8_t unknown0002[2]; // ***Placeholder (update time counter?)
-/*0004*/ uint8_t unknown0004[4]; // ***Placeholder
-/*0008*/ float x; // x coord (2nd loc value)
-/*0012*/ float y; // y coord (1st loc value)
-/*0016*/ signed deltaHeading:10; // change in heading
+/*0004*/ uint8_t unknown0004[6]; // ***Placeholder -- BSH 13 Apr 2011
+/*0010*/ float x; // x coord (2nd loc value)
+/*0014*/ float y; // y coord (1st loc value)
+/*0018*/ signed deltaHeading:10; // change in heading
unsigned animation:10; // animation
unsigned padding0016:12; // ***Placeholder
-/*0020*/ float deltaX; // Change in x
-/*0024*/ float deltaY; // Change in y
-/*0028*/ float z; // z coord (3rd loc value)
-/*0032*/ float deltaZ; // Change in z
-/*0036*/ unsigned padding0036:10; // ***Placeholder
+/*0022*/ float deltaX; // Change in x
+/*0026*/ float deltaY; // Change in y
+/*0030*/ float z; // z coord (3rd loc value)
+/*0034*/ float deltaZ; // Change in z
+/*0038*/ unsigned padding0036:10; // ***Placeholder
unsigned heading:12; // Directional heading
unsigned padding0037:10; // ***Placeholder
-/*0040*/
+/*0042*/
};


@@ -2484,7 +2504,7 @@ struct clientLFGStruct

/*
** buffStruct
-** Length: 34 Octets
+** Length: 44 Octets
**
*/


diff -rubp showeq/src/main.cpp showeq-current/src/main.cpp
--- showeq/src/main.cpp 2011-12-19 21:07:40.075218822 -0500
+++ showeq-current/src/main.cpp 2011-12-10 19:34:14.133821116 -0500
@@ -175,6 +175,20 @@ int main (int argc, char **argv)

bool bOptionHelp = false;

+#undef OFFTEST
+#ifdef OFFTEST
+ {
+ struct charProfileStruct cps;
+ char *v0, *v1;
+
+ printf ("sizeof (charProfileStruct) = %d\n", sizeof (cps));
+ v0 = (char *) &cps;
+ v1 = (char *) &cps.leadershipAAs;
+ printf ("leadershipAAs=%d\n", v1 - v0);
+ exit (0);
+ }
+#endif
+
/* Create application instance */
// QApplication::setStyle( new QWindowsStyle );
QApplication qapp (argc, argv);
diff -rubp showeq/src/map.cpp showeq-current/src/map.cpp
--- showeq/src/map.cpp 2011-12-19 21:07:39.828223072 -0500
+++ showeq-current/src/map.cpp 2011-05-24 11:21:39.000000000 -0400
@@ -3610,9 +3610,9 @@ void Map::paintSpawns(MapParameters& par
}
else if (spawn->isOtherPlayer())
{
- if (!up2date)
- mapIcon = m_mapIcons->icon(tIconTypeSpawnPlayerOld);
- else
+// if (!up2date)
+// mapIcon = m_mapIcons->icon(tIconTypeSpawnPlayerOld);
+// else
mapIcon = m_mapIcons->icon(tIconTypeSpawnPlayer);
}
else if (spawn->NPC() == SPAWN_NPC_CORPSE) // x for NPC corpse
diff -rubp showeq/src/messageshell.cpp showeq-current/src/messageshell.cpp
--- showeq/src/messageshell.cpp 2011-12-19 21:07:40.102218357 -0500
+++ showeq-current/src/messageshell.cpp 2011-12-17 21:41:06.970449917 -0500
@@ -75,7 +75,9 @@ void MessageShell::channelMessage(const

// Tells and Group by us happen twice *shrug*. Ignore the client->server one.
if (dir == DIR_Client &&
- (cmsg->chanNum == MT_Tell || cmsg->chanNum == MT_Group))
+ (cmsg->chanNum == MT_Tell || cmsg->chanNum == MT_Group || cmsg->chanNum == MT_Guild ||
+ cmsg->chanNum == MT_OOC || cmsg->chanNum == MT_Shout || cmsg->chanNum == MT_Auction ||
+ cmsg->chanNum == MT_System || cmsg->chanNum == MT_Raid))
{
return;
}
diff -rubp showeq/src/packetstream.cpp showeq-current/src/packetstream.cpp
--- showeq/src/packetstream.cpp 2011-12-19 21:07:39.912221626 -0500
+++ showeq-current/src/packetstream.cpp 2011-04-14 21:58:05.000000000 -0400
@@ -529,6 +529,10 @@ void EQPacketStream::handlePacket(EQUDPI
if (packet.hasCRC())
{
uint16_t calcedCRC = calculateCRC(packet);
+// BSH
+ if((packet.getSourcePort() == 8066) || (packet.getSourcePort() == 8067) || (packet.getSourcePort() == 8242) || (packet.getSourcePort() == 1900) || (packet.getDestPort() == 8066) || (packet.getDestPort() == 8067) || (packet.getDestPort() == 8242) || (packet.getDestPort() == 1900))
+ return;
+// BSH

if (calcedCRC != packet.crc())
{
diff -rubp showeq/src/player.cpp showeq-current/src/player.cpp
--- showeq/src/player.cpp 2011-12-19 21:07:39.988220319 -0500
+++ showeq-current/src/player.cpp 2011-04-03 16:05:35.000000000 -0400
@@ -1070,16 +1070,21 @@ void Player::fillConTable()
int grayRange = 0;
int greenRange = 0;

- if (level() < 9)
- { // 1 - 8
- grayRange = -4;
- greenRange = -8;
- }
- else if (level() < 13)
- { // 9 - 12
+ if (level() < 15) // BSH - new code due to low levels being way off
+ { // 1-14
grayRange = -6;
- greenRange = -4;
+ greenRange = -14;
}
+// if (level() < 9)
+// { // 1 - 8
+// grayRange = -4;
+// greenRange = -8;
+// }
+// else if (level() < 13)
+// { // 9 - 12
+// grayRange = -6;
+// greenRange = -4;
+// }
else if (level() < 17)
{ // 13-16
grayRange = -7;
diff -rubp showeq/src/spawnlist2.cpp showeq-current/src/spawnlist2.cpp
--- showeq/src/spawnlist2.cpp 2011-12-19 21:07:40.095218479 -0500
+++ showeq-current/src/spawnlist2.cpp 2011-05-16 05:50:09.000000000 -0400
@@ -579,6 +579,7 @@ void SpawnListWindow2::refresh(void)

// types of items to populate category with
spawnItemType types[] = { tSpawn, tDrop, tDoors, tPlayer };
+// spawnItemType types[] = { tSpawn, tDrop, tPlayer };

const Item* item;
SpawnListItem* litem;
@@ -878,6 +879,7 @@ void SpawnListWindow2::populateSpawns(vo

// types of items to populate category with
spawnItemType types[] = { tSpawn, tDrop, tDoors, tPlayer };
+// spawnItemType types[] = { tSpawn, tDrop, tPlayer };

const Item* item;
SpawnListItem* litem;
diff -rubp showeq/src/spawnshell.cpp showeq-current/src/spawnshell.cpp
--- showeq/src/spawnshell.cpp 2011-12-19 21:07:39.972220594 -0500
+++ showeq-current/src/spawnshell.cpp 2011-12-17 23:34:13.964910432 -0500
@@ -592,6 +592,13 @@ int32_t SpawnShell::fillSpawnStruct(spaw
netStream.skipBytes(4);
}

+ if(spawn->otherData & 2) { // aura stuff
+ netStream.readText(); // skip 2 variable len strings
+ netStream.readText();
+ netStream.skipBytes(54); // and 54 static bytes
+ }
+
+
// skip facestyle, walk/run speeds, unknown5
netStream.skipBytes(13);

@@ -635,7 +642,7 @@ int32_t SpawnShell::fillSpawnStruct(spaw
strcpy(spawn->lastName, name.latin1());
}

- netStream.skipBytes(5);
+ netStream.skipBytes(6);

spawn->petOwnerId = netStream.readUInt32NC();

@@ -947,6 +954,9 @@ void SpawnShell::npcMoveUpdate(const uin
// spawnId.
uint16_t spawnId = stream.readUInt(16);

+ // BSH 13 Apr 2011 -- garbage added in packet
+ uint16_t unk1 = stream.readUInt(16);
+
// 6 bit field specifier.
uint8_t fieldSpecifier = stream.readUInt(6);

@@ -1357,6 +1367,10 @@ void SpawnShell::removeSpawn(const uint8

if(len==sizeof(removeSpawnStruct))
{
+// BSH
+ deleteItem(tSpawn, rmSpawn->spawnId);
+// BSH
+
if(!rmSpawn->removeSpawn)
{
// Remove a spawn from outside the update radius
@@ -1425,7 +1439,7 @@ void SpawnShell::killSpawn(const uint8_t
Spawn* spawn = (Spawn*)item;
// ZBTEMP: This is temporary until we can find a better way
// set the last kill info on the player (do this before changing name)
- m_player->setLastKill(spawn->name(), spawn->level());
+ // m_player->setLastKill(spawn->name(), spawn->level());

spawn->killSpawn();
updateFilterFlags(item);
diff -rubp showeq/src/zones.h showeq-current/src/zones.h
--- showeq/src/zones.h 2011-12-19 21:07:39.811223364 -0500
+++ showeq-current/src/zones.h 2011-12-10 19:34:14.138820976 -0500
@@ -707,10 +707,11 @@
{ NULL, NULL }, // 697
{ NULL, NULL }, // 698
{ NULL, NULL }, // 699
+{ "feerrott2", "The Feerrott" }, // 700
{ "thulehouse1", "House of Thule" }, // 701
{ "thulehouse2", "House of Thule, Upper Floors" }, // 702
{ "housegarden", "The Grounds" }, // 703
-{ "houselibrary", "The Library" }, // 704
+{ "thulelibrary", "The Library" }, // 704
{ "well", "The Well" }, // 705
{ "fallen", "Erudin Burning" }, // 706
{ "morellcastle", "Morell's Castle" }, // 707
@@ -730,18 +731,18 @@
{ NULL, NULL }, // 721
{ NULL, NULL }, // 722
{ "phinterior1d1", "Dragon House Interior" }, // 723
-{ NULL, NULL }, // 724
-{ NULL, NULL }, // 725
-{ NULL, NULL }, // 726
-{ NULL, NULL }, // 727
-{ NULL, NULL }, // 728
-{ NULL, NULL }, // 729
-{ NULL, NULL }, // 730
-{ NULL, NULL }, // 731
-{ NULL, NULL }, // 732
-{ NULL, NULL }, // 733
-{ NULL, NULL }, // 734
-{ NULL, NULL }, // 735
+{ "argath", "Argatch, Bastion of Illdaera" }, // 724
+{ "arelis", "Valley of Lunanyn" }, // 725
+{ "sarithcity", "Sarith, City of Tides" }, // 726
+{ "rubak", "Rubak Oseka, Temple of the Sea" }, // 727
+{ "beastdomain", "Beasts' Domain" }, // 728
+{ "resplendent", "The Resplendent Temple" }, // 729
+{ "pillarsalra", "Pillars of Alra" }, // 730
+{ "windsong", "Windsong Sanctuary" }, // 731
+{ "cityofbronze", "Erillion, City of Bronze" }, // 732
+{ "sepulcher", "Sepulcher of Order" }, // 733
+{ "eastsepulcher", "Sepulcher East" }, // 734
+{ "westsepulcher", "Sepulcher West" }, // 735
{ NULL, NULL }, // 736
{ NULL, NULL }, // 737
{ NULL, NULL }, // 738

I still haven't gotten the action structs working but most everything else seems to be in working order as best I can tell.

purple
12-23-2011, 10:10 AM
Can I get one other independent confirmation that the above posted patch is suitable for live compatibility?

Newby
12-28-2011, 11:16 PM
It's not working properly for me. The first time you zone after starting showeq is fine, but subsequent zones aren't handled properly. Showeq sees the player as a level 1 warrior and, consequently, all mobs and other players are red cons. The packet opcodes seem fine, I think the protocol might have been changed slightly and showeq is no longer getting a packet it expects during the zoning process.

Not having any luck tracking it down.

fransick
12-29-2011, 06:27 AM
It's not working properly for me. The first time you zone after starting showeq is fine, but subsequent zones aren't handled properly. Showeq sees the player as a level 1 warrior and, consequently, all mobs and other players are red cons. The packet opcodes seem fine, I think the protocol might have been changed slightly and showeq is no longer getting a packet it expects during the zoning process.

Not having any luck tracking it down.

I am away on business this week but will take a look when I get back. It was decoding fine when I left... gotta love all the changes that come with an expansion and constant updates Sony makes to fix everything they missed during beta.

BRL
12-29-2011, 02:18 PM
I applied the diff to a clean extract of:
showeq-5.13.10.3.tar.bz2

using command:
patch -p0 < "_filename_"

and the only rejected section was this (inconsequential to functionality):

--- showeq/configure.in 2011-12-19 21:07:40.194216775 -0500
+++ showeq-current/configure.in 2010-12-10 07:55:29.000000000 -0500
@@ -1,8 +1,8 @@
dnl Process this file with autoconf to produce a configure script.
-dnl $Id: configure.in 758 2011-01-01 22:58:03Z ngdeao $ $Name$
+dnl $Id: configure.in 756 2010-07-22 23:01:38Z ieatacid $ $Name$

AC_PREREQ(2.59)
-AC_INIT(showeq, 5.13.10.3)
+AC_INIT(showeq, 5.13.10.2)
AC_CONFIG_SRCDIR(src/main.cpp)
AC_CANONICAL_SYSTEM

I haven't had any zoneing crashes like i saw with the unofficial 5.13.10.4 + diff patches (mentioned on page 1 of this thread). Player(s) and mob(s) lvl's look correct and are updating (map / skittles) correctly. I must note though that i mainly play in older expansion zones and i havent zoned into probably the last 3 expansion's zones.

BOHICA1021
12-29-2011, 03:16 PM
I downloaded a fresh 759 and ran the diffs by fransick. SEQ is working for me with his changes.

fransick
12-31-2011, 04:31 PM
Checked out okay here too... can't replicate the wonkiness Newby has seen although my new linux install has been a bear to get SEQ to compile. Makefile.dist just doesn't want to run on Fedora 14 install without maximum headache.

pita
01-06-2012, 11:38 PM
Can't get a Makefile.dist to create on Ubuntu 11.10 either. Borks at libtool support

pita
01-07-2012, 01:29 AM
applied the diff against the SVN trunk, copied the src, and conf folders to my .4 tarball, make, make install, and it seems to run without issue.

The only issue I have, and this has been happening for a while, is everytime I start Showeq, the Experience and Combat windows are active, I have to check them, and uncheck them from the View menu to get rid of them. Any ideas?

fransick
01-07-2012, 06:02 AM
Can't get a Makefile.dist to create on Ubuntu 11.10 either. Borks at libtool support

Yeah, same issue with Fedora 14. I had to copy a few files from an old compile to get Makefile.dist to run. Looking at Makefile.dist.dbg it was looking like Doxygen support was the culrpit but not so sure as it still throws an error. Got past libtool only to bomb on aclocal.

elf
01-27-2012, 07:56 AM
I patched fransick's stuff in, compiled, but not skittles. Have the op codes changed since that post, or did I somehow end up compiling the wrong source? Anyone else still working from svn + fransick's diff?

fransick
01-27-2012, 11:53 AM
I patched fransick's stuff in, compiled, but not skittles. Have the op codes changed since that post, or did I somehow end up compiling the wrong source? Anyone else still working from svn + fransick's diff?

To my knowledge, no opcode or struct changes have been made of late so it should work.

Razzle
03-09-2012, 11:32 PM
I was able to update SVN. But when I tried to upload a tarball to the Showeq files section, or make a new folder for the release, it said permission denied.

I put in fransick's patch. I was able to get up and running with skittles. So all the critical opcodes and structs seem to be updated. I didn't go any further than logging in, zoning around, and making sure it was functional.

So someone else will have to upload a tarball, since I do not have those permissions now in the showeq files section of sourceforge. I was able to update the Myseq files section fine the other day. I will try again sometime tomorrow, in case it was just an issue tonight, when I was trying to do it.

Razzle

rogues
03-10-2012, 03:38 PM
fransick's patch is mostly working for me. Player spawns and despanws seem to be a little erratic, though I can't replicate it every time. Haven't tried it in any zone other than the gl and gh yet.

Great work!

rogues
03-10-2012, 03:45 PM
fransick's patch is mostly working for me. Player spawns and despanws seem to be a little erratic, though I can't replicate it every time. Haven't tried it in any zone other than the gl and gh yet.

Edit: it's picking up some players zoning in as "unknown" in the spawn list.

Great work!

Razzle
03-11-2012, 06:33 PM
I will try to gather some data later and see if i can replicate the unknown spawns. I am trying to wrap up a few things with myseq, but i will work on it sometime this week.

Razzle

BlueAdept
03-12-2012, 08:16 AM
Hey Razzle, check your pm.

You should have access to the file section. If not, let me know.

Razzle
03-12-2012, 03:02 PM
I didnt find issues with unnknowns last night.

Will log some more tonight if i can.

Razzle

rogues
03-12-2012, 05:01 PM
Well let me make sure I did it right. I don't know much about SVN, but as far as I can tell, SVN 759 equates to 5.13.10.3? I downloaded a fresh 5.13.10.3 and applied Fransick's diff to it and compiled. It seemed to go smoothly. I have a few different toons on different accounts, so I was able to trace them zoning into the world or into/out of the guild hall. Sometimes it works, sometimes it doesn't.

I'm getting a lot of this too:

"Warning: SEQ: Givign up on finding arg 0398 in stream zone-client cache, skipping!"
the 0398 would increment to 039a, 039b, etc.
Finally, it crashes quite often on zoning. I know that sometimes this can be related to some kernel compilation parameters, but this is the same system I was running SEQ on a year ago just fine. Here is the error when zoning:
"Warning: !!! EQPacketFragmentSequence::addFragment(): buffer overflow adding in new fragment to buffer with seq 040d on stream 3, opcode 4849. Buffer size is 435026 and has been filled up to 434857, but tried to add 505 more!"

I thought there was an issue with the new zones, where I zoned in and wasn't seeing skittles, but that's working tonight.

I wish I was a programmer, I know just enough linux to be dangerous, but let me know what I can do to help.

rogues
03-12-2012, 05:09 PM
Another crash while just running around:

"Warning: !!!! EQPacketFragmentSequence::addFragment(): buffer overflow adding in new fragment to buffer with seq 014a on stream 2, opcode 45d7. Buffer is size 4114 and has been filled up to 4009, but tried to add 233 more!"

If this isn't help I can stop.

Razzle
03-12-2012, 06:01 PM
rogues: You really need to look at this post. http://www.showeq.net/forums/showthread.php?5333-EQPacketFragmentSequence-addFragment-buffer-overflows

Do the things it says, and your buffer overflows might get fixed.

Razzle

rogues
03-12-2012, 07:05 PM
Doh, yes, those were the settings I was referring to, but it looks like for whatever reason this system hadn't been modified. Not quite sure how it ran so well a year ago. I've changed them now, I'll let you know how it runs, maybe it'll fix the unknown issue too.

Razzle
03-13-2012, 06:53 AM
Thanks for the access update BA. I got a tarball uploaded. I didn't get a release post done. I will try to get one posted later today if i get a chance.

Razzle