From: <iea...@us...> - 2008-09-09 01:23:27
|
Revision: 707 http://seq.svn.sourceforge.net/seq/?rev=707&view=rev Author: ieatacid Date: 2008-09-09 01:23:23 +0000 (Tue, 09 Sep 2008) Log Message: ----------- + Updated version to 5.12.5.0 + Updated/added opcodes where necessary + Updated/added/removed code to handle how group member data is sent now + Added more item codes from uRit1u2CBBA Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/showeq.kdevelop showeq/trunk/src/everquest.h showeq/trunk/src/group.cpp showeq/trunk/src/group.h showeq/trunk/src/interface.cpp showeq/trunk/src/messageshell.cpp showeq/trunk/src/messageshell.h showeq/trunk/src/player.cpp showeq/trunk/src/s_everquest.h showeq/trunk/src/spawnshell.cpp showeq/trunk/src/weapons2b.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/ChangeLog 2008-09-09 01:23:23 UTC (rev 707) @@ -1,5 +1,11 @@ Version: $Id$ $Name$ +ieatacid (9/8/08) +- Updated version to 5.12.5.0 +- Updated/added opcodes where necessary +- Updated/added/removed code to handle how group member data is sent now +- Added more item codes from uRit1u2CBBA + ieatacid (6/21/08) ---------------- + Updated version to 5.12.4.2 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/conf/zoneopcodes.xml 2008-09-09 01:23:23 UTC (rev 707) @@ -142,29 +142,43 @@ <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="5F51" name="OP_GroupInvite" updated="01/17/08"> - <payload dir="both" typename="groupInviteStruct" sizechecktype="match"/> - <payload dir="both" typename="groupAltInviteStruct" sizechecktype="match"/> - <comment></comment> + <opcode id="5f51" name="OP_GroupInvite" updated="09/03/08"> + <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> + <payload dir="server" typename="groupAltInviteStruct" sizechecktype="match"/> + <comment>You're inviting someone and you're not grouped</comment> </opcode> + <opcode id="548c" name="OP_GroupInvite2" updated="09/03/08"> + <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> + <comment>You're inviting someone and you are grouped</comment> + </opcode> <opcode id="5251" name="OP_GroupCancelInvite" updated="01/17/08"> <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/> <comment>Declining to join a group</comment> </opcode> - <opcode id="2736" name="OP_GroupFollow" updated="01/17/08"> - <payload dir="both" typename="groupFollowStruct" sizechecktype="match"/> - <payload dir="both" typename="groupAltFollowStruct" sizechecktype="match"/> - <comment>Accepting to join a group</comment> + <opcode id="1842" name="OP_GroupFollow" updated="09/03/08"> + <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> + <comment>You join a group</comment> </opcode> - <opcode id="4B61" name="OP_GroupUpdate" updated="01/17/08"> - <payload dir="server" typename="groupFullUpdateStruct" sizechecktype="match"/> - <payload dir="server" typename="groupUpdateStruct" sizechecktype="match"/> - <comment></comment> + <!--<opcode id="1842" name="OP_GroupFollow2" updated="09/03/08"> + <payload dir="server" typename="groupAltFollowStruct" sizechecktype="match"/> + <comment>Player joins your group</comment> + </opcode>--> + <opcode id="4036" name="OP_GroupUpdate" updated="09/03/08"> + <payload dir="server" typename="uint8_t" sizechecktype="none"/> + <comment>Variable length packet with group member names</comment> </opcode> - <opcode id="47E7" name="OP_GroupDisband" updated="01/17/08"> - <comment>Disband from group</comment> - <payload dir="both" typename="groupDisbandStruct" sizechecktype="match"/> + <opcode id="7545" name="OP_GroupDisband" updated="09/03/08"> + <comment>You disband from group</comment> + <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> + <opcode id="16be" name="OP_GroupDisband2" updated="09/03/08"> + <comment>Other disbands from group</comment> + <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> + </opcode> + <opcode id="1560" name="OP_GroupLeader" updated="09/03/08"> + <comment>Group leader change</comment> + <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> + </opcode> <opcode id="7EA8" name="OP_Buff" updated="01/17/08"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> @@ -796,4 +810,4 @@ <comment></comment> </opcode> --> -</seqopcodes> \ No newline at end of file +</seqopcodes> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/configure.in 2008-09-09 01:23:23 UTC (rev 707) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.4.2) +AC_INIT(showeq, 5.12.5.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/showeq.kdevelop =================================================================== --- showeq/trunk/showeq.kdevelop 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/showeq.kdevelop 2008-09-09 01:23:23 UTC (rev 707) @@ -192,10 +192,10 @@ <used>false</used> <version>3</version> <includestyle>3</includestyle> - <root>/usr/lib/qt-3.3</root> + <root>/usr/share/qt3</root> <designerintegration>EmbeddedKDevDesigner</designerintegration> - <qmake>/usr/lib/qt-3.3/bin/qmake</qmake> - <designer>/usr/lib/qt-3.3/bin/designer</designer> + <qmake>/usr/bin/qmake-qt3</qmake> + <designer></designer> <designerpluginpaths/> </qt> </kdevcppsupport> Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/everquest.h 2008-09-09 01:23:23 UTC (rev 707) @@ -603,7 +603,8 @@ /*0908*/ uint8_t unknown0904[8]; // *** Placeholder (02/13/2007) /*0916*/ uint8_t unknown0916[4]; // *** Placeholder (11/24/2007) /*0920*/ uint8_t unknown0920[4]; // *** Placeholder (01/17/2008) -/*0924*/ +/*0924*/ uint8_t unknown0924[4]; // *** Placeholder (09/03/2008) +/*0928*/ }; /** @@ -724,10 +725,10 @@ /*16116*/ uint8_t unknown16116[16]; /*16132*/ uint16_t zoneId; // see zones.h /*16134*/ uint16_t zoneInstance; // Instance id -/*16136*/ char groupMembers[MAX_GROUP_MEMBERS][64];// all the members in group, including self -/*16520*/ char groupLeader[64]; // Leader of the group ? -/*16584*/ uint8_t unknown16584[792]; -/*17376*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on +/*16136*/ //char groupMembers[MAX_GROUP_MEMBERS][64]; // removed 9/3/2008 +/*16520*/ //char groupLeader[64]; // removed 9/3/2008 +/*16136*/ uint8_t unknown16136[800]; +/*16936*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on /*17380*/ uint8_t unknown17380[4]; /*17384*/ uint32_t ldon_guk_points; // Earned GUK points /*17388*/ uint32_t ldon_mir_points; // Earned MIR points @@ -1638,12 +1639,13 @@ /*0000*/ int32_t action; // Group update action /*0004*/ char yourname[64]; // Group Member Names /*0068*/ char membername[64]; // Group leader name -/*0132*/ uint8_t unknown0132[320]; // ***Placeholder -/*452*/ +/*0132*/ uint8_t unknown0132[324]; // ***Placeholder +/*456*/ }; /* +** DEPRECATED ** Grouping Infromation ** Length: 768 Octets ** OpCode: OP_GroupUpdate @@ -1660,7 +1662,7 @@ /* ** Grouping Invite -** Length 128 Octets (or 132 sometimes) +** Length 140 Octets (invite a player) or 144 (you get invited) ** Opcode OP_GroupInvite */ @@ -1668,20 +1670,21 @@ { /*0000*/ char invitee[64]; // Invitee's Name /*0064*/ char inviter[64]; // Inviter's Name -/*0128*/ +/*0128*/ uint8_t unknown0128[12]; // ***Placeholder +/*0140*/ }; -// Sometimes there's an extra byte on the end... + struct groupAltInviteStruct { /*0000*/ char invitee[64]; // Invitee's Name /*0064*/ char inviter[64]; // Inviter's Name -/*0128*/ uint8_t unknown0132[4]; // ***Placeholder (not always there) -/*0132*/ +/*0128*/ uint8_t unknown0132[16]; // ***Placeholder +/*0144*/ }; /* ** Grouping Invite Answer - Decline -** Length 129 Octets +** Length 144 Octets ** Opcode GroupDeclineCode */ @@ -1689,34 +1692,31 @@ { /*0000*/ char yourname[64]; // Player Name /*0064*/ char membername[64]; // Invited Member Name -/*0128*/ uint8_t reason; // Already in Group = 1, Declined Invite = 3 -/*0129*/ +/*0128*/ uint8_t unknown0128[12]; // ***Placeholder +/*0140*/ uint8_t reason; // Already in Group = 1, Declined Invite = 3 +/*0141*/ uint8_t unknown0141[3]; // ***Placeholder +/*0144*/ }; /* ** Grouping Invite Answer - Accept -** Length 128 Octets (or sometimes 132) +** Length 140 Octets ** Opcode OP_GroupFollow */ struct groupFollowStruct { -/*0000*/ char inviter[64]; // Inviter's Name +/*0000*/ char unknown0000[64]; // ***Placeholder (zeros) /*0064*/ char invitee[64]; // Invitee's Member Name -/*0128*/ +/*0128*/ uint8_t unknown0132[4]; // ***Placeholder +/*0132*/ uint32_t level; // Invitee's level +/*0136*/ uint8_t unknown0136[4]; // ***Placeholder (zeros) +/*0140*/ }; -// Sometimes there's an extra 4 bytes on the end -struct groupAltFollowStruct -{ -/*0000*/ char inviter[64]; // Inviter's Name -/*0064*/ char invitee[64]; // Invitee's Member Name -/*0128*/ uint8_t unknown0132[4]; // ***Placeholder (not always there) -/*0132*/ -}; /* ** Group Disbanding -** Length 128 Octets +** Length 140 Octets ** Opcode */ @@ -1724,10 +1724,24 @@ { /*0000*/ char yourname[64]; // Player Name /*0064*/ char membername[64]; // Invited Member Name -/*0128*/ +/*0128*/ uint8_t unknown0128[12]; // ***Placeholder +/*0140*/ }; +/* +** Group Leader Change +** Length 140 Octets +** Opcode OP_GroupLeader +*/ +struct groupLeaderChangeStruct +{ +/*0000*/ char unknown0000[64]; // ***Placeholder +/*0064*/ char membername[64]; // Invited Member Name +/*0128*/ uint8_t unknown0128[12]; // ***Placeholder +/*0140*/ +}; + /* ** Delete Self ** Length: 4 Octets Modified: showeq/trunk/src/group.cpp =================================================================== --- showeq/trunk/src/group.cpp 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/group.cpp 2008-09-09 01:23:23 UTC (rev 707) @@ -13,6 +13,7 @@ #include "spawnshell.h" #include "everquest.h" #include "diagnosticmessages.h" +#include "netstream.h" GroupMgr::GroupMgr(SpawnShell* spawnShell, Player* player, @@ -41,6 +42,8 @@ } } +// 9/3/2008 - Not used. Group data is no longer sent in charProfile +#if 0 void GroupMgr::player(const charProfileStruct* player) { // reset counters @@ -52,7 +55,8 @@ // initialize the array of members with information from the player profile for (int i = 0; i < MAX_GROUP_MEMBERS; i++) { - m_members[i]->m_name = player->groupMembers[i]; +// so it compiles +// m_members[i]->m_name = player->groupMembers[i]; if (!m_members[i]->m_name.isEmpty()) m_memberCount++; @@ -62,125 +66,134 @@ else { m_members[i]->m_spawn = (const Spawn*)m_player; - + m_membersInZoneCount++; } emit added(m_members[i]->m_name, m_members[i]->m_spawn); } } - +#endif + void GroupMgr::groupUpdate(const uint8_t* data, size_t size) { - const groupUpdateStruct* gupdate = 0; - const groupFullUpdateStruct* gfupdate = 0; + // it's a variable-length packet depending on number of group members and length of names + NetStream netStream(data, size); + uint32_t memCount, memNumber, level; + QString name; - if (size == sizeof(groupFullUpdateStruct)) - { - // got a full group update packet - gfupdate = (const groupFullUpdateStruct*)data; + netStream.skipBytes(4); - // what action is this? - if (gfupdate->action == GUA_FullGroupInfo) - { - // reset counters - m_memberCount = 0; - m_membersInZoneCount = 0; + // number of group members + memCount = netStream.readUInt32NC(); - emit cleared(); + // leader name + name = netStream.readText(); - // ok, this is a full update of all group member information - for (int i = 0; i < MAX_GROUP_MEMBERS; i++) - { - // copy the member name - m_members[i]->m_name = gfupdate->membernames[i]; + // reset counters + m_memberCount = 0; + m_membersInZoneCount = 0; - // if their is a member, increment the member count - if (!m_members[i]->m_name.isEmpty()) - m_memberCount++; + emit cleared(); - // attempt to retrieve the members spawn - m_members[i]->m_spawn = - m_spawnShell->findSpawnByName(m_members[i]->m_name); + // update group member information + for(uint32_t i = 0; i < memCount; i++) + { + memNumber = netStream.readUInt32NC(); + name = netStream.readText(); + netStream.skipBytes(3); + level = netStream.readUInt32NC(); - // incremement the spawn count - if (m_members[i]->m_spawn) - m_membersInZoneCount++; + // copy the member name + m_members[i]->m_name = name; - emit added(m_members[i]->m_name, m_members[i]->m_spawn); - } - } + // increment the member count + m_memberCount++; + + // attempt to retrieve the members spawn + m_members[i]->m_spawn = m_spawnShell->findSpawnByName(m_members[i]->m_name); + + // incremement the spawn count + if (m_members[i]->m_spawn) + m_membersInZoneCount++; + + emit added(m_members[i]->m_name, m_members[i]->m_spawn); } - else + + // clear the rest + for(uint32_t i = memCount; i < MAX_GROUP_MEMBERS; i++) { - gupdate = (const groupUpdateStruct*)data; + m_members[i]->m_name = ""; + m_members[i]->m_spawn = 0; + } - switch (gupdate->action) - { - case GUA_Started: - case GUA_Joined: - // iterate over all the slots until an empty one is found - for (int i = 0; i < MAX_GROUP_MEMBERS; i++) +// for debugging +#if 0 + for(uint32_t i = 0; i < MAX_GROUP_MEMBERS; i++) + { + if(!m_members[i]->m_name.isEmpty()) + seqDebug("GroupMgr::groupUpdate '%s'", m_members[i]->m_name.latin1()); + } +#endif +} + +void GroupMgr::addGroupMember(const uint8_t* data) +{ + const groupFollowStruct* gmem = (const groupFollowStruct*)data; + + for (int i = 0; i < MAX_GROUP_MEMBERS; i++) + { + if (m_members[i]->m_name.isEmpty()) { - if (m_members[i]->m_name.isEmpty()) - { - // copy the member name - m_members[i]->m_name = gupdate->membername; - - // if their is a member, increment the member count - if (!m_members[i]->m_name.isEmpty()) - m_memberCount++; - - // attempt to retrieve the members spawn - m_members[i]->m_spawn = - m_spawnShell->findSpawnByName(m_members[i]->m_name); - - // incremement the spawn count - if (m_members[i]->m_spawn) - m_membersInZoneCount++; + // copy the member name + m_members[i]->m_name = gmem->invitee; - // signal the addition - emit added(m_members[i]->m_name, m_members[i]->m_spawn); + // if there is a member, increment the member count + if (!m_members[i]->m_name.isEmpty()) + m_memberCount++; - // added it, so break - break; - } + // attempt to retrieve the member's spawn + m_members[i]->m_spawn = m_spawnShell->findSpawnByName(m_members[i]->m_name); + + // incremement the spawn count + if (m_members[i]->m_spawn) + m_membersInZoneCount++; + + // signal the addition + emit added(m_members[i]->m_name, m_members[i]->m_spawn); + + // added it, so break + break; } - break; - case GUA_Left: - // iterate over all the slots until the member is found - for (int i = 0; i < MAX_GROUP_MEMBERS; i++) + } +} + +void GroupMgr::removeGroupMember(const uint8_t* data) +{ + const groupDisbandStruct* gmem = (const groupDisbandStruct*)data; + + for (int i = 0; i < MAX_GROUP_MEMBERS; i++) + { + // is this the member? + if (m_members[i]->m_name == gmem->membername) { - // is this the member? - if (m_members[i]->m_name == gupdate->membername) - { - // yes, announce its removal - emit removed(m_members[i]->m_name, m_members[i]->m_spawn); + // yes, announce its removal + emit removed(m_members[i]->m_name, m_members[i]->m_spawn); - // clear it - m_members[i]->m_name = ""; - m_members[i]->m_spawn = 0; - break; - } - } - break; - case GUA_LastLeft: - // reset counters - m_memberCount = 0; - m_membersInZoneCount = 0; + // decrement member count + m_memberCount--; - // iterate over all the member slots and clear them - for (int i = 0; i < MAX_GROUP_MEMBERS; i++) - { - // clear the member - m_members[i]->m_name = ""; - m_members[i]->m_spawn = 0; + // if the member is in zone decrement zone count + m_members[i]->m_spawn = m_spawnShell->findSpawnByName(m_members[i]->m_name); + if(m_members[i]->m_spawn) + m_membersInZoneCount--; + + // clear it + m_members[i]->m_name = ""; + m_members[i]->m_spawn = 0; + break; } - - emit cleared(); - break; - } - } + } } void GroupMgr::addItem(const Item* item) Modified: showeq/trunk/src/group.h =================================================================== --- showeq/trunk/src/group.h 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/group.h 2008-09-09 01:23:23 UTC (rev 707) @@ -43,8 +43,10 @@ unsigned long totalLevels(); public slots: - void player(const charProfileStruct* player); +// void player(const charProfileStruct* player); void groupUpdate(const uint8_t* data, size_t size); + void addGroupMember(const uint8_t* data); + void removeGroupMember(const uint8_t* data); void addItem(const Item* item); void delItem(const Item* item); void killSpawn(const Item* item); Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/interface.cpp 2008-09-09 01:23:23 UTC (rev 707) @@ -1652,14 +1652,25 @@ if (m_groupMgr != 0) { - connect(m_zoneMgr, SIGNAL(playerProfile(const charProfileStruct*)), - m_groupMgr, SLOT(player(const charProfileStruct*))); +// 9/3/2008 - Group data is no longer sent in charProfile +// connect(m_zoneMgr, SIGNAL(playerProfile(const charProfileStruct*)), +// m_groupMgr, SLOT(player(const charProfileStruct*))); + //remove this +// m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, +// "groupUpdateStruct", SZC_None, +// m_groupMgr, SLOT(groupUpdate(const uint8_t*, size_t))); m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, - "groupUpdateStruct", SZC_Match, - m_groupMgr, SLOT(groupUpdate(const uint8_t*, size_t))); - m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, - "groupFullUpdateStruct", SZC_Match, - m_groupMgr, SLOT(groupUpdate(const uint8_t*, size_t))); + "uint8_t", SZC_None, + m_groupMgr, SLOT(groupUpdate(const uint8_t*, size_t))); + m_packet->connect2("OP_GroupFollow", SP_Zone, DIR_Server, + "groupFollowStruct", SZC_Match, + m_groupMgr, SLOT(addGroupMember(const uint8_t*))); + m_packet->connect2("OP_GroupDisband", SP_Zone, DIR_Server, + "groupDisbandStruct", SZC_Match, + m_groupMgr, SLOT(removeGroupMember(const uint8_t*))); + m_packet->connect2("OP_GroupDisband2", SP_Zone, DIR_Server, + "groupDisbandStruct", SZC_Match, + m_groupMgr, SLOT(removeGroupMember(const uint8_t*))); // connect GroupMgr slots to SpawnShell signals connect(m_spawnShell, SIGNAL(addItem(const Item*)), m_groupMgr, SLOT(addItem(const Item*))); @@ -1832,25 +1843,34 @@ connect(m_dateTimeMgr, SIGNAL(syncDateTime(const QDateTime&)), m_messageShell, SLOT(syncDateTime(const QDateTime&))); - m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, - "groupUpdateStruct", SZC_Match, - m_messageShell, SLOT(groupUpdate(const uint8_t*, size_t, uint8_t))); - m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, - "groupFullUpdateStruct", SZC_Match, - m_messageShell, SLOT(groupUpdate(const uint8_t*, size_t, uint8_t))); - m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Server|DIR_Client, +// 9/3/2008 - Removed. Serialized packet now. +// m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, +// "groupUpdateStruct", SZC_None, +// m_messageShell, SLOT(groupUpdate(const uint8_t*, size_t, uint8_t))); + m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Client, "groupInviteStruct", SZC_Match, m_messageShell, SLOT(groupInvite(const uint8_t*))); - m_packet->connect2("OP_GroupFollow", SP_Zone, DIR_Server|DIR_Client, + m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Server, + "groupAltInviteStruct", SZC_Match, + m_messageShell, SLOT(groupInvite(const uint8_t*))); + m_packet->connect2("OP_GroupInvite2", SP_Zone, DIR_Client, + "groupInviteStruct", SZC_Match, + m_messageShell, SLOT(groupInvite(const uint8_t*))); + m_packet->connect2("OP_GroupFollow", SP_Zone, DIR_Server, "groupFollowStruct", SZC_Match, - m_messageShell, SLOT(groupFollow(const uint8_t*))); + m_messageShell, SLOT(groupFollow(const uint8_t*))); m_packet->connect2("OP_GroupDisband", SP_Zone, DIR_Server, "groupDisbandStruct", SZC_Match, - m_messageShell, SLOT(groupDisband(const uint8_t*, size_t, uint8_t))); - + m_messageShell, SLOT(groupDisband(const uint8_t*))); + m_packet->connect2("OP_GroupDisband2", SP_Zone, DIR_Server, + "groupDisbandStruct", SZC_Match, + m_messageShell, SLOT(groupDisband(const uint8_t*))); m_packet->connect2("OP_GroupCancelInvite", SP_Zone, DIR_Server|DIR_Client, "groupDeclineStruct", SZC_Match, m_messageShell, SLOT(groupDecline(const uint8_t*))); + m_packet->connect2("OP_GroupLeader", SP_Zone, DIR_Server, + "groupLeaderChangeStruct", SZC_Match, + m_messageShell, SLOT(groupLeaderChange(const uint8_t*))); } if (m_filterNotifications) Modified: showeq/trunk/src/messageshell.cpp =================================================================== --- showeq/trunk/src/messageshell.cpp 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/messageshell.cpp 2008-09-09 01:23:23 UTC (rev 707) @@ -24,8 +24,8 @@ // MessageShell MessageShell::MessageShell(Messages* messages, EQStr* eqStrings, Spells* spells, ZoneMgr* zoneMgr, - SpawnShell* spawnShell, Player* player, - QObject* parent, const char* name) + SpawnShell* spawnShell, Player* player, + QObject* parent, const char* name) : QObject(parent, name), m_messages(messages), m_eqStrings(eqStrings), @@ -605,7 +605,7 @@ m_messages->addMessage(MT_Spell, tempStr); } - +// 9/30/2008 - no longer used. Group info is sent differently now void MessageShell::groupUpdate(const uint8_t* data, size_t size, uint8_t dir) { if (size != sizeof(groupUpdateStruct)) @@ -613,6 +613,7 @@ // Ignore groupFullUpdateStruct return; } + return; const groupUpdateStruct* gmem = (const groupUpdateStruct*)data; QString tempStr; @@ -656,28 +657,51 @@ { const groupDeclineStruct* gmem = (const groupDeclineStruct*)data; QString tempStr; - tempStr.sprintf("Invite: %s declines invite from %s (%i)", - gmem->membername, gmem->yourname, gmem->reason); + switch(gmem->reason) + { + case 1: + tempStr.sprintf("Invite: %s declines invite from %s (player is grouped)", + gmem->membername, gmem->yourname); + break; + case 3: + tempStr.sprintf("Invite: %s declines invite from %s", + gmem->membername, gmem->yourname); + break; + default: + tempStr.sprintf("Invite: %s declines invite from %s (unknown reason: %i)", + gmem->membername, gmem->yourname, gmem->reason); + break; + } m_messages->addMessage(MT_Group, tempStr); } void MessageShell::groupFollow(const uint8_t* data) { - const groupFollowStruct* gmem = (const groupFollowStruct*)data; + const groupFollowStruct* gFollow = (const groupFollowStruct*)data; QString tempStr; - tempStr.sprintf("Follow: %s accepts invite from %s", - gmem->invitee, gmem->inviter); + + tempStr.sprintf("Follow: %s has joined the group", gFollow->invitee); m_messages->addMessage(MT_Group, tempStr); } -void MessageShell::groupDisband(const uint8_t* data, size_t, uint8_t dir) +void MessageShell::groupDisband(const uint8_t* data) { const groupDisbandStruct* gmem = (const groupDisbandStruct*)data; QString tempStr; + tempStr.sprintf ("Disband: %s disbands from the group", gmem->membername); m_messages->addMessage(MT_Group, tempStr); } +void MessageShell::groupLeaderChange(const uint8_t* data) +{ + const groupLeaderChangeStruct *gmem = (const groupLeaderChangeStruct*)data; + QString tempStr; + tempStr.sprintf("Update: %s is now the leader of the group", + gmem->membername); + m_messages->addMessage(MT_Group, tempStr); +} + void MessageShell::player(const charProfileStruct* player) { QString message; @@ -731,13 +755,14 @@ m_messages->addMessage(MT_Player, message); #endif - message.sprintf("Group: %s %s %s %s %s %s", player->groupMembers[0], - player->groupMembers[1], - player->groupMembers[2], - player->groupMembers[3], - player->groupMembers[4], - player->groupMembers[5]); - m_messages->addMessage(MT_Player, message); +// 09/03/2008 patch - this is no longer sent in charProfile +// message.sprintf("Group: %s %s %s %s %s %s", player->groupMembers[0], +// player->groupMembers[1], +// player->groupMembers[2], +// player->groupMembers[3], +// player->groupMembers[4], +// player->groupMembers[5]); +// m_messages->addMessage(MT_Player, message); int buffnumber; for (buffnumber=0;buffnumber<MAX_BUFFS;buffnumber++) Modified: showeq/trunk/src/messageshell.h =================================================================== --- showeq/trunk/src/messageshell.h 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/messageshell.h 2008-09-09 01:23:23 UTC (rev 707) @@ -41,9 +41,8 @@ Q_OBJECT public: MessageShell(Messages* messages, EQStr* eqStrings, Spells* spells, - ZoneMgr* zoneMgr, - SpawnShell* spawnShell, Player* player, - QObject* parent = 0, const char* name = 0); + ZoneMgr* zoneMgr, SpawnShell* spawnShell, + Player* player, QObject* parent = 0, const char* name = 0); public slots: void channelMessage(const uint8_t* cmsg, size_t, uint8_t); @@ -80,7 +79,8 @@ void groupInvite(const uint8_t* gmem); void groupDecline(const uint8_t* gmem); void groupFollow(const uint8_t* gmem); - void groupDisband(const uint8_t* gmem, size_t, uint8_t); + void groupDisband(const uint8_t* gmem); + void groupLeaderChange(const uint8_t* gmem); void syncDateTime(const QDateTime&); Modified: showeq/trunk/src/player.cpp =================================================================== --- showeq/trunk/src/player.cpp 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/player.cpp 2008-09-09 01:23:23 UTC (rev 707) @@ -815,7 +815,7 @@ return; else if (dir == DIR_Client) setPlayerID(pupdate->spawnId); - + int16_t py = int16_t(pupdate->y); int16_t px = int16_t(pupdate->x); int16_t pz = int16_t(pupdate->z); Modified: showeq/trunk/src/s_everquest.h =================================================================== --- showeq/trunk/src/s_everquest.h 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/s_everquest.h 2008-09-09 01:23:23 UTC (rev 707) @@ -66,8 +66,8 @@ AddStruct(groupAltInviteStruct); AddStruct(groupDeclineStruct); AddStruct(groupFollowStruct); -AddStruct(groupAltFollowStruct); AddStruct(groupDisbandStruct); +AddStruct(groupLeaderChangeStruct); AddStruct(deleteSpawnStruct); AddStruct(removeSpawnStruct); AddStruct(remDropStruct); Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/spawnshell.cpp 2008-09-09 01:23:23 UTC (rev 707) @@ -482,6 +482,10 @@ int32_t SpawnShell::fillSpawnStruct(spawnStruct *spawn, const uint8_t *data, size_t len, bool checkLen) { + /* + This reads data from the variable-length spawn struct + */ + NetStream netStream(data,len); int32_t retVal; uint32_t race; Modified: showeq/trunk/src/weapons2b.h =================================================================== --- showeq/trunk/src/weapons2b.h 2008-06-24 22:56:19 UTC (rev 706) +++ showeq/trunk/src/weapons2b.h 2008-09-09 01:23:23 UTC (rev 707) @@ -52,7 +52,7 @@ NULL, // 0x2b NULL, // 0x2c NULL, // 0x2d - NULL, // 0x2e + "Box", // 0x2e NULL, // 0x2f "Plant", // 0x30 NULL, // 0x31 @@ -158,7 +158,7 @@ NULL, // 0x95 NULL, // 0x96 NULL, // 0x97 - NULL, // 0x98 + "Crystal", // 0x98 NULL, // 0x99 NULL, // 0x9a NULL, // 0x9b This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-09-16 18:09:59
|
Revision: 709 http://seq.svn.sourceforge.net/seq/?rev=709&view=rev Author: ieatacid Date: 2008-09-17 01:09:55 +0000 (Wed, 17 Sep 2008) Log Message: ----------- ieatacid (9/16/08) ---------------- - Updated version to 5.12.5.1 - Fixed problem with your player remaining a corpse after respawning in the same zone you died in - Added zones from the upcoming Seeds of Destruction expansion to zones.h - Fixed pcap_perror warnings in packetcapture.cpp Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/interface.cpp showeq/trunk/src/packetcapture.cpp showeq/trunk/src/player.cpp showeq/trunk/src/player.h showeq/trunk/src/spawnshell.cpp showeq/trunk/src/spawnshell.h showeq/trunk/src/zones.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/ChangeLog 2008-09-17 01:09:55 UTC (rev 709) @@ -1,6 +1,12 @@ -Version: $Id$ $Name$ +ieatacid (9/16/08) +---------------- +- Updated version to 5.12.5.1 +- Fixed problem with your player remaining a corpse after respawning in the same zone you died in +- Added zones from the upcoming Seeds of Destruction expansion to zones.h +- Fixed pcap_perror warnings in packetcapture.cpp ieatacid (9/8/08) +---------------- - Updated version to 5.12.5.0 - Updated/added opcodes where necessary - Updated/added/removed code to handle how group member data is sent now Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/conf/zoneopcodes.xml 2008-09-17 01:09:55 UTC (rev 709) @@ -83,7 +83,7 @@ </opcode> <opcode id="72ad" name="OP_RespawnFromHover" updated="01/17/08"> <comment>Server telling client that it is coming back from hover death</comment> - <payload dir="server" typename="uint8_t" sizechecktype="none"/> + <payload dir="both" typename="uint8_t" sizechecktype="none"/> </opcode> <opcode id="231F" name="OP_WearChange" updated="01/17/08"> <comment>old SpawnUpdateCode</comment> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/configure.in 2008-09-17 01:09:55 UTC (rev 709) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.5.0) +AC_INIT(showeq, 5.12.5.1) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/src/interface.cpp 2008-09-17 01:09:55 UTC (rev 709) @@ -1976,12 +1976,12 @@ m_packet->connect2("OP_Death", SP_Zone, DIR_Server, "newCorpseStruct", SZC_Match, m_spawnShell, SLOT(killSpawn(const uint8_t*))); - m_packet->connect2("OP_RespawnFromHover", SP_Zone, DIR_Server, + m_packet->connect2("OP_RespawnFromHover", SP_Zone, DIR_Server|DIR_Client, "uint8_t", SZC_None, - m_spawnShell, SLOT(respawnFromHover(const uint8_t*))); + m_spawnShell, SLOT(respawnFromHover(const uint8_t*, size_t, uint8_t))); m_packet->connect2("OP_Shroud", SP_Zone, DIR_Server, - "spawnShroudSelf", SZC_None, - m_spawnShell, SLOT(shroudSpawn(const uint8_t*, size_t, uint8_t))); + "spawnShroudSelf", SZC_None, + m_spawnShell, SLOT(shroudSpawn(const uint8_t*, size_t, uint8_t))); m_packet->connect2("OP_RemoveSpawn", SP_Zone, DIR_Server|DIR_Client, "removeSpawnStruct", SZC_None, m_spawnShell, SLOT(removeSpawn(const uint8_t*, size_t, uint8_t))); Modified: showeq/trunk/src/packetcapture.cpp =================================================================== --- showeq/trunk/src/packetcapture.cpp 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/src/packetcapture.cpp 2008-09-17 01:09:55 UTC (rev 709) @@ -173,13 +173,13 @@ if (pcap_compile(m_pcache_pcap, &bpp, filter_buf, 1, net) == -1) { - pcap_perror (m_pcache_pcap, "pcap_error:pcap_compile"); + pcap_perror (m_pcache_pcap, (char*)"pcap_error:pcap_compile"); exit(0); } if (pcap_setfilter (m_pcache_pcap, &bpp) == -1) { - pcap_perror (m_pcache_pcap, "pcap_error:pcap_setfilter"); + pcap_perror (m_pcache_pcap, (char*)"pcap_error:pcap_setfilter"); exit(0); } @@ -483,13 +483,13 @@ if (pcap_compile (m_pcache_pcap, &bpp, filter_buf, 1, net) == -1) { seqWarn("%s",filter_buf); - pcap_perror(m_pcache_pcap, "pcap_error:pcap_compile_error"); + pcap_perror(m_pcache_pcap, (char*)"pcap_error:pcap_compile_error"); exit(0); } if (pcap_setfilter (m_pcache_pcap, &bpp) == -1) { - pcap_perror(m_pcache_pcap, "pcap_error:pcap_setfilter_error"); + pcap_perror(m_pcache_pcap, (char*)"pcap_error:pcap_setfilter_error"); exit (0); } Modified: showeq/trunk/src/player.cpp =================================================================== --- showeq/trunk/src/player.cpp 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/src/player.cpp 2008-09-17 01:09:55 UTC (rev 709) @@ -23,7 +23,7 @@ #include <qdatastream.h> -#define DEBUG_PLAYER +// #define DEBUG_PLAYER //---------------------------------------------------------------------- // constants @@ -348,6 +348,7 @@ setTypeflag(1); Spawn::setName(player->name); + setRealName(player->name); // if it's got a last name add it setLastName(player->lastName); Modified: showeq/trunk/src/player.h =================================================================== --- showeq/trunk/src/player.h 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/src/player.h 2008-09-17 01:09:55 UTC (rev 709) @@ -95,6 +95,8 @@ uint16_t defaultDeity() const { return m_defaultDeity; } uint16_t defaultRace() const { return m_defaultRace; } uint8_t defaultClass() const { return m_defaultClass; } + QString realName() const { return m_realName; } + void setRealName(const QString& name) { m_realName = name; } virtual void killSpawn(); @@ -202,6 +204,7 @@ // We keep a second copy in case the player levels while playing. QString m_defaultName; QString m_defaultLastName; + QString m_realName; uint16_t m_mana; uint16_t m_defaultRace; uint16_t m_defaultDeity; Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/src/spawnshell.cpp 2008-09-17 01:09:55 UTC (rev 709) @@ -648,15 +648,15 @@ fillSpawnStruct(spawn,data,len,true); -#ifdef SPAWNSHELL_DIAG + #ifdef SPAWNSHELL_DIAG seqDebug("SpawnShell::zoneEntry(spawnStruct *(name='%s'))", spawn->name); -#endif + #endif Item *item; - if(!strcmp(spawn->name,m_player->name())) + if(!strcmp(spawn->name,m_player->realName())) { - // Multiple zoneEntry packets are received for your spawn after you zone. + // Multiple zoneEntry packets are received for your spawn after you zone m_player->update(spawn); emit changeItem(m_player, tSpawnChangedALL); } @@ -1382,10 +1382,12 @@ } } -void SpawnShell::respawnFromHover(const uint8_t* data) +void SpawnShell::respawnFromHover(const uint8_t* data, size_t len, uint8_t dir) { + if(dir != DIR_Client) + return; #ifdef SPAWNSHELL_DIAG - seqDebug("SpawnShell::respawnFromHover()"); + seqDebug("SpawnShell::respawnFromHover()"); #endif // Our old player is a corpse, but we're rising from the dead. So Modified: showeq/trunk/src/spawnshell.h =================================================================== --- showeq/trunk/src/spawnshell.h 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/src/spawnshell.h 2008-09-17 01:09:55 UTC (rev 709) @@ -125,7 +125,7 @@ void removeSpawn(const uint8_t* rmSpawn, size_t len, uint8_t dir); void deleteSpawn(const uint8_t* delSpawn); void killSpawn(const uint8_t* deadspawn); - void respawnFromHover(const uint8_t* respawn); + void respawnFromHover(const uint8_t* respawn, size_t len, uint8_t dir); void corpseLoc(const uint8_t* corpseLoc); void playerChangedID(uint16_t playerID); Modified: showeq/trunk/src/zones.h =================================================================== --- showeq/trunk/src/zones.h 2008-09-09 01:25:14 UTC (rev 708) +++ showeq/trunk/src/zones.h 2008-09-17 01:09:55 UTC (rev 709) @@ -457,34 +457,34 @@ { "guardian", "The Mechamatic Guardian" }, // 447 { "steamfontmts", "Steamfont Mountains" }, // 448 { "cryptofshade", "Crypt of Shade" }, // 449 -{ NULL, NULL }, // 450 -{ NULL, NULL }, // 451 -{ NULL, NULL }, // 452 -{ NULL, NULL }, // 453 -{ NULL, NULL }, // 454 -{ NULL, NULL }, // 455 -{ NULL, NULL }, // 456 -{ NULL, NULL }, // 457 -{ NULL, NULL }, // 458 -{ NULL, NULL }, // 459 -{ NULL, NULL }, // 460 -{ NULL, NULL }, // 461 -{ NULL, NULL }, // 462 -{ NULL, NULL }, // 463 -{ NULL, NULL }, // 464 -{ NULL, NULL }, // 465 -{ NULL, NULL }, // 466 -{ NULL, NULL }, // 467 -{ NULL, NULL }, // 468 -{ NULL, NULL }, // 469 -{ NULL, NULL }, // 470 -{ NULL, NULL }, // 471 -{ NULL, NULL }, // 472 -{ NULL, NULL }, // 473 -{ NULL, NULL }, // 474 -{ NULL, NULL }, // 475 -{ NULL, NULL }, // 476 -{ NULL, NULL }, // 477 +{ "Tinmizer's Wunderwerks", "dragonscalea" }, // 450 +{ "Deepscar's Den", "dragonscaleb" }, // 451 +{ "Field of Scale", "oldfieldofbone" }, // 452 +{ "Kaesora Library", "oldkaesoraa" }, // 453 +{ "Hatchery Wing", "oldkaesorab" }, // 454 +{ "Kurn's Tower", "oldkurn" }, // 455 +{ "Bloody Kithicor", "oldkithicor" }, // 456 +{ "Old Commonlands", "oldcommons" }, // 457 +{ "Highpass Hold", "oldhighpass" }, // 458 +{ "The Void", "thevoida" }, // 459 +{ "The Void", "thevoidb" }, // 460 +{ "The Void", "thevoidc" }, // 461 +{ "The Void", "thevoidd" }, // 462 +{ "The Void", "thevoide" }, // 463 +{ "The Void", "thevoidf" }, // 464 +{ "The Void", "thevoidg" }, // 465 +{ "Oceangreen Hills", "oceangreenhills" }, // 466 +{ "Oceangreen Village", "oceangreenvillage" }, // 467 +{ "Blackburrow", "oldblackburrow" }, // 468 +{ "Temple of Bertoxxulous", "bertoxtemple" }, // 469 +{ "Korafax, Home of the Riders", "discord" }, // 470 +{ "Citadel of the Worldslayer", "discordtower" }, // 471 +{ "Old Bloodfields", "oldbloodfield" }, // 472 +{ "The Precipice of War", "precipiceofwar" }, // 473 +{ "City of Dranik", "olddranik" }, // 474 +{ "Toskirakk", "toskirakk" }, // 475 +{ "Korascian Warrens", "korascian" }, // 476 +{ "Rathe Council Chambers", "rathechamber" }, // 477 { NULL, NULL }, // 478 { NULL, NULL }, // 479 { NULL, NULL }, // 480 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-09-23 02:20:43
|
Revision: 711 http://seq.svn.sourceforge.net/seq/?rev=711&view=rev Author: ieatacid Date: 2008-09-23 01:37:37 +0000 (Tue, 23 Sep 2008) Log Message: ----------- + Fixed crash issue that happened if you left a group then zoned + Updated version to 5.12.5.2 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/group.cpp showeq/trunk/src/group.h showeq/trunk/src/interface.cpp showeq/trunk/src/races.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-09-17 01:11:16 UTC (rev 710) +++ showeq/trunk/ChangeLog 2008-09-23 01:37:37 UTC (rev 711) @@ -1,3 +1,8 @@ +ieatacid (9/22/08) +---------------- +- Updated version to 5.12.5.2 +- Fixed crash issue that happened if you left a group then zoned + ieatacid (9/16/08) ---------------- - Updated version to 5.12.5.1 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-09-17 01:11:16 UTC (rev 710) +++ showeq/trunk/configure.in 2008-09-23 01:37:37 UTC (rev 711) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.5.1) +AC_INIT(showeq, 5.12.5.2) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/group.cpp =================================================================== --- showeq/trunk/src/group.cpp 2008-09-17 01:11:16 UTC (rev 710) +++ showeq/trunk/src/group.cpp 2008-09-23 01:37:37 UTC (rev 711) @@ -42,21 +42,28 @@ } } -// 9/3/2008 - Not used. Group data is no longer sent in charProfile -#if 0 void GroupMgr::player(const charProfileStruct* player) { - // reset counters + // We receive a groupUpdate packet after playerProfile so we'll clear the + // member list then repopulate it in case we lost someone during zoning m_memberCount = 0; m_membersInZoneCount = 0; + for(int i = 0; i < MAX_GROUP_MEMBERS; i++) + { + m_members[i]->m_name = ""; + m_members[i]->m_spawn = 0; + } + emit cleared(); +// 9/3/2008 - Not used. Group data is no longer sent in charProfile. We still +// need to reset the data as done above. +#if 0 // initialize the array of members with information from the player profile for (int i = 0; i < MAX_GROUP_MEMBERS; i++) { -// so it compiles -// m_members[i]->m_name = player->groupMembers[i]; + m_members[i]->m_name = player->groupMembers[i]; if (!m_members[i]->m_name.isEmpty()) m_memberCount++; @@ -72,8 +79,8 @@ emit added(m_members[i]->m_name, m_members[i]->m_spawn); } +#endif } -#endif void GroupMgr::groupUpdate(const uint8_t* data, size_t size) { @@ -110,7 +117,7 @@ // increment the member count m_memberCount++; - // attempt to retrieve the members spawn + // attempt to retrieve the member's spawn m_members[i]->m_spawn = m_spawnShell->findSpawnByName(m_members[i]->m_name); // incremement the spawn count @@ -172,26 +179,43 @@ { const groupDisbandStruct* gmem = (const groupDisbandStruct*)data; - for (int i = 0; i < MAX_GROUP_MEMBERS; i++) + // If we're disbanding, reset counters and clear member slots + if(!strcmp(gmem->membername, m_player->name())) { - // is this the member? - if (m_members[i]->m_name == gmem->membername) + m_memberCount = 0; + m_membersInZoneCount = 0; + + for(int i = 0; i < MAX_GROUP_MEMBERS; i++) { - // yes, announce its removal - emit removed(m_members[i]->m_name, m_members[i]->m_spawn); + m_members[i]->m_name = ""; + m_members[i]->m_spawn = 0; + } - // decrement member count - m_memberCount--; + emit cleared(); + } + else + { + for(int i = 0; i < MAX_GROUP_MEMBERS; i++) + { + // is this the member? + if(m_members[i]->m_name == gmem->membername) + { + // yes, announce its removal + emit removed(m_members[i]->m_name, m_members[i]->m_spawn); - // if the member is in zone decrement zone count - m_members[i]->m_spawn = m_spawnShell->findSpawnByName(m_members[i]->m_name); - if(m_members[i]->m_spawn) - m_membersInZoneCount--; + // decrement member count + m_memberCount--; - // clear it - m_members[i]->m_name = ""; - m_members[i]->m_spawn = 0; - break; + // if the member is in zone decrement zone count + m_members[i]->m_spawn = m_spawnShell->findSpawnByName(m_members[i]->m_name); + if(m_members[i]->m_spawn) + m_membersInZoneCount--; + + // clear it + m_members[i]->m_name = ""; + m_members[i]->m_spawn = 0; + break; + } } } } Modified: showeq/trunk/src/group.h =================================================================== --- showeq/trunk/src/group.h 2008-09-17 01:11:16 UTC (rev 710) +++ showeq/trunk/src/group.h 2008-09-23 01:37:37 UTC (rev 711) @@ -43,7 +43,7 @@ unsigned long totalLevels(); public slots: -// void player(const charProfileStruct* player); + void player(const charProfileStruct* player); void groupUpdate(const uint8_t* data, size_t size); void addGroupMember(const uint8_t* data); void removeGroupMember(const uint8_t* data); Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-09-17 01:11:16 UTC (rev 710) +++ showeq/trunk/src/interface.cpp 2008-09-23 01:37:37 UTC (rev 711) @@ -1652,13 +1652,8 @@ if (m_groupMgr != 0) { -// 9/3/2008 - Group data is no longer sent in charProfile -// connect(m_zoneMgr, SIGNAL(playerProfile(const charProfileStruct*)), -// m_groupMgr, SLOT(player(const charProfileStruct*))); - //remove this -// m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, -// "groupUpdateStruct", SZC_None, -// m_groupMgr, SLOT(groupUpdate(const uint8_t*, size_t))); + connect(m_zoneMgr, SIGNAL(playerProfile(const charProfileStruct*)), + m_groupMgr, SLOT(player(const charProfileStruct*))); m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, "uint8_t", SZC_None, m_groupMgr, SLOT(groupUpdate(const uint8_t*, size_t))); Modified: showeq/trunk/src/races.h =================================================================== --- showeq/trunk/src/races.h 2008-09-17 01:11:16 UTC (rev 710) +++ showeq/trunk/src/races.h 2008-09-23 01:37:37 UTC (rev 711) @@ -595,4 +595,42 @@ "Banner", // 586 "Elven Ghost", // 587 "Human Ghost", // 588 + "Chest", // 589 + "Chest", // 590 + "Crystal", // 591 + "Coffin", // 592 + "Guardian CPU", // 593 + "Worg", // 594 + "Mansion", // 595 + "Floating Island", // 596 + "Cragslither", // 597 + "Wrulon", // 598 + "UNKNOWN RACE", // 599 + "UNKNOWN RACE", // 600 + "UNKNOWN RACE", // 601 + "Burynai", // 602 + "Frog", // 603 + "Dracolich", // 604 + "Iksar Ghost", // 605 + "Iksar Skeleton", // 606 + "Mephit", // 607 + "Muddite", // 608 + "Raptor", // 609 + "Sarnak", // 610 + "Scorpion", // 611 + "Tsetsian", // 612 + "Wurm", // 613 + "Balrog", // 614 + "Hydra Crystal", // 615 + "Crystal Sphere", // 616 + "Gnoll", // 617 + "Sokokar", // 618 + "Stone Pylon", // 619 + "Demon Vulture", // 620 + "Wagon", // 621 + "God of Discord", // 622 + "Wrulon Mount", // 623 + "UNKNOWN RACE", // 624 + "Sokokar Mount", // 625 + "UNKNOWN RACE", // 626 #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2023-07-20 21:41:18
|
Revision: 1407 http://sourceforge.net/p/seq/svn/1407 Author: cn187 Date: 2023-07-20 21:41:17 +0000 (Thu, 20 Jul 2023) Log Message: ----------- Release 6.3.4 - Updated version to 6.3.4 - Support for EQ Patch 07/19/23 - Struct and opcode updates ( Newby, cn187 ) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2023-07-08 04:29:50 UTC (rev 1406) +++ showeq/trunk/ChangeLog 2023-07-20 21:41:17 UTC (rev 1407) @@ -1,3 +1,9 @@ +cn187 (07/20/23) +---------------- +- Update to version 6.3.4 +- Support for EQ Patch 07/19/23 +- Struct and opcode updates (Newby, cn187) + cn187 (06/23/23) ---------------- - Update to version 6.3.3 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2023-07-08 04:29:50 UTC (rev 1406) +++ showeq/trunk/conf/zoneopcodes.xml 2023-07-20 21:41:17 UTC (rev 1407) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="3d32" name="OP_PlayerProfile" updated="06/21/23"> + <opcode id="6a0b" name="OP_PlayerProfile" updated="07/19/23"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3652" name="OP_ZoneEntry" updated="06/21/23"> + <opcode id="0ce0" name="OP_ZoneEntry" updated="07/19/23"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4550" name="OP_TimeOfDay" updated="06/21/23"> + <opcode id="11a6" name="OP_TimeOfDay" updated="07/19/23"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="0d3a" name="OP_NewZone" updated="06/21/23"> + <opcode id="6fcf" name="OP_NewZone" updated="07/19/23"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6c01" name="OP_SpawnDoor" updated="06/21/23"> + <opcode id="087c" name="OP_SpawnDoor" updated="07/19/23"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="03a8" name="OP_GroundSpawn" updated="06/21/23"> + <opcode id="46a9" name="OP_GroundSpawn" updated="07/19/23"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4ca7" name="OP_SendZonePoints" updated="06/21/23"> + <opcode id="5b83" name="OP_SendZonePoints" updated="07/19/23"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="2610" name="OP_AAExpUpdate" updated="06/21/23"> + <opcode id="6886" name="OP_AAExpUpdate" updated="07/19/23"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2510" name="OP_ExpUpdate" updated="06/21/23"> + <opcode id="7fd6" name="OP_ExpUpdate" updated="07/19/23"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="780c" name="OP_GuildMOTD" updated="06/21/23"> + <opcode id="6f67" name="OP_GuildMOTD" updated="07/19/23"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="734f" name="OP_ClientUpdate" updated="06/21/23"> + <opcode id="6b09" name="OP_ClientUpdate" updated="07/19/23"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="312e" name="OP_NpcMoveUpdate" updated="06/21/23"> + <opcode id="7cf0" name="OP_NpcMoveUpdate" updated="07/19/23"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="65bb" name="OP_MobUpdate" updated="06/21/23"> + <opcode id="3a3e" name="OP_MobUpdate" updated="07/19/23"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="3b85" name="OP_DeleteSpawn" updated="06/21/23"> + <opcode id="22c2" name="OP_DeleteSpawn" updated="07/19/23"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="7c7d" name="OP_RemoveSpawn" updated="06/21/23"> + <opcode id="4c94" name="OP_RemoveSpawn" updated="07/19/23"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="04dc" name="OP_Death" updated="06/21/23"> + <opcode id="4cc1" name="OP_Death" updated="07/19/23"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="696d" name="OP_WearChange" updated="06/21/23"> + <opcode id="4fef" name="OP_WearChange" updated="07/19/23"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1771" name="OP_SpawnAppearance" updated="06/21/23"> + <opcode id="1ea9" name="OP_SpawnAppearance" updated="07/19/23"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="1d29" name="OP_Stamina" updated="06/21/23"> + <opcode id="0b0d" name="OP_Stamina" updated="07/19/23"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="18f0" name="OP_HPUpdate" updated="06/21/23"> + <opcode id="639d" name="OP_HPUpdate" updated="07/19/23"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="619a" name="OP_GuildMemberUpdate" updated="06/21/23"> + <opcode id="3ea3" name="OP_GuildMemberUpdate" updated="07/19/23"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="61b6" name="OP_ClickObject" updated="06/21/23"> + <opcode id="27a8" name="OP_ClickObject" updated="07/19/23"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="3a45" name="OP_Action" updated="06/21/23"> + <opcode id="088c" name="OP_Action" updated="07/19/23"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="427f" name="OP_Action2" updated="06/21/23"> + <opcode id="5ed0" name="OP_Action2" updated="07/19/23"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="0633" name="OP_Consider" updated="06/21/23"> + <opcode id="0a0b" name="OP_Consider" updated="07/19/23"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="737d" name="OP_TargetMouse" updated="06/21/23"> + <opcode id="396f" name="OP_TargetMouse" updated="07/19/23"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="6483" name="OP_SpawnRename" updated="06/21/23"> + <opcode id="67ec" name="OP_SpawnRename" updated="07/19/23"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="00f5" name="OP_Illusion" updated="06/21/23"> + <opcode id="5587" name="OP_Illusion" updated="07/19/23"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="6cf2" name="OP_Shroud" updated="06/21/23"> + <opcode id="04f8" name="OP_Shroud" updated="07/19/23"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="0e07" name="OP_ZoneChange" updated="06/21/23"> + <opcode id="6ff2" name="OP_ZoneChange" updated="07/19/23"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="6bfd" name="OP_Buff" updated="06/21/23"> + <opcode id="211c" name="OP_Buff" updated="07/19/23"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="260d" name="OP_BeginCast" updated="06/21/23"> + <opcode id="5466" name="OP_BeginCast" updated="07/19/23"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="2188" name="OP_CastSpell" updated="06/21/23"> + <opcode id="2fe1" name="OP_CastSpell" updated="07/19/23"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="6938" name="OP_SwapSpell" updated="06/21/23"> + <opcode id="3a19" name="OP_SwapSpell" updated="07/19/23"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="0d64" name="OP_MemorizeSpell" updated="06/21/23"> + <opcode id="1af6" name="OP_MemorizeSpell" updated="07/19/23"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="4fa0" name="OP_InspectAnswer" updated="06/21/23"> + <opcode id="37d6" name="OP_InspectAnswer" updated="07/19/23"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="32f9" name="OP_Emote" updated="06/21/23"> + <opcode id="49f5" name="OP_Emote" updated="07/19/23"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="1a4f" name="OP_SimpleMessage" updated="06/21/23"> + <opcode id="3265" name="OP_SimpleMessage" updated="07/19/23"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="66f6" name="OP_FormattedMessage" updated="06/21/23"> + <opcode id="39b9" name="OP_FormattedMessage" updated="07/19/23"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6be9" name="OP_CommonMessage" updated="06/21/23"> + <opcode id="3ae6" name="OP_CommonMessage" updated="07/19/23"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="1208" name="OP_SpecialMesg" updated="06/21/23"> + <opcode id="2eed" name="OP_SpecialMesg" updated="07/19/23"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="40c5" name="OP_RandomReq" updated="06/21/23"> + <opcode id="638b" name="OP_RandomReq" updated="07/19/23"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="10ce" name="OP_RandomReply" updated="06/21/23"> + <opcode id="0312" name="OP_RandomReply" updated="07/19/23"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="47bf" name="OP_ManaChange" updated="06/21/23"> + <opcode id="3d4f" name="OP_ManaChange" updated="07/19/23"> <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="36f4" name="OP_BazaarSearchRequest" updated="06/21/23"> + <opcode id="499c" name="OP_BazaarSearchRequest" updated="07/19/23"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="20bc" name="OP_BazaarSearchResponse" updated="06/21/23"> + <opcode id="2d7e" name="OP_BazaarSearchResponse" updated="07/19/23"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="0684" name="OP_MoneyOnCorpse" updated="06/21/23"> + <opcode id="09b6" name="OP_MoneyOnCorpse" updated="07/19/23"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="1ebb" name="OP_SkillUpdate" updated="06/21/23"> + <opcode id="4aa9" name="OP_SkillUpdate" updated="07/19/23"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="6a9f" name="OP_LevelUpdate" updated="06/21/23"> + <opcode id="262e" name="OP_LevelUpdate" updated="07/19/23"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="0a6f" name="OP_DzSwitchInfo" updated="06/21/23"> + <opcode id="0f58" name="OP_DzSwitchInfo" updated="07/19/23"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="7a54" name="OP_DzInfo" updated="06/21/23"> + <opcode id="64ca" name="OP_DzInfo" updated="07/19/23"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="787e" name="OP_SetRunMode" updated="06/21/23"> + <opcode id="0d11" name="OP_SetRunMode" updated="07/19/23"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="7850" name="OP_Trader" updated="06/21/23"> + <opcode id="50f8" name="OP_Trader" updated="07/19/23"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2432" name="OP_GuildMemberList" updated="06/21/23"> + <opcode id="0a84" name="OP_GuildMemberList" updated="07/19/23"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="66ca" name="OP_ManaUpdate" updated="06/21/23"> + <opcode id="5a1b" name="OP_ManaUpdate" updated="07/19/23"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1ca8" name="OP_EndUpdate" updated="06/21/23"> + <opcode id="0349" name="OP_EndUpdate" updated="07/19/23"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3416" name="OP_ExpandedGuildInfo" updated="06/21/23"> + <opcode id="042a" name="OP_ExpandedGuildInfo" updated="07/19/23"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="33bc" name="OP_GuildsInZoneList" updated="06/21/23"> + <opcode id="4dce" name="OP_GuildsInZoneList" updated="07/19/23"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="729e" name="OP_NewGuildInZone" updated="06/21/23"> + <opcode id="6bb1" name="OP_NewGuildInZone" updated="07/19/23"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4898" name="OP_Find" updated="06/21/23"> + <opcode id="5a27" name="OP_Find" updated="07/19/23"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2023-07-08 04:29:50 UTC (rev 1406) +++ showeq/trunk/configure.in 2023-07-20 21:41:17 UTC (rev 1407) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.3.3) +AC_INIT(showeq, 6.3.4) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2023-07-08 04:29:50 UTC (rev 1406) +++ showeq/trunk/src/everquest.h 2023-07-20 21:41:17 UTC (rev 1407) @@ -1115,26 +1115,27 @@ struct { - signed deltaY:13; // change in y + signed deltaHeading:10; // change in heading signed animation:10; // current animation - unsigned padding00:9; + unsigned padding00:12; - signed y:19; // y coord (2nd loc value) - unsigned padding01:13; + signed deltaZ:13; // change in z + unsigned pitch:12; // pitch (up/down heading) + unsigned padding01:7; + unsigned heading:12; // heading + signed deltaY:13; // change in y + unsigned padding02:7; + signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z + signed deltaX:13; // change in x signed z:19; // z coord (3rd loc value) - signed deltaX:13; // change in x + unsigned padding04:13; - signed deltaHeading:10; // change in heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding04:10; + signed y:19; // y coord (2nd loc value) + unsigned padding05:13; - unsigned heading:12; // heading - unsigned padding05:20; - }; int32_t posData[6]; }; @@ -2393,25 +2394,26 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaY:13; // change in y + signed deltaHeading:10; // change in heading signed animation:10; // current animation - unsigned padding00:9; + unsigned padding00:12; /*0008*/ - signed y:19; // y coord (2nd loc value) - unsigned padding01:13; + signed deltaZ:13; // change in z + unsigned pitch:12; // pitch (up/down heading) + unsigned padding01:7; /*0012*/ + unsigned heading:12; // heading + signed deltaY:13; // change in y + unsigned padding02:7; +/*0016*/ signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z -/*0016*/ - signed z:19; // z coord (3rd loc value) signed deltaX:13; // change in x /*0020*/ - signed deltaHeading:10; // change in heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding04:10; + signed z:19; // z coord (3rd loc value) + unsigned padding04:13; /*0024*/ - unsigned heading:12; // heading - unsigned padding05:20; + signed y:19; // y coord (2nd loc value) + unsigned padding05:13; /*0028*/ }; @@ -2426,27 +2428,27 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed deltaHeading:10; // change in heading - unsigned padding00:22; + float deltaY; // change in y /*0010*/ float y; // y coord (2nd loc value) /*0014*/ - float deltaX; // change in x + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding02:8; /*0018*/ - float deltaZ; // change in z + float z; // z coord (3rd loc value) /*0022*/ - unsigned heading:12; // heading - signed animation:10; // current animation - unsigned padding04:10; + signed deltaHeading:10; // change in heading + unsigned padding04:22; /*0026*/ + float deltaZ; // change in z +/*0030*/ float x; // x coord (1st loc value) -/*0030*/ - float deltaY; // change in y /*0034*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding07:20; + signed animation:10; // current animation + unsigned padding07:22; /*0038*/ - float z; // z coord (3rd loc value) + float deltaX; // change in x /*0042*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2023-12-07 01:37:46
|
Revision: 1429 http://sourceforge.net/p/seq/svn/1429 Author: theblueadept Date: 2023-12-07 01:37:45 +0000 (Thu, 07 Dec 2023) Log Message: ----------- Historical checkin for 12/06/23 - Struct and opcode updates (Newby) Version to 6.3.9 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/zonemgr.cpp showeq/trunk/src/zones.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2023-11-16 01:35:24 UTC (rev 1428) +++ showeq/trunk/ChangeLog 2023-12-07 01:37:45 UTC (rev 1429) @@ -1,3 +1,9 @@ +BlueAdept (12/06/23) +---------------- +- Update to version 6.3.9 +- Support for EQ Patch 12/06/23 +- Struct and opcode updates (Newby) + BlueAdept (11/15/23) ---------------- - Update to version 6.3.8 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2023-11-16 01:35:24 UTC (rev 1428) +++ showeq/trunk/conf/zoneopcodes.xml 2023-12-07 01:37:45 UTC (rev 1429) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="29f0" name="OP_PlayerProfile" updated="11/15/23"> + <opcode id="1bb6" name="OP_PlayerProfile" updated="12/05/23"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5eb3" name="OP_ZoneEntry" updated="11/15/23"> + <opcode id="30df" name="OP_ZoneEntry" updated="12/05/23"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5e90" name="OP_TimeOfDay" updated="11/15/23"> + <opcode id="5a94" name="OP_TimeOfDay" updated="12/05/23"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="0c75" name="OP_NewZone" updated="11/15/23"> + <opcode id="7f1b" name="OP_NewZone" updated="12/05/23"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="02ff" name="OP_SpawnDoor" updated="11/15/23"> + <opcode id="49aa" name="OP_SpawnDoor" updated="12/05/23"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="26e7" name="OP_GroundSpawn" updated="11/15/23"> + <opcode id="7741" name="OP_GroundSpawn" updated="12/05/23"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7549" name="OP_SendZonePoints" updated="11/15/23"> + <opcode id="476a" name="OP_SendZonePoints" updated="12/05/23"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="4b77" name="OP_AAExpUpdate" updated="11/15/23"> + <opcode id="451d" name="OP_AAExpUpdate" updated="12/05/23"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> @@ -41,32 +41,32 @@ <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="6993" name="OP_GuildMOTD" updated="11/15/23"> + <opcode id="748e" name="OP_GuildMOTD" updated="12/05/23"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="560c" name="OP_ClientUpdate" updated="11/15/23"> + <opcode id="2a11" name="OP_ClientUpdate" updated="12/05/23"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="5a78" name="OP_NpcMoveUpdate" updated="11/15/23"> + <opcode id="343f" name="OP_NpcMoveUpdate" updated="12/05/23"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="24d0" name="OP_MobUpdate" updated="11/15/23"> + <opcode id="4438" name="OP_MobUpdate" updated="12/05/23"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="33a1" name="OP_DeleteSpawn" updated="11/15/23"> + <opcode id="65c0" name="OP_DeleteSpawn" updated="12/05/23"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="610a" name="OP_RemoveSpawn" updated="11/15/23"> + <opcode id="1de6" name="OP_RemoveSpawn" updated="12/05/23"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="763a" name="OP_Death" updated="11/15/23"> + <opcode id="0855" name="OP_Death" updated="12/05/23"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> @@ -74,7 +74,7 @@ <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="6b13" name="OP_SpawnAppearance" updated="11/15/23"> + <opcode id="53a3" name="OP_SpawnAppearance" updated="12/05/23"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> @@ -86,28 +86,28 @@ <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="4ad7" name="OP_GuildMemberUpdate" updated="11/15/23"> + <opcode id="1655" name="OP_GuildMemberUpdate" updated="12/05/23"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="6898" name="OP_ClickObject" updated="11/15/23"> + <opcode id="2d36" name="OP_ClickObject" updated="12/05/23"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="6af7" name="OP_Action" updated="11/15/23"> + <opcode id="5105" name="OP_Action" updated="12/05/23"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="2daa" name="OP_Action2" updated="11/15/23"> + <opcode id="7a56" name="OP_Action2" updated="12/05/23"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="2ff3" name="OP_Consider" updated="11/15/23"> + <opcode id="4dd1" name="OP_Consider" updated="12/05/23"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="7ba1" name="OP_TargetMouse" updated="11/15/23"> + <opcode id="0d84" name="OP_TargetMouse" updated="12/05/23"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> @@ -123,7 +123,7 @@ <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="0532" name="OP_ZoneChange" updated="11/15/23"> + <opcode id="5d11" name="OP_ZoneChange" updated="12/05/23"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -191,19 +191,19 @@ <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="1ae6" name="OP_SimpleMessage" updated="11/15/23"> + <opcode id="4b89" name="OP_SimpleMessage" updated="12/05/23"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="3bf7" name="OP_FormattedMessage" updated="11/15/23"> + <opcode id="1201" name="OP_FormattedMessage" updated="12/05/23"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6846" name="OP_CommonMessage" updated="11/15/23"> + <opcode id="51a7" name="OP_CommonMessage" updated="12/05/23"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6ca4" name="OP_SpecialMesg" updated="11/15/23"> + <opcode id="71d8" name="OP_SpecialMesg" updated="12/05/23"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -307,7 +307,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6e51" name="OP_GuildMemberList" updated="11/15/23"> + <opcode id="54c1" name="OP_GuildMemberList" updated="12/05/23"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="76a1" name="OP_ExpandedGuildInfo" updated="11/15/23"> + <opcode id="3351" name="OP_ExpandedGuildInfo" updated="12/05/23"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="407e" name="OP_Find" updated="11/15/23"> + <opcode id="6e07" name="OP_Find" updated="12/05/23"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2023-11-16 01:35:24 UTC (rev 1428) +++ showeq/trunk/configure.in 2023-12-07 01:37:45 UTC (rev 1429) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.3.8) +AC_INIT(showeq, 6.3.9) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2023-11-16 01:35:24 UTC (rev 1428) +++ showeq/trunk/src/everquest.h 2023-12-07 01:37:45 UTC (rev 1429) @@ -1115,27 +1115,30 @@ struct { - signed y:19; // y coord (2nd loc value) - signed deltaZ:13; // change in z + signed z:19; // z coord (3rd loc value) + unsigned pad0:13; + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned pad1:1; + + signed deltaX:13; // change in x signed deltaHeading:10; // change in heading - signed z:19; // z coord (3rd loc value) - unsigned pad1:3; + unsigned pad2:9; unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned pad2:8; + signed y:19; // y coord (2nd loc value) + unsigned pad3:1; - signed x:19; // x coord (1st loc value) - signed animation:10; // current animation - unsigned pad3:3; - signed deltaY:13; // change in y - signed deltaX:13; // change in x + signed deltaZ:13; // change in z unsigned pad4:6; + signed animation:10; // current animation + unsigned pad5:22; + }; - int32_t posData[5]; + int32_t posData[6]; }; /*0000*/ union @@ -2384,7 +2387,7 @@ /* ** Player Position Update -** Length: 24 Octets +** Length: 28 Octets ** OpCode: PlayerPosCode */ struct playerSpawnPosStruct @@ -2392,30 +2395,33 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed y:19; // y coord (2nd loc value) - signed deltaZ:13; // change in z + signed z:19; // z coord (3rd loc value) + unsigned pad0:13; /*0008*/ + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned pad1:1; +/*0012*/ + signed deltaX:13; // change in x signed deltaHeading:10; // change in heading - signed z:19; // z coord (3rd loc value) - unsigned pad1:3; -/*0012*/ + unsigned pad2:9; +/*0016*/ unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned pad2:8; -/*0016*/ - signed x:19; // x coord (1st loc value) - signed animation:10; // current animation - unsigned pad3:3; + signed y:19; // y coord (2nd loc value) + unsigned pad3:1; /*0020*/ signed deltaY:13; // change in y - signed deltaX:13; // change in x + signed deltaZ:13; // change in z unsigned pad4:6; /*0024*/ + signed animation:10; // current animation + unsigned pad5:22; +/*0028*/ }; /* ** Self Position Update -** Length: 46 Octets +** Length: 42 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2424,30 +2430,28 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float deltaX; // change in x + signed animation:10; // current animation + unsigned pad0:22; /*0010*/ - unsigned heading:12; // heading - unsigned pad1:20; + float deltaZ; // change in z /*0014*/ - float deltaY; // change in y + unsigned pitch:12; // pitch (up/down heading) + unsigned pad2:20; /*0018*/ - signed animation:10; // current animation - unsigned pad3:22; + float x; // x coord (1st loc value) /*0022*/ + float deltaY; // change in y +/*0026*/ float z; // z coord (3rd loc value) -/*0026*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned pad5:20; /*0030*/ - float deltaZ; // change in z + float deltaX; // change in x /*0034*/ + signed deltaHeading:10; // change in heading + unsigned heading:12; // heading + unsigned pad7:10; +/*0038*/ float y; // y coord (2nd loc value) -/*0038*/ - signed deltaHeading:10; // change in heading - unsigned pad8:22; /*0042*/ - float x; // x coord (1st loc value) -/*0046*/ }; /* Modified: showeq/trunk/src/zonemgr.cpp =================================================================== --- showeq/trunk/src/zonemgr.cpp 2023-11-16 01:35:24 UTC (rev 1428) +++ showeq/trunk/src/zonemgr.cpp 2023-12-07 01:37:45 UTC (rev 1429) @@ -218,7 +218,7 @@ player->checksum = netStream.readUInt32NC(); // Unknown - netStream.skipBytes(12); + netStream.skipBytes(16); player->profile.gender = netStream.readUInt8(); player->profile.race = netStream.readUInt32(); Modified: showeq/trunk/src/zones.h =================================================================== --- showeq/trunk/src/zones.h 2023-11-16 01:35:24 UTC (rev 1428) +++ showeq/trunk/src/zones.h 2023-12-07 01:37:45 UTC (rev 1429) @@ -879,13 +879,13 @@ { "deepshade", "Deepshade" }, // 856 { "firefallpass", "Firefall Pass" }, // 857 { "hollowshadetwo", "Hollowshade Moor" }, // 858 -{ NULL, NULL }, // 859 -{ NULL, NULL }, // 860 -{ NULL, NULL }, // 861 -{ NULL, NULL }, // 862 -{ NULL, NULL }, // 863 -{ NULL, NULL }, // 864 -{ NULL, NULL }, // 865 +{ "laurioninn", "Laurion Inn" }, // 859 +{ "ankexfen", "Ankexfen Keep" }, // 860 +{ "pallomen", "Pal'Lomen" }, // 861 +{ "herosforge", "The Hero's Forge" }, // 862 +{ "moorsofnokk", "Moors of Nokk" }, // 863 +{ "unkemptwoods", "Unkempt Woods" }, // 864 +{ "timorousfalls", "Timorous Falls" }, // 865 { NULL, NULL }, // 866 { NULL, NULL }, // 867 { NULL, NULL }, // 868 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-10-13 02:37:57
|
Revision: 713 http://seq.svn.sourceforge.net/seq/?rev=713&view=rev Author: ieatacid Date: 2008-10-13 02:37:44 +0000 (Mon, 13 Oct 2008) Log Message: ----------- + Compatibility with live 10/07 + Updated structs/opcodes + Version to 5.12.6.0 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/group.cpp showeq/trunk/src/interface.cpp showeq/trunk/src/messageshell.cpp showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-09-23 01:38:12 UTC (rev 712) +++ showeq/trunk/ChangeLog 2008-10-13 02:37:44 UTC (rev 713) @@ -1,3 +1,9 @@ +ieatacid (10/12/08) +---------------- +- Updated version to 5.12.6.0 +- Compatibility with live 10/07 +- Updated structs/opcodes + ieatacid (9/22/08) ---------------- - Updated version to 5.12.5.2 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-09-23 01:38:12 UTC (rev 712) +++ showeq/trunk/conf/zoneopcodes.xml 2008-10-13 02:37:44 UTC (rev 713) @@ -6,7 +6,7 @@ <comment>old CharProfileCode</comment> <payload dir="server" typename="charProfileStruct" sizechecktype="match"/> </opcode> - <opcode id="7901" name="OP_ZoneEntry" updated="01/17/08"> + <opcode id="5A6B" name="OP_ZoneEntry" updated="10/07/08"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> @@ -57,7 +57,7 @@ <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="664A" name="OP_NpcMoveUpdate" updated="01/17/08"> + <opcode id="22A7" name="OP_NpcMoveUpdate" updated="10/07/08"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -69,7 +69,7 @@ <comment>old NewSpawnCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="match"/> </opcode> - <opcode id="5aac" name="OP_DeleteSpawn" updated="04/17/08"> + <opcode id="4292" name="OP_DeleteSpawn" updated="10/07/08"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> @@ -142,7 +142,7 @@ <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="5f51" name="OP_GroupInvite" updated="09/03/08"> + <opcode id="5D32" name="OP_GroupInvite" updated="10/07/08"> <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> <payload dir="server" typename="groupAltInviteStruct" sizechecktype="match"/> <comment>You're inviting someone and you're not grouped</comment> @@ -155,27 +155,27 @@ <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/> <comment>Declining to join a group</comment> </opcode> - <opcode id="1842" name="OP_GroupFollow" updated="09/03/08"> + <opcode id="21BE" name="OP_GroupFollow" updated="10/07/08"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>You join a group</comment> </opcode> - <!--<opcode id="1842" name="OP_GroupFollow2" updated="09/03/08"> - <payload dir="server" typename="groupAltFollowStruct" sizechecktype="match"/> + <opcode id="3E22" name="OP_GroupFollow2" updated="10/07/08"> + <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>Player joins your group</comment> - </opcode>--> - <opcode id="4036" name="OP_GroupUpdate" updated="09/03/08"> + </opcode> + <opcode id="7351" name="OP_GroupUpdate" updated="10/07/08"> <payload dir="server" typename="uint8_t" sizechecktype="none"/> <comment>Variable length packet with group member names</comment> </opcode> - <opcode id="7545" name="OP_GroupDisband" updated="09/03/08"> + <opcode id="C56C" name="OP_GroupDisband" updated="10/07/08"> <comment>You disband from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="16be" name="OP_GroupDisband2" updated="09/03/08"> + <opcode id="162D" name="OP_GroupDisband2" updated="10/07/08"> <comment>Other disbands from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="1560" name="OP_GroupLeader" updated="09/03/08"> + <opcode id="7545" name="OP_GroupLeader" updated="10/07/08"> <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-09-23 01:38:12 UTC (rev 712) +++ showeq/trunk/configure.in 2008-10-13 02:37:44 UTC (rev 713) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.5.2) +AC_INIT(showeq, 5.12.6.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-09-23 01:38:12 UTC (rev 712) +++ showeq/trunk/src/everquest.h 2008-10-13 02:37:44 UTC (rev 713) @@ -604,7 +604,8 @@ /*0916*/ uint8_t unknown0916[4]; // *** Placeholder (11/24/2007) /*0920*/ uint8_t unknown0920[4]; // *** Placeholder (01/17/2008) /*0924*/ uint8_t unknown0924[4]; // *** Placeholder (09/03/2008) -/*0928*/ +/*0928*/ uint8_t unknown0928[4]; // *** Placeholder (10/07/2008) +/*0932*/ }; /** @@ -685,7 +686,7 @@ /* ** Player Profile -** Length: 23608 Octets +** Length: 23488 Octets ** OpCode: CharProfileCode */ struct charProfileStruct @@ -699,11 +700,12 @@ /*15264*/ uint32_t birthdayTime; // character birthday /*15268*/ uint32_t lastSaveTime; // character last save time /*15272*/ uint32_t timePlayedMin; // time character played -/*15276*/ uint8_t pvp; // 1=pvp, 0=not pvp -/*15277*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon -/*15278*/ uint8_t gm; // 0=no, 1=yes (guessing!) -/*15279*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader -/*15280*/ uint8_t unknown15280[12]; +/*15276*/ uint8_t unknown15276[4]; +/*15280*/ uint8_t pvp; // 1=pvp, 0=not pvp +/*15281*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon +/*15282*/ uint8_t gm; // 0=no, 1=yes (guessing!) +/*15283*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader +/*15284*/ uint8_t unknown15284[8]; /*15292*/ uint32_t exp; // Current Experience /*15296*/ uint8_t unknown15296[12]; /*15308*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages @@ -712,61 +714,60 @@ /*15344*/ float x; // Players x position /*15348*/ float z; // Players z position /*15352*/ float heading; // Players heading -/*15356*/ uint8_t unknown15356[4]; // ***Placeholder +/*15356*/ uint32_t standState; // 0x64 = stand /*15360*/ uint32_t platinum_bank; // Platinum Pieces in Bank /*15364*/ uint32_t gold_bank; // Gold Pieces in Bank /*15368*/ uint32_t silver_bank; // Silver Pieces in Bank /*15372*/ uint32_t copper_bank; // Copper Pieces in Bank /*15376*/ uint32_t platinum_shared; // Shared platinum pieces -/*15380*/ uint8_t unknown15380[716]; -/*16096*/ uint32_t expansions; // Bitmask for expansions -/*16100*/ uint8_t unknown16100[12]; -/*16112*/ uint32_t autosplit; // 0 = off, 1 = on -/*16116*/ uint8_t unknown16116[16]; -/*16132*/ uint16_t zoneId; // see zones.h -/*16134*/ uint16_t zoneInstance; // Instance id -/*16136*/ //char groupMembers[MAX_GROUP_MEMBERS][64]; // removed 9/3/2008 -/*16520*/ //char groupLeader[64]; // removed 9/3/2008 -/*16136*/ uint8_t unknown16136[800]; -/*16936*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on -/*17380*/ uint8_t unknown17380[4]; -/*17384*/ uint32_t ldon_guk_points; // Earned GUK points -/*17388*/ uint32_t ldon_mir_points; // Earned MIR points -/*17392*/ uint32_t ldon_mmc_points; // Earned MMC points -/*17396*/ uint32_t ldon_ruj_points; // Earned RUJ points -/*17400*/ uint32_t ldon_tak_points; // Earned TAK points -/*17404*/ uint32_t ldon_avail_points; // Available LDON points -/*17408*/ uint8_t unknown17408[136]; -/*17544*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) -/*17548*/ uint32_t careerTribute; // Total favor points for this char -/*17552*/ uint32_t unknown17552; // *** Placeholder -/*17556*/ uint32_t currentTribute; // Current tribute points -/*17560*/ uint32_t unknown17560; // *** Placeholder -/*17564*/ uint32_t tributeActive; // 0 = off, 1=on -/*17568*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout -/*17608*/ uint8_t unknown17608[8]; -/*17616*/ float expGroupLeadAA; // Current group lead exp points -/*17620*/ uint32_t unknown17620; -/*17624*/ float expRaidLeadAA; // Current raid lead AA exp points -/*17628*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points -/*17632*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points -/*17636*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks -/*17764*/ uint8_t unknown17764[128]; -/*17892*/ uint32_t airRemaining; // Air supply (seconds) -/*17896*/ uint8_t unknown17896[4608]; -/*22504*/ uint32_t expAA; // Exp earned in current AA point -/*22508*/ uint8_t unknown22508[40]; -/*22548*/ uint32_t currentRadCrystals; // Current count of radiant crystals -/*22552*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever -/*22556*/ uint32_t currentEbonCrystals;// Current count of ebon crystals -/*22560*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever -/*22564*/ uint8_t groupAutoconsent; // 0=off, 1=on -/*22565*/ uint8_t raidAutoconsent; // 0=off, 1=on -/*22566*/ uint8_t guildAutoconsent; // 0=off, 1=on -/*22567*/ uint8_t unknown22567[5]; // ***Placeholder (6/29/2005) -/*22572*/ uint32_t showhelm; // 0=no, 1=yes -/*22576*/ uint8_t unknown22576[1032]; // ***Placeholder (2/13/2007) -/*23608*/ +/*15380*/ uint8_t unknown15380[1036]; +/*16416*/ uint32_t expansions; // Bitmask for expansions +/*16420*/ uint8_t unknown16420[12]; +/*16432*/ uint32_t autosplit; // 0 = off, 1 = on +/*16436*/ uint8_t unknown16436[16]; +/*16452*/ uint16_t zoneId; // see zones.h +/*16454*/ uint16_t zoneInstance; // Instance id +/*16456*/ uint8_t unknown16456[800]; +/*17256*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on +/*17260*/ uint8_t unknown17260[4]; +/*17264*/ uint32_t ldon_guk_points; // Earned GUK points +/*17268*/ uint32_t ldon_mir_points; // Earned MIR points +/*17272*/ uint32_t ldon_mmc_points; // Earned MMC points +/*17276*/ uint32_t ldon_ruj_points; // Earned RUJ points +/*17280*/ uint32_t ldon_tak_points; // Earned TAK points +/*17284*/ uint32_t ldon_avail_points; // Available LDON points +/*17288*/ uint8_t unknown17288[136]; +/*17424*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) +/*17428*/ uint32_t careerTribute; // Total favor points for this char +/*17432*/ uint32_t unknown17432; // *** Placeholder +/*17436*/ uint32_t currentTribute; // Current tribute points +/*17440*/ uint32_t unknown17440; // *** Placeholder +/*17444*/ uint32_t tributeActive; // 0 = off, 1=on +/*17448*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout +/*17488*/ uint8_t unknown17488[4]; +/*17492*/ float expGroupLeadAA; // Current group lead exp points +/*17496*/ uint32_t unknown17496; +/*17500*/ float expRaidLeadAA; // Current raid lead AA exp points +/*17504*/ uint32_t unknown17504; +/*17508*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points +/*17512*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points +/*17516*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks +/*17644*/ uint8_t unknown17644[128]; +/*17772*/ uint32_t airRemaining; // Air supply (seconds) +/*17776*/ uint8_t unknown17776[4608]; +/*22384*/ uint32_t expAA; // Exp earned in current AA point +/*22388*/ uint8_t unknown22388[40]; +/*22428*/ uint32_t currentRadCrystals; // Current count of radiant crystals +/*22432*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever +/*22436*/ uint32_t currentEbonCrystals;// Current count of ebon crystals +/*22440*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever +/*22444*/ uint8_t groupAutoconsent; // 0=off, 1=on +/*22445*/ uint8_t raidAutoconsent; // 0=off, 1=on +/*22446*/ uint8_t guildAutoconsent; // 0=off, 1=on +/*22447*/ uint8_t unknown22447[5]; // ***Placeholder (6/29/2005) +/*22452*/ uint32_t showhelm; // 0=no, 1=yes +/*22456*/ uint8_t unknown22456[1032]; // ***Placeholder (2/13/2007) +/*23488*/ }; #if 0 @@ -1662,7 +1663,7 @@ /* ** Grouping Invite -** Length 140 Octets (invite a player) or 144 (you get invited) +** Length 148 Octets (invite a player) or 152 (you get invited) ** Opcode OP_GroupInvite */ @@ -1670,21 +1671,21 @@ { /*0000*/ char invitee[64]; // Invitee's Name /*0064*/ char inviter[64]; // Inviter's Name -/*0128*/ uint8_t unknown0128[12]; // ***Placeholder -/*0140*/ +/*0128*/ uint8_t unknown0128[20]; // ***Placeholder +/*0148*/ }; struct groupAltInviteStruct { /*0000*/ char invitee[64]; // Invitee's Name /*0064*/ char inviter[64]; // Inviter's Name -/*0128*/ uint8_t unknown0132[16]; // ***Placeholder -/*0144*/ +/*0128*/ uint8_t unknown0128[24]; // ***Placeholder +/*0152*/ }; /* ** Grouping Invite Answer - Decline -** Length 144 Octets +** Length 152 Octets ** Opcode GroupDeclineCode */ @@ -1692,15 +1693,15 @@ { /*0000*/ char yourname[64]; // Player Name /*0064*/ char membername[64]; // Invited Member Name -/*0128*/ uint8_t unknown0128[12]; // ***Placeholder -/*0140*/ uint8_t reason; // Already in Group = 1, Declined Invite = 3 -/*0141*/ uint8_t unknown0141[3]; // ***Placeholder -/*0144*/ +/*0128*/ uint8_t unknown0128[20]; // ***Placeholder +/*0148*/ uint8_t reason; // Already in Group = 1, Declined Invite = 3 +/*0149*/ uint8_t unknown0141[3]; // ***Placeholder +/*0152*/ }; /* ** Grouping Invite Answer - Accept -** Length 140 Octets +** Length 148 Octets ** Opcode OP_GroupFollow */ @@ -1710,13 +1711,13 @@ /*0064*/ char invitee[64]; // Invitee's Member Name /*0128*/ uint8_t unknown0132[4]; // ***Placeholder /*0132*/ uint32_t level; // Invitee's level -/*0136*/ uint8_t unknown0136[4]; // ***Placeholder (zeros) -/*0140*/ +/*0136*/ uint8_t unknown0136[12]; // ***Placeholder (zeros) +/*0148*/ }; /* ** Group Disbanding -** Length 140 Octets +** Length 148 Octets ** Opcode */ @@ -1724,13 +1725,13 @@ { /*0000*/ char yourname[64]; // Player Name /*0064*/ char membername[64]; // Invited Member Name -/*0128*/ uint8_t unknown0128[12]; // ***Placeholder -/*0140*/ +/*0128*/ uint8_t unknown0128[20]; // ***Placeholder +/*0148*/ }; /* ** Group Leader Change -** Length 140 Octets +** Length 148 Octets ** Opcode OP_GroupLeader */ @@ -1738,8 +1739,8 @@ { /*0000*/ char unknown0000[64]; // ***Placeholder /*0064*/ char membername[64]; // Invited Member Name -/*0128*/ uint8_t unknown0128[12]; // ***Placeholder -/*0140*/ +/*0128*/ uint8_t unknown0128[20]; // ***Placeholder +/*0148*/ }; /* Modified: showeq/trunk/src/group.cpp =================================================================== --- showeq/trunk/src/group.cpp 2008-09-23 01:38:12 UTC (rev 712) +++ showeq/trunk/src/group.cpp 2008-10-13 02:37:44 UTC (rev 713) @@ -125,6 +125,8 @@ m_membersInZoneCount++; emit added(m_members[i]->m_name, m_members[i]->m_spawn); + + netStream.skipBytes(7); } // clear the rest Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-09-23 01:38:12 UTC (rev 712) +++ showeq/trunk/src/interface.cpp 2008-10-13 02:37:44 UTC (rev 713) @@ -1854,6 +1854,9 @@ m_packet->connect2("OP_GroupFollow", SP_Zone, DIR_Server, "groupFollowStruct", SZC_Match, m_messageShell, SLOT(groupFollow(const uint8_t*))); + m_packet->connect2("OP_GroupFollow2", SP_Zone, DIR_Server, + "groupFollowStruct", SZC_Match, + m_messageShell, SLOT(groupFollow(const uint8_t*))); m_packet->connect2("OP_GroupDisband", SP_Zone, DIR_Server, "groupDisbandStruct", SZC_Match, m_messageShell, SLOT(groupDisband(const uint8_t*))); Modified: showeq/trunk/src/messageshell.cpp =================================================================== --- showeq/trunk/src/messageshell.cpp 2008-09-23 01:38:12 UTC (rev 712) +++ showeq/trunk/src/messageshell.cpp 2008-10-13 02:37:44 UTC (rev 713) @@ -680,7 +680,10 @@ const groupFollowStruct* gFollow = (const groupFollowStruct*)data; QString tempStr; - tempStr.sprintf("Follow: %s has joined the group", gFollow->invitee); + if(!strcmp(gFollow->invitee, m_player->name())) + tempStr = "Follow: You have joined the group"; + else + tempStr.sprintf("Follow: %s has joined the group", gFollow->invitee); m_messages->addMessage(MT_Group, tempStr); } Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2008-09-23 01:38:12 UTC (rev 712) +++ showeq/trunk/src/spawnshell.cpp 2008-10-13 02:37:44 UTC (rev 713) @@ -624,7 +624,7 @@ strcpy(spawn->suffix,name.latin1()); } - netStream.skipBytes(32); + netStream.skipBytes(33); // now we're at the end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-10-27 00:58:17
|
Revision: 715 http://seq.svn.sourceforge.net/seq/?rev=715&view=rev Author: ieatacid Date: 2008-10-27 00:58:13 +0000 (Mon, 27 Oct 2008) Log Message: ----------- + Updated all critical opcodes + Version to 5.12.7.0 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/interface.cpp showeq/trunk/src/zonemgr.cpp showeq/trunk/src/zones.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-10-13 02:39:14 UTC (rev 714) +++ showeq/trunk/ChangeLog 2008-10-27 00:58:13 UTC (rev 715) @@ -1,3 +1,10 @@ +ieatacid (10/23/08) +---------------- +- Updated version to 5.12.7.0 +- Compatibility with live 10/21 +- Updated opcodes +- Went through all the critical opcodes and updated some older ones that weren't correct + ieatacid (10/12/08) ---------------- - Updated version to 5.12.6.0 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-10-13 02:39:14 UTC (rev 714) +++ showeq/trunk/conf/zoneopcodes.xml 2008-10-27 00:58:13 UTC (rev 715) @@ -2,6 +2,9 @@ <!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd"> <seqopcodes> + <!-- + Critical opcodes used directly by ShowEQ + --> <opcode id="6022" name="OP_PlayerProfile" updated="01/17/08"> <comment>old CharProfileCode</comment> <payload dir="server" typename="charProfileStruct" sizechecktype="match"/> @@ -11,10 +14,6 @@ <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <!--<opcode id="1900" name="OP_ZoneSpawns" updated="05/29/08"> - <comment>old ZoneSpawnsCode</comment> - <payload dir="server" typename="spawnStruct" sizechecktype="none"/> - </opcode>--> <opcode id="6015" name="OP_TimeOfDay" updated="01/17/08"> <comment>old TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> @@ -23,7 +22,7 @@ <comment>old NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="1890" name="OP_SpawnDoor" updated="01/17/08"> + <opcode id="102F" name="OP_SpawnDoor" updated="10/21/08"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> @@ -32,7 +31,7 @@ <payload dir="server" typename="makeDropStruct" sizechecktype="match"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1932" name="OP_SendZonePoints" updated="01/17/08"> + <opcode id="5821" name="OP_SendZonePoints" updated="10/21/08"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> @@ -65,10 +64,11 @@ <comment>old MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" 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> + </opcode>--> <opcode id="4292" name="OP_DeleteSpawn" updated="10/07/08"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> @@ -81,7 +81,7 @@ <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="72ad" name="OP_RespawnFromHover" updated="01/17/08"> + <opcode id="268C" name="OP_RespawnFromHover" updated="10/21/08"> <comment>Server telling client that it is coming back from hover death</comment> <payload dir="both" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -93,15 +93,15 @@ <comment>old SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="82D7" name="OP_Stamina" updated="01/17/08"> + <opcode id="3E50" name="OP_Stamina" updated="10/21/08"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="25F0" name="OP_HPUpdate" updated="01/17/08"> + <opcode id="538F" name="OP_HPUpdate" updated="10/21/08"> <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="099D" name="OP_GuildMemberUpdate" updated="01/17/08"> + <opcode id="41C0" name="OP_GuildMemberUpdate" updated="10/21/08"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> @@ -134,7 +134,7 @@ <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="53D4" name="OP_Shroud" updated="01/17/08"> + <opcode id="6D1F" name="OP_Shroud" updated="10/07/08"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> @@ -203,7 +203,7 @@ <comment>old MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="592D" name="OP_InspectAnswer" updated="01/17/08"> + <opcode id="4938" name="OP_InspectAnswer" updated="10/07/08"> <comment>old InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> @@ -235,11 +235,11 @@ <comment>old RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> - <opcode id="4464" name="OP_ConsentResponse" updated="01/17/08"> + <opcode id="6E47" name="OP_ConsentResponse" updated="10/21/08"> <comment>Server replying with consent information after /consent</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="0DCD" name="OP_DenyResponse" updated="01/17/08"> + <opcode id="7CE7" name="OP_DenyResponse" updated="10/21/08"> <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> @@ -270,8 +270,7 @@ <comment>old CorpseLocCode:</comment> <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/> </opcode> - <!-- this might be wrong --> - <opcode id="07EE" name="OP_Logout" updated="01/17/08"> + <opcode id="30E2" name="OP_Logout" updated="10/21/08"> <comment></comment> <payload dir="server" typename="none" sizechecktype="match"/> </opcode> @@ -620,6 +619,10 @@ 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> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-10-13 02:39:14 UTC (rev 714) +++ showeq/trunk/configure.in 2008-10-27 00:58:13 UTC (rev 715) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.6.0) +AC_INIT(showeq, 5.12.7.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-10-13 02:39:14 UTC (rev 714) +++ showeq/trunk/src/interface.cpp 2008-10-27 00:58:13 UTC (rev 715) @@ -1944,9 +1944,10 @@ m_packet->connect2("OP_SpawnDoor", SP_Zone, DIR_Server, "doorStruct", SZC_Modulus, m_spawnShell, SLOT(newDoorSpawns(const uint8_t*, size_t, uint8_t))); - m_packet->connect2("OP_NewSpawn", SP_Zone, DIR_Server, - "spawnStruct", SZC_Match, - m_spawnShell, SLOT(newSpawn(const uint8_t*))); +// OP_NewSpawn is deprecated in the client +// m_packet->connect2("OP_NewSpawn", SP_Zone, DIR_Server, +// "spawnStruct", SZC_Match, +// m_spawnShell, SLOT(newSpawn(const uint8_t*))); m_packet->connect2("OP_ZoneEntry", SP_Zone, DIR_Server, "uint8_t", SZC_None, m_spawnShell, SLOT(zoneEntry(const uint8_t*, size_t))); @@ -5877,9 +5878,10 @@ m_packet->connect2("OP_ZoneSpawns", SP_Zone, DIR_Server, "spawnStruct", SZC_Modulus, m_spawnLogger, SLOT(logZoneSpawns(const uint8_t*, size_t))); - m_packet->connect2("OP_NewSpawn", SP_Zone, DIR_Server, - "spawnStruct", SZC_Match, - m_spawnLogger, SLOT(logNewSpawn(const uint8_t*))); +// OP_NewSpawn is deprecated in the client +// m_packet->connect2("OP_NewSpawn", SP_Zone, DIR_Server, +// "spawnStruct", SZC_Match, +// m_spawnLogger, SLOT(logNewSpawn(const uint8_t*))); // Connect SpawnLog slots to SpawnShell signals connect(m_spawnShell, SIGNAL(delItem(const Item*)), Modified: showeq/trunk/src/zonemgr.cpp =================================================================== --- showeq/trunk/src/zonemgr.cpp 2008-10-13 02:39:14 UTC (rev 714) +++ showeq/trunk/src/zonemgr.cpp 2008-10-27 00:58:13 UTC (rev 715) @@ -245,9 +245,9 @@ zoneNew->safe_x, zoneNew->safe_y, zoneNew->safe_z); #endif // ZBTEMP - // seqDebug("zoneNew: m_short(%s) m_long(%s)", - // (const char*)m_shortZoneName, - // (const char*)m_longZoneName); +// seqDebug("zoneNew: m_short(%s) m_long(%s)", +// (const char*)m_shortZoneName, +// (const char*)m_longZoneName); emit zoneEnd(m_shortZoneName, m_longZoneName); Modified: showeq/trunk/src/zones.h =================================================================== --- showeq/trunk/src/zones.h 2008-10-13 02:39:14 UTC (rev 714) +++ showeq/trunk/src/zones.h 2008-10-27 00:58:13 UTC (rev 715) @@ -457,34 +457,34 @@ { "guardian", "The Mechamatic Guardian" }, // 447 { "steamfontmts", "Steamfont Mountains" }, // 448 { "cryptofshade", "Crypt of Shade" }, // 449 -{ "Tinmizer's Wunderwerks", "dragonscalea" }, // 450 -{ "Deepscar's Den", "dragonscaleb" }, // 451 -{ "Field of Scale", "oldfieldofbone" }, // 452 -{ "Kaesora Library", "oldkaesoraa" }, // 453 -{ "Hatchery Wing", "oldkaesorab" }, // 454 -{ "Kurn's Tower", "oldkurn" }, // 455 -{ "Bloody Kithicor", "oldkithicor" }, // 456 -{ "Old Commonlands", "oldcommons" }, // 457 -{ "Highpass Hold", "oldhighpass" }, // 458 -{ "The Void", "thevoida" }, // 459 -{ "The Void", "thevoidb" }, // 460 -{ "The Void", "thevoidc" }, // 461 -{ "The Void", "thevoidd" }, // 462 -{ "The Void", "thevoide" }, // 463 -{ "The Void", "thevoidf" }, // 464 -{ "The Void", "thevoidg" }, // 465 -{ "Oceangreen Hills", "oceangreenhills" }, // 466 -{ "Oceangreen Village", "oceangreenvillage" }, // 467 -{ "Blackburrow", "oldblackburrow" }, // 468 -{ "Temple of Bertoxxulous", "bertoxtemple" }, // 469 -{ "Korafax, Home of the Riders", "discord" }, // 470 -{ "Citadel of the Worldslayer", "discordtower" }, // 471 -{ "Old Bloodfields", "oldbloodfield" }, // 472 -{ "The Precipice of War", "precipiceofwar" }, // 473 -{ "City of Dranik", "olddranik" }, // 474 -{ "Toskirakk", "toskirakk" }, // 475 -{ "Korascian Warrens", "korascian" }, // 476 -{ "Rathe Council Chambers", "rathechamber" }, // 477 +{ "dragonscalea", "Tinmizer's Wunderwerks" }, // 450 +{ "dragonscaleb", "Deepscar's Den" }, // 451 +{ "oldfieldofbone", "Field of Scale" }, // 452 +{ "oldkaesoraa", "Kaesora Library" }, // 453 +{ "oldkaesorab", "Hatchery Wing" }, // 454 +{ "oldkurn", "Kurn's Tower" }, // 455 +{ "oldkithicor", "Bloody Kithicor" }, // 456 +{ "oldcommons", "Old Commonlands" }, // 457 +{ "oldhighpass", "Highpass Hold" }, // 458 +{ "thevoida", "The Void" }, // 459 +{ "thevoidb", "The Void" }, // 460 +{ "thevoidc", "The Void" }, // 461 +{ "thevoidd", "The Void" }, // 462 +{ "thevoide", "The Void" }, // 463 +{ "thevoidf", "The Void" }, // 464 +{ "thevoidg", "The Void" }, // 465 +{ "oceangreenhills", "Oceangreen Hills" }, // 466 +{ "oceangreenvillage", "Oceangreen Village" }, // 467 +{ "oldblackburrow", "Blackburrow" }, // 468 +{ "bertoxtemple", "Temple of Bertoxxulous" }, // 469 +{ "discord", "Korafax, Home of the Riders" }, // 470 +{ "discordtower", "Citadel of the Worldslayer" }, // 471 +{ "oldbloodfield", "Old Bloodfields" }, // 472 +{ "precipiceofwar", "The Precipice of War" }, // 473 +{ "olddranik", "City of Dranik" }, // 474 +{ "toskirakk", "Toskirakk" }, // 475 +{ "korascian", "Korascian Warrens" }, // 476 +{ "rathechamber", "Rathe Council Chambers" }, // 477 { NULL, NULL }, // 478 { NULL, NULL }, // 479 { NULL, NULL }, // 480 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2008-11-21 15:30:19
|
Revision: 717 http://seq.svn.sourceforge.net/seq/?rev=717&view=rev Author: cmmalone Date: 2008-11-21 15:30:09 +0000 (Fri, 21 Nov 2008) Log Message: ----------- Updated acinclude to use better qt3 headers so we don't require the compat headers on some distributions. Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/acinclude.m4 Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-10-27 01:04:28 UTC (rev 716) +++ showeq/trunk/ChangeLog 2008-11-21 15:30:09 UTC (rev 717) @@ -1,3 +1,8 @@ +purple (11/21/08) +----------------- +- Fixed acincludes test for QT to use modern headers so we don't require + compat libs + ieatacid (10/23/08) ---------------- - Updated version to 5.12.7.0 Modified: showeq/trunk/acinclude.m4 =================================================================== --- showeq/trunk/acinclude.m4 2008-10-27 01:04:28 UTC (rev 716) +++ showeq/trunk/acinclude.m4 2008-11-21 15:30:09 UTC (rev 717) @@ -489,8 +489,6 @@ #include "confdefs.h" #include <qglobal.h> #include <qapplication.h> -#include <qapp.h> -#include <qobjcoll.h> #include <qstringlist.h> #include <qstyle.h> #include <qthread.h> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-01-20 17:41:17
|
Revision: 718 http://seq.svn.sourceforge.net/seq/?rev=718&view=rev Author: ieatacid Date: 2009-01-20 17:41:14 +0000 (Tue, 20 Jan 2009) Log Message: ----------- + Opcode updates from December + Added instance location marker + Added option to filter client/server zone logs + Version to 5.13.0 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/interface.h showeq/trunk/src/main.cpp showeq/trunk/src/main.h showeq/trunk/src/map.cpp showeq/trunk/src/map.h showeq/trunk/src/mapicon.cpp showeq/trunk/src/mapicon.h showeq/trunk/src/packetlog.cpp showeq/trunk/src/packetlog.h showeq/trunk/src/s_everquest.h showeq/trunk/src/zonemgr.cpp showeq/trunk/src/zonemgr.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/ChangeLog 2009-01-20 17:41:14 UTC (rev 718) @@ -1,3 +1,10 @@ +ieatacid (1/20/09) +----------------- +- Updated version to 5.13.0 +- Opcode updates from December +- Added instance location marker. Right-click map -> Show -> Instance Location Marker +- Added option to filter client/server packets in the zone log file + purple (11/21/08) ----------------- - Fixed acincludes test for QT to use modern headers so we don't require Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/conf/zoneopcodes.xml 2009-01-20 17:41:14 UTC (rev 718) @@ -274,9 +274,16 @@ <comment></comment> <payload dir="server" typename="none" sizechecktype="match"/> </opcode> + <opcode id="35D3" name="OP_DzSwitchInfo" updated="12/23/08"> + <comment></comment> + <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> + </opcode> + <opcode id="128E" name="OP_DzInfo" updated="12/23/08"> + <comment></comment> + <payload dir="server" typename="dzInfo" sizechecktype="match"/> + </opcode> + - - <!-- Not necessary for SEQ to run but here to name packets in logs. Also unverified as of 12-1-2007. Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/configure.in 2009-01-20 17:41:14 UTC (rev 718) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.7.0) +AC_INIT(showeq, 5.13.0.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/everquest.h 2009-01-20 17:41:14 UTC (rev 718) @@ -608,6 +608,42 @@ /*0932*/ }; +/* +** Dynamic Zone Switch Info Struct +** Length: 32 Octets +** OpCode: DzSwitchInfo +*/ +struct dzSwitchInfo +{ +/*0000*/ uint32_t unknown0000; +/*0004*/ uint32_t show; // Show compass line +/*0008*/ uint16_t zoneID; +/*0010*/ uint16_t instanceID; +/*0012*/ uint32_t type; // if(type != 1 && type > 2 && type <= 5) { color = green; } else { color = pink; } +/*0016*/ uint32_t unknown0016; +/*0020*/ float y; +/*0024*/ float x; +/*0028*/ float z; +/*0032*/ +}; + +/* +** Dynamic Zone Info Struct +** Length: 208 Octets +** OpCode: DzInfo +*/ +struct dzInfo +{ +/*0000*/ uint32_t unknown0000; +/*0004*/ uint32_t unknown0004; +/*0008*/ uint8_t newDZ; +/*0009*/ uint8_t padding0009[3]; +/*0012*/ uint32_t maxPlayers; +/*0016*/ char dzName[128]; // Instance name +/*0144*/ char name[64]; // Your player's name +/*0208*/ +}; + /** * Player Profile. Common part of charProfileStruct shared between * shrouding and zoning profiles. Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/interface.cpp 2009-01-20 17:41:14 UTC (rev 718) @@ -905,7 +905,7 @@ m_id_opt_KeepSelectedVisible = pOptMenu->insertItem("Keep Selected Visible?" , this, SLOT(toggle_opt_KeepSelectedVisible())); m_id_opt_LogSpawns = pOptMenu->insertItem("Log Spawns", this, SLOT(toggle_opt_LogSpawns())); - m_id_opt_BazaarData = pOptMenu->insertItem("Bazaar Searches", this, SLOT(toggle_opt_BazaarData()), Key_F11); + m_id_opt_BazaarData = pOptMenu->insertItem("Bazaar Searches", this, SLOT(toggle_opt_BazaarData())); menuBar()->setItemChecked (m_id_opt_BazaarData, (m_bazaarLog != 0)); m_id_opt_ResetMana = pOptMenu->insertItem("Reset Max Mana", this, SLOT(resetMaxMana())); m_id_opt_PvPTeams = pOptMenu->insertItem("PvP Teams", this, SLOT(toggle_opt_PvPTeams())); @@ -988,11 +988,10 @@ x = conColorBaseMenu->insertItem("Unknown Spawn..."); conColorBaseMenu->setItemParameter(x, tUnknownSpawn); connect(conColorBaseMenu, SIGNAL(activated(int)), - this, SLOT(select_opt_conColorBase(int))); + this, SLOT(select_opt_conColorBase(int))); pOptMenu->insertItem("Con &Colors", conColorBaseMenu); - - m_id_opt_useUpdateRadius = pOptMenu->insertItem("&Use EQ's Update Radius", - this, SLOT(toggle_opt_UseUpdateRadius())); + m_id_opt_useUpdateRadius = pOptMenu->insertItem("Use EQ's Update Radius", + this, SLOT(toggle_opt_UseUpdateRadius())); menuBar()->setItemChecked (m_id_opt_useUpdateRadius, showeq_params->useUpdateRadius); // Network Menu @@ -1021,6 +1020,14 @@ SLOT(toggle_view_UnknownData()) , Key_F9); m_id_log_RawData = pLogMenu->insertItem("Raw Data", this, SLOT(toggle_log_RawData()), Key_F10); + + m_filterZoneDataMenu = new QPopupMenu; + pLogMenu->insertItem("Filter Zone Data", m_filterZoneDataMenu); + m_id_log_Filter_ZoneData_Client = m_filterZoneDataMenu->insertItem("Client", this, + SLOT(toggle_log_Filter_ZoneData_Client())); + m_id_log_Filter_ZoneData_Server = m_filterZoneDataMenu->insertItem("Server", this, + SLOT(toggle_log_Filter_ZoneData_Server())); + menuBar()->setItemChecked (m_id_log_AllPackets, (m_globalLog != 0)); menuBar()->setItemChecked (m_id_log_WorldData, (m_worldLog != 0)); menuBar()->setItemChecked (m_id_log_ZoneData, (m_zoneLog != 0)); @@ -1648,6 +1655,12 @@ m_packet->connect2("OP_SendZonePoints", SP_Zone, DIR_Server, "zonePointsStruct", SZC_None, m_zoneMgr, SLOT(zonePoints(const uint8_t*, size_t, uint8_t))); + m_packet->connect2("OP_DzSwitchInfo", SP_Zone, DIR_Server, + "dzSwitchInfo", SZC_None, + m_zoneMgr, SLOT(dynamicZonePoints(const uint8_t*, size_t, uint8_t))); + m_packet->connect2("OP_DzInfo", SP_Zone, DIR_Server, + "dzInfo", SZC_Match, + m_zoneMgr, SLOT(dynamicZoneInfo(const uint8_t*, size_t, uint8_t))); } if (m_groupMgr != 0) @@ -3580,6 +3593,38 @@ pSEQPrefs->setPrefBool("LogZonePackets", "PacketLogging", state); } +void EQInterface::toggle_log_Filter_ZoneData_Client (void) +{ + bool state = true; + if(showeq_params->filterZoneDataLog == DIR_Client) + { + showeq_params->filterZoneDataLog = 0; + state = false; + } + else + { + showeq_params->filterZoneDataLog = DIR_Client; + } + m_filterZoneDataMenu->setItemChecked(m_id_log_Filter_ZoneData_Client, state); + m_filterZoneDataMenu->setItemChecked(m_id_log_Filter_ZoneData_Server, false); +} + +void EQInterface::toggle_log_Filter_ZoneData_Server (void) +{ + bool state = true; + if(showeq_params->filterZoneDataLog == DIR_Server) + { + showeq_params->filterZoneDataLog = 0; + state = false; + } + else + { + showeq_params->filterZoneDataLog = DIR_Server; + } + m_filterZoneDataMenu->setItemChecked(m_id_log_Filter_ZoneData_Server, state); + m_filterZoneDataMenu->setItemChecked(m_id_log_Filter_ZoneData_Client, false); +} + void EQInterface::toggle_opt_BazaarData (void) { if (m_bazaarLog) @@ -5950,6 +5995,8 @@ m_zoneLog->setRaw(pSEQPrefs->getPrefBool("LogRawPackets", "PacketLogging", false)); + + m_zoneLog->setDir(0); connect(m_packet, SIGNAL(rawZonePacket(const uint8_t*, size_t, uint8_t, uint16_t)), m_zoneLog, SLOT(rawStreamPacket(const uint8_t*, size_t, uint8_t, uint16_t))); Modified: showeq/trunk/src/interface.h =================================================================== --- showeq/trunk/src/interface.h 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/interface.h 2009-01-20 17:41:14 UTC (rev 718) @@ -199,6 +199,8 @@ void toggle_view_SpawnListCol( int id ); void toggle_view_DockedWin( int id ); void toggle_view_DockableWin( int id ); + void toggle_log_Filter_ZoneData_Client(); + void toggle_log_Filter_ZoneData_Server(); void selectTheme(int id); void toggle_opcode_monitoring (int id); @@ -391,6 +393,7 @@ QPopupMenu* m_terminalHideUserFilterMenu; QPopupMenu* m_windowMenu; QPtrDict<int> m_windowsMenus; + QPopupMenu* m_filterZoneDataMenu; CompassFrame* m_compass; MessageWindow* m_messageWindow[maxNumMessageWindows]; @@ -461,6 +464,8 @@ int m_packetStartTime; int m_initialcount; int m_id_opt_useUpdateRadius; + int m_id_log_Filter_ZoneData_Client; + int m_id_log_Filter_ZoneData_Server; MenuIDList IDList_StyleMenu; Modified: showeq/trunk/src/main.cpp =================================================================== --- showeq/trunk/src/main.cpp 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/main.cpp 2009-01-20 17:41:14 UTC (rev 718) @@ -235,7 +235,7 @@ showeq_params->pvp = pSEQPrefs->getPrefBool("PvPTeamColoring", section, false); showeq_params->deitypvp = pSEQPrefs->getPrefBool("DeityPvPTeamColoring", section, false); showeq_params->keep_selected_visible = pSEQPrefs->getPrefBool("KeepSelected", section, true); - showeq_params->useUpdateRadius = pSEQPrefs->getPrefBool("UseUpdateRadius", section, true); + showeq_params->useUpdateRadius = pSEQPrefs->getPrefBool("UseUpdateRadius", section, false); section = "Misc"; showeq_params->fast_machine = pSEQPrefs->getPrefBool("FastMachine", section, true); @@ -262,6 +262,7 @@ showeq_params->restoreZoneState = false; showeq_params->restoreSpawns = false; showeq_params->saveRestoreBaseFilename = dataLocMgr.findWriteFile("tmp", pSEQPrefs->getPrefString("BaseFilename", section, "last")).absFilePath(); + showeq_params->filterZoneDataLog = 0; /* Parse the commandline for commandline parameters */ while ((opt = getopt_long( argc, Modified: showeq/trunk/src/main.h =================================================================== --- showeq/trunk/src/main.h 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/main.h 2009-01-20 17:41:14 UTC (rev 718) @@ -45,6 +45,7 @@ bool restoreSpawns; QString saveRestoreBaseFilename; bool useUpdateRadius; + uint8_t filterZoneDataLog; }; extern struct ShowEQParams *showeq_params; Modified: showeq/trunk/src/map.cpp =================================================================== --- showeq/trunk/src/map.cpp 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/map.cpp 2009-01-20 17:41:14 UTC (rev 718) @@ -818,6 +818,8 @@ subMenu->insertItem("Race PvP", this, SLOT(toggle_racePvP(int))); m_id_zoneSafePoint = subMenu->insertItem("Zone Safe Point", this, SLOT(toggle_zoneSafePoint(int))); + m_id_instanceLocation = + subMenu->insertItem("Instance Location Marker", this, SLOT(toggle_instanceLocationMarker(int))); #ifdef DEBUG m_id_debugInfo = subMenu->insertItem("Debug Info", this, SLOT(toggle_debugInfo(int))); #endif @@ -985,6 +987,7 @@ setItemChecked(m_id_deityPvP, m_map->deityPvP()); setItemChecked(m_id_racePvP, m_map->racePvP()); setItemChecked(m_id_zoneSafePoint, m_map->showZoneSafePoint()); + setItemChecked(m_id_instanceLocation, m_map->showInstanceLocationMarker()); #ifdef DEBUG setItemChecked(m_id_debugInfo, m_map->showDebugInfo()); #endif @@ -1209,6 +1212,11 @@ m_map->setShowZoneSafePoint(!m_map->showZoneSafePoint()); } +void MapMenu::toggle_instanceLocationMarker(int itemId) +{ + m_map->setShowInstanceLocationMarker(!m_map->showInstanceLocationMarker()); +} + void MapMenu::select_mapOptimization(int itemId) { m_map->setMapOptimization((MapOptimizationMethod)itemParameter(itemId)); @@ -1504,6 +1512,9 @@ tmpPrefString = "ShowZoneSafePoint"; m_showZoneSafePoint = pSEQPrefs->getPrefBool(tmpPrefString, prefString, true); + tmpPrefString = "ShowInstanceLocationMarker"; + m_showInstanceLocationMarker = pSEQPrefs->getPrefBool(tmpPrefString, prefString, false); + // Accelerators QAccel *accel = new QAccel(this); int key; @@ -2655,6 +2666,17 @@ refreshMap (); } +void Map::setShowInstanceLocationMarker(bool val) +{ + m_showInstanceLocationMarker = val; + + QString tmpPrefString = "ShowInstanceLocationMarker"; + pSEQPrefs->setPrefBool(tmpPrefString, preferenceName(), m_showInstanceLocationMarker); + + if(!m_cacheChanges) + refreshMap (); +} + void Map::dumpInfo(QTextStream& out) { out << "[" << preferenceName() << "]" << endl; @@ -3071,6 +3093,14 @@ if (m_showSpawns) paintSpawns(m_param, tmp, drawTime); + if(m_showInstanceLocationMarker && m_zoneMgr->dzID()) + { + const Point3D<int16_t>& instancePoint = m_zoneMgr->dzPoint(); + m_mapIcons->paintIcon(m_param, tmp, m_mapIcons->icon(tIconTypeDynamicZoneLocation), + instancePoint, m_zoneMgr->dzLongName(), QPoint(m_param.calcXOffsetI(instancePoint.x()), + m_param.calcYOffsetI(instancePoint.y()))); + } + paintSelectedSpawnSpecials(m_param, tmp, drawTime); paintSelectedSpawnPointSpecials(m_param, tmp, drawTime); Modified: showeq/trunk/src/map.h =================================================================== --- showeq/trunk/src/map.h 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/map.h 2009-01-20 17:41:14 UTC (rev 718) @@ -249,6 +249,7 @@ void toggle_cacheAlwaysRepaint(); void toggle_cacheChanges(); void toggle_zoneSafePoint(int itemId); + void toggle_instanceLocationMarker(int itemId); void select_mapOptimization(int itemId); void select_gridTickColor(int itemId); void select_gridLineColor(int itemId); @@ -307,6 +308,7 @@ int m_id_pvp; int m_id_racePvP; int m_id_zoneSafePoint; + int m_id_instanceLocation; #ifdef DEBUG int m_id_debugInfo; #endif @@ -412,7 +414,8 @@ bool deityPvP() const { return m_deityPvP; } bool racePvP() const { return m_racePvP; } bool showZoneSafePoint() const { return m_showZoneSafePoint; } - + bool showInstanceLocationMarker() const { return m_showInstanceLocationMarker; } + MapLineStyle mapLineStyle() { return m_param.mapLineStyle(); } MapOptimizationMethod mapOptimization() { return m_param.mapOptimizationMethod(); } int zoom() const { return m_param.zoom(); } @@ -530,6 +533,7 @@ void setShowGridTicks(bool val); void setCacheAlwaysRepaint(bool val); void setShowZoneSafePoint(bool val); + void setShowInstanceLocationMarker(bool val); // dump debug info void dumpInfo(QTextStream& out); @@ -649,6 +653,7 @@ bool m_deityPvP; bool m_racePvP; bool m_showZoneSafePoint; + bool m_showInstanceLocationMarker; }; //---------------------------------------------------------------------- Modified: showeq/trunk/src/mapicon.cpp =================================================================== --- showeq/trunk/src/mapicon.cpp 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/mapicon.cpp 2009-01-20 17:41:14 UTC (rev 718) @@ -85,6 +85,7 @@ "ZoneSafePoint", "SpawnPlayerNoUpdate", "SpawnNPCNoUpdate", + "InstanceLocation", }; static const QString iconTypeNames[] = @@ -125,6 +126,7 @@ "Zone Safe Point", "Spawn Player No Update", "Spawn NPC No Update", + "Instance Location", }; //---------------------------------------------------------------------- @@ -693,8 +695,8 @@ true, false, false, true); m_mapIcons[tIconTypeFilterFlagFiltered] .setImage(QBrush(Dense2Pattern), QPen(gray, 0, SolidLine, cap, join), - tIconStyleCircle, tIconSizeSmall, - true, false, true, false); + tIconStyleCircle, tIconSizeSmall, + true, false, true, false); m_mapIcons[tIconTypeFilterFlagTracer] .setHighlight(QBrush(NoBrush), QPen(yellow, 1, SolidLine, cap, join), tIconStyleCircle, tIconSizeLarge, @@ -705,8 +707,8 @@ true, false, false, true); m_mapIcons[tIconTypeSpawnPoint] .setImage(QBrush(SolidPattern), QPen(darkGray, 1, SolidLine, cap, join), - tIconStylePlus, tIconSizeRegular, - true, true, false, false); + tIconStylePlus, tIconSizeRegular, + true, true, false, false); m_mapIcons[tIconTypeSpawnPointSelected] .setHighlight(QBrush(NoBrush), QPen(blue, 1, SolidLine, cap, join), tIconStyleCircle, tIconSizeTiny, @@ -715,17 +717,22 @@ .setLine0(true, QPen(blue)); m_mapIcons[tIconTypeZoneSafePoint] .setImage(QBrush(), QPen(green, 1, SolidLine, cap, join), - tIconStyleX, tIconSizeSmall, - true, false, false, false); + tIconStyleX, tIconSizeSmall, + true, false, false, false); m_mapIcons[tIconTypeZoneSafePoint].setShowName(true); m_mapIcons[tIconTypeSpawnPlayerNoUpdate] .setImage(QBrush(gray), QPen(darkGray, 1, SolidLine, cap, join), - tIconStyleSquare, tIconSizeRegular, - true, false, false, false); + tIconStyleSquare, tIconSizeRegular, + true, false, false, false); m_mapIcons[tIconTypeSpawnNPCNoUpdate] .setImage(QBrush(gray), QPen(NoPen, 1, SolidLine, cap, join), - tIconStyleCircle, tIconSizeRegular, - true, false, false, false); + tIconStyleCircle, tIconSizeRegular, + true, false, false, false); + m_mapIcons[tIconTypeDynamicZoneLocation] + .setImage(QBrush(magenta), QPen(magenta, 1, SolidLine, cap, join), + tIconStyleX, tIconSizeLarge, + true, false, false, false); + m_mapIcons[tIconTypeDynamicZoneLocation].setShowName(true); // setup icon size maps m_mapIconSizes[tIconSizeNone] = &m_markerNSize; // none should never be drawn Modified: showeq/trunk/src/mapicon.h =================================================================== --- showeq/trunk/src/mapicon.h 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/mapicon.h 2009-01-20 17:41:14 UTC (rev 718) @@ -109,7 +109,8 @@ tIconTypeZoneSafePoint, tIconTypeSpawnPlayerNoUpdate, tIconTypeSpawnNPCNoUpdate, - tIconTypeMax = tIconTypeSpawnNPCNoUpdate, + tIconTypeDynamicZoneLocation, + tIconTypeMax = tIconTypeDynamicZoneLocation, }; //---------------------------------------------------------------------- Modified: showeq/trunk/src/packetlog.cpp =================================================================== --- showeq/trunk/src/packetlog.cpp 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/packetlog.cpp 2009-01-20 17:41:14 UTC (rev 718) @@ -21,7 +21,8 @@ PacketLog::PacketLog(EQPacket& packet, const QString& fname, QObject* parent, const char* name) : SEQLogger(fname, parent, name), - m_packet(packet) + m_packet(packet), + m_dir(0) { m_timeDateFormat = "MMM dd yyyy hh:mm:ss:zzz"; } @@ -156,6 +157,9 @@ if (!open()) return; + if (showeq_params->filterZoneDataLog && showeq_params->filterZoneDataLog != dir) + return; + // timestamp m_out << QDateTime::currentDateTime().toString(m_timeDateFormat) << " "; Modified: showeq/trunk/src/packetlog.h =================================================================== --- showeq/trunk/src/packetlog.h 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/packetlog.h 2009-01-20 17:41:14 UTC (rev 718) @@ -55,6 +55,7 @@ protected: QString m_timeDateFormat; EQPacket& m_packet; + uint8_t m_dir; }; //---------------------------------------------------------------------- @@ -68,6 +69,8 @@ QObject* parent=0, const char* name = 0); bool raw(); void setRaw(bool val); + uint8_t getDir() { return m_dir; } + void setDir(uint8_t direction) { m_dir = direction; } public slots: void rawStreamPacket(const uint8_t* data, size_t len, uint8_t dir, Modified: showeq/trunk/src/s_everquest.h =================================================================== --- showeq/trunk/src/s_everquest.h 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/s_everquest.h 2009-01-20 17:41:14 UTC (rev 718) @@ -28,6 +28,8 @@ AddStruct(requestZoneChangeStruct); AddStruct(ClientZoneEntryStruct); AddStruct(newZoneStruct); +AddStruct(dzSwitchInfo); +AddStruct(dzInfo); AddStruct(playerProfileStruct); AddStruct(charProfileStruct); AddStruct(playerAAStruct); Modified: showeq/trunk/src/zonemgr.cpp =================================================================== --- showeq/trunk/src/zonemgr.cpp 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/zonemgr.cpp 2009-01-20 17:41:14 UTC (rev 718) @@ -56,6 +56,7 @@ m_shortZoneName = "unknown"; m_longZoneName = "unknown"; m_zoning = false; + m_dzID = 0; if (showeq_params->restoreZoneState) restoreZoneState(); @@ -273,6 +274,41 @@ sizeof(zonePointStruct) * m_zonePointCount); } +void ZoneMgr::dynamicZonePoints(const uint8_t *data, size_t len, uint8_t) +{ + const dzSwitchInfo *dz = (const dzSwitchInfo*)data; + + if(len == sizeof(dzSwitchInfo)) + { + m_dzPoint.setPoint(lrintf(dz->x), lrintf(dz->y), lrintf(dz->z)); + m_dzID = dz->zoneID; + m_dzLongName = zoneLongNameFromID(m_dzID); + if(dz->type != 1 && dz->type > 2 && dz->type <= 5) + m_dzType = 0; // green + else + m_dzType = 1; // pink + } + else if(len == 8) + { + // we quit the expedition + m_dzPoint.setPoint(0, 0, 0); + m_dzID = 0; + m_dzLongName = ""; + } +} + +void ZoneMgr::dynamicZoneInfo(const uint8_t* data, size_t len, uint8_t) +{ + const dzInfo *dz = (const dzInfo*)data; + + if(!dz->newDZ) + { + m_dzPoint.setPoint(0, 0, 0); + m_dzID = 0; + m_dzLongName = ""; + } +} + #ifndef QMAKEBUILD #include "zonemgr.moc" #endif Modified: showeq/trunk/src/zonemgr.h =================================================================== --- showeq/trunk/src/zonemgr.h 2008-11-21 15:30:09 UTC (rev 717) +++ showeq/trunk/src/zonemgr.h 2009-01-20 17:41:14 UTC (rev 718) @@ -29,6 +29,7 @@ struct newZoneStruct; struct zonePointsStruct; struct zonePointStruct; +struct dzSwitchInfo; class ZoneMgr : public QObject { @@ -46,6 +47,10 @@ const Point3D<int16_t>& safePoint() const { return m_safePoint; } float zoneExpMultiplier() { return m_zone_exp_multiplier; } const zonePointStruct* zonePoint(uint32_t zoneTrigger); + uint32_t dzID() { return m_dzID; } + const Point3D<int16_t>& dzPoint() const { return m_dzPoint; } + QString dzLongName() { return m_dzLongName; } + uint32_t dzType() { return m_dzType; } public slots: void saveZoneState(void); @@ -57,6 +62,8 @@ void zoneChange(const uint8_t* zoneChange, size_t, uint8_t); void zoneNew(const uint8_t* zoneNew, size_t, uint8_t); void zonePoints(const uint8_t* zp, size_t, uint8_t); + void dynamicZonePoints(const uint8_t *data, size_t len, uint8_t); + void dynamicZoneInfo(const uint8_t *data, size_t len, uint8_t); signals: void zoneBegin(); @@ -75,6 +82,10 @@ float m_zone_exp_multiplier; size_t m_zonePointCount; zonePointStruct* m_zonePoints; + Point3D<int16_t> m_dzPoint; + uint32_t m_dzID; + QString m_dzLongName; + uint32_t m_dzType; }; #endif // ZONEMGR This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2009-01-26 01:06:27
|
Revision: 720 http://seq.svn.sourceforge.net/seq/?rev=720&view=rev Author: cmmalone Date: 2009-01-26 01:06:18 +0000 (Mon, 26 Jan 2009) Log Message: ----------- Cleaned up dupe param names that were barfing in gcc 4.3 (and rightly so....) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/src/mapicon.h showeq/trunk/src/messagefilter.h showeq/trunk/src/messagefilterdialog.h showeq/trunk/src/messages.h showeq/trunk/src/messagewindow.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-01-20 17:43:59 UTC (rev 719) +++ showeq/trunk/ChangeLog 2009-01-26 01:06:18 UTC (rev 720) @@ -1,3 +1,8 @@ +purple (1/25/09) +--------------- +- Fixed some parameter naming things that cause problems with gcc 4.3 (thanks, +Tanner) + ieatacid (1/20/09) ----------------- - Updated version to 5.13.0 Modified: showeq/trunk/src/mapicon.h =================================================================== --- showeq/trunk/src/mapicon.h 2009-01-20 17:43:59 UTC (rev 719) +++ showeq/trunk/src/mapicon.h 2009-01-26 01:06:18 UTC (rev 720) @@ -211,7 +211,7 @@ protected: // static paint methods typedef void (*IconImageFunction)(QPainter&p, const QPoint& point, - int size, int size); + int size, int sizeWH); static void paintNone(QPainter&p, const QPoint& point, int size, int sizeWH); static void paintCircle(QPainter&p, const QPoint& point, Modified: showeq/trunk/src/messagefilter.h =================================================================== --- showeq/trunk/src/messagefilter.h 2009-01-20 17:43:59 UTC (rev 719) +++ showeq/trunk/src/messagefilter.h 2009-01-26 01:06:18 UTC (rev 720) @@ -99,7 +99,7 @@ signals: void removed(uint32_t mask, uint8_t filter); - void added(uint32_t mask, uint8_t filter, const MessageFilter& filter); + void added(uint32_t mask, uint8_t filterid, const MessageFilter& filter); protected: MessageFilter* m_filters[maxMessageFilters]; Modified: showeq/trunk/src/messagefilterdialog.h =================================================================== --- showeq/trunk/src/messagefilterdialog.h 2009-01-20 17:43:59 UTC (rev 719) +++ showeq/trunk/src/messagefilterdialog.h 2009-01-26 01:06:18 UTC (rev 720) @@ -46,7 +46,7 @@ void messageTypeSelectionChanged(); void existingFilterSelectionChanged(QListBoxItem * item); void removedFilter(uint32_t mask, uint8_t filter); - void addedFilter(uint32_t mask, uint8_t filter, const MessageFilter& filter); + void addedFilter(uint32_t mask, uint8_t filterid, const MessageFilter& filter); protected: void clearFilter(); Modified: showeq/trunk/src/messages.h =================================================================== --- showeq/trunk/src/messages.h 2009-01-20 17:43:59 UTC (rev 719) +++ showeq/trunk/src/messages.h 2009-01-26 01:06:18 UTC (rev 720) @@ -49,7 +49,7 @@ protected slots: void removedFilter(uint32_t mask, uint8_t filter); - void addedFilter(uint32_t mask, uint8_t filter, const MessageFilter& filter); + void addedFilter(uint32_t mask, uint8_t filterid, const MessageFilter& filter); signals: void newMessage(const MessageEntry& message); Modified: showeq/trunk/src/messagewindow.h =================================================================== --- showeq/trunk/src/messagewindow.h 2009-01-20 17:43:59 UTC (rev 719) +++ showeq/trunk/src/messagewindow.h 2009-01-26 01:06:18 UTC (rev 720) @@ -180,7 +180,7 @@ void setCaption(); virtual void restoreFont(); void removedFilter(uint32_t mask, uint8_t filter); - void addedFilter(uint32_t mask, uint8_t filter, const MessageFilter& filter); + void addedFilter(uint32_t mask, uint8_t filterid, const MessageFilter& filter); protected: void addMessage(const MessageEntry& message); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-02-16 03:06:00
|
Revision: 721 http://seq.svn.sourceforge.net/seq/?rev=721&view=rev Author: ieatacid Date: 2009-02-16 03:05:58 +0000 (Mon, 16 Feb 2009) Log Message: ----------- Updated opcodes Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-01-26 01:06:18 UTC (rev 720) +++ showeq/trunk/ChangeLog 2009-02-16 03:05:58 UTC (rev 721) @@ -1,3 +1,8 @@ +ieatacid (2/15/09) +----------------- +- Updated version to 5.13.1 +- Updated opcodes + purple (1/25/09) --------------- - Fixed some parameter naming things that cause problems with gcc 4.3 (thanks, Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-01-26 01:06:18 UTC (rev 720) +++ showeq/trunk/conf/zoneopcodes.xml 2009-02-16 03:05:58 UTC (rev 721) @@ -5,6 +5,54 @@ <!-- Critical opcodes used directly by ShowEQ --> + <opcode id="032A" name="OP_NpcMoveUpdate" updated="02/11/09"> + <comment>Position updates</comment> + <payload dir="server" typename="uint8_t" sizechecktype="none"/> + </opcode> + <opcode id="1842" name="OP_DeleteSpawn" updated="02/11/09"> + <comment>old DeleteSpawnCode</comment> + <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> + </opcode> + <opcode id="1D3F" name="OP_RespawnFromHover" updated="02/11/09"> + <comment>Server telling client that it is coming back from hover death</comment> + <payload dir="both" typename="uint8_t" sizechecktype="none"/> + </opcode> + <opcode id="189B" name="OP_Shroud" updated="02/11/09"> + <comment>Server putting players into shroud form</comment> + <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> + </opcode> + <opcode id="58E6" name="OP_GroupFollow" updated="02/11/09"> + <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> + <comment>You join a group</comment> + </opcode> + <opcode id="C56C" name="OP_GroupFollow2" updated="02/11/09"> + <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> + <comment>Player joins your group</comment> + </opcode> + <opcode id="2D08" name="OP_GroupUpdate" updated="02/11/09"> + <payload dir="server" typename="uint8_t" sizechecktype="none"/> + <comment>Variable length packet with group member names</comment> + </opcode> + <opcode id="4481" name="OP_GroupDisband" updated="02/11/09"> + <comment>You disband from group</comment> + <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> + </opcode> + <opcode id="7545" name="OP_GroupDisband2" updated="02/11/09"> + <comment>Other disbands from group</comment> + <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> + </opcode> + <opcode id="6193" name="OP_GroupLeader" updated="02/11/09"> + <comment>Group leader change</comment> + <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> + </opcode> + <opcode id="B72E" name="OP_DzSwitchInfo" updated="02/11/09"> + <comment></comment> + <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> + </opcode> + <opcode id="3657" name="OP_DzInfo" updated="02/11/09"> + <comment></comment> + <payload dir="server" typename="dzInfo" sizechecktype="match"/> + </opcode> <opcode id="6022" name="OP_PlayerProfile" updated="01/17/08"> <comment>old CharProfileCode</comment> <payload dir="server" typename="charProfileStruct" sizechecktype="match"/> @@ -56,23 +104,10 @@ <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="22A7" name="OP_NpcMoveUpdate" updated="10/07/08"> - <comment>Position updates</comment> - <payload dir="server" typename="uint8_t" sizechecktype="none"/> - </opcode> <opcode id="4656" name="OP_MobUpdate" updated="01/17/08"> <comment>old MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" 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>--> - <opcode id="4292" name="OP_DeleteSpawn" updated="10/07/08"> - <comment>old DeleteSpawnCode</comment> - <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> - </opcode> <opcode id="3164" name="OP_RemoveSpawn" updated="04/17/08"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> @@ -81,10 +116,6 @@ <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="268C" name="OP_RespawnFromHover" updated="10/21/08"> - <comment>Server telling client that it is coming back from hover death</comment> - <payload dir="both" typename="uint8_t" sizechecktype="none"/> - </opcode> <opcode id="231F" name="OP_WearChange" updated="01/17/08"> <comment>old SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> @@ -134,10 +165,6 @@ <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="6D1F" name="OP_Shroud" updated="10/07/08"> - <comment>Server putting players into shroud form</comment> - <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> - </opcode> <opcode id="051B" name="OP_ZoneChange" updated="01/17/08"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> @@ -155,30 +182,6 @@ <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/> <comment>Declining to join a group</comment> </opcode> - <opcode id="21BE" name="OP_GroupFollow" updated="10/07/08"> - <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> - <comment>You join a group</comment> - </opcode> - <opcode id="3E22" name="OP_GroupFollow2" updated="10/07/08"> - <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> - <comment>Player joins your group</comment> - </opcode> - <opcode id="7351" name="OP_GroupUpdate" updated="10/07/08"> - <payload dir="server" typename="uint8_t" sizechecktype="none"/> - <comment>Variable length packet with group member names</comment> - </opcode> - <opcode id="C56C" name="OP_GroupDisband" updated="10/07/08"> - <comment>You disband from group</comment> - <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> - </opcode> - <opcode id="162D" name="OP_GroupDisband2" updated="10/07/08"> - <comment>Other disbands from group</comment> - <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> - </opcode> - <opcode id="7545" name="OP_GroupLeader" updated="10/07/08"> - <comment>Group leader change</comment> - <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> - </opcode> <opcode id="7EA8" name="OP_Buff" updated="01/17/08"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> @@ -274,15 +277,11 @@ <comment></comment> <payload dir="server" typename="none" sizechecktype="match"/> </opcode> - <opcode id="35D3" name="OP_DzSwitchInfo" updated="12/23/08"> - <comment></comment> - <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> - </opcode> - <opcode id="128E" name="OP_DzInfo" updated="12/23/08"> - <comment></comment> - <payload dir="server" typename="dzInfo" 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. Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-01-26 01:06:18 UTC (rev 720) +++ showeq/trunk/configure.in 2009-02-16 03:05:58 UTC (rev 721) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.0.0) +AC_INIT(showeq, 5.13.1.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-03-15 23:43:47
|
Revision: 723 http://seq.svn.sourceforge.net/seq/?rev=723&view=rev Author: ieatacid Date: 2009-03-15 23:43:24 +0000 (Sun, 15 Mar 2009) Log Message: ----------- Updated charProfile and playerProfile structs + version to 5.13.2 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-02-16 03:06:42 UTC (rev 722) +++ showeq/trunk/ChangeLog 2009-03-15 23:43:24 UTC (rev 723) @@ -1,3 +1,8 @@ +ieatacid (3/15/09) +----------------- +- Updated version to 5.13.2 +- Updated charProfile and playerFrofile structs for compatibility with live 3/12 + ieatacid (2/15/09) ----------------- - Updated version to 5.13.1 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-02-16 03:06:42 UTC (rev 722) +++ showeq/trunk/configure.in 2009-03-15 23:43:24 UTC (rev 723) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.1.0) +AC_INIT(showeq, 5.13.2.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2009-02-16 03:06:42 UTC (rev 722) +++ showeq/trunk/src/everquest.h 2009-03-15 23:43:24 UTC (rev 723) @@ -667,143 +667,144 @@ /*00208*/ uint8_t unknown0208[4]; /*00212*/ uint8_t haircolor; // Player hair color /*00213*/ uint8_t beardcolor; // Player beard color -/*00214*/ uint8_t eyecolor1; // Player left eye color -/*00215*/ uint8_t eyecolor2; // Player right eye color -/*00216*/ uint8_t hairstyle; // Player hair style -/*00217*/ uint8_t beard; // Player beard type -/*00218*/ uint8_t unknown00218[10]; -/*00228*/ uint32_t item_material[9]; // Item texture/material of worn items -/*00264*/ uint8_t unknown00260[232]; -/*00496*/ Color_Struct item_tint[9]; // RR GG BB 00 -/*00532*/ AA_Array aa_array[MAX_AA]; // AAs -/*03404*/ uint8_t unknown03400[728]; // ***** this may be wrong or aa_array might be wrong (10/21/07) -/*04132*/ uint32_t points; // Unspent Practice points -/*04136*/ uint32_t MANA; // Current MANA -/*04140*/ uint32_t curHp; // Current HP without +HP equipment -/*04144*/ uint32_t STR; // Strength -/*04148*/ uint32_t STA; // Stamina -/*04152*/ uint32_t CHA; // Charisma -/*04156*/ uint32_t DEX; // Dexterity -/*04160*/ uint32_t INT; // Intelligence -/*04164*/ uint32_t AGI; // Agility -/*04168*/ uint32_t WIS; // Wisdom -/*04172*/ uint8_t face; // Player face -/*04173*/ uint8_t unknown04173[175]; -/*04348*/ int32_t sSpellBook[400]; // List of the Spells in spellbook -/*05948*/ uint8_t unknown5948[448]; // all 0xff after last spell -/*06396*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized -/*06436*/ uint8_t unknown06436[28]; -/*06464*/ uint32_t platinum; // Platinum Pieces on player -/*06468*/ uint32_t gold; // Gold Pieces on player -/*06472*/ uint32_t silver; // Silver Pieces on player -/*06476*/ uint32_t copper; // Copper Pieces on player -/*06480*/ uint32_t platinum_cursor; // Platinum Pieces on cursor -/*06484*/ uint32_t gold_cursor; // Gold Pieces on cursor -/*06488*/ uint32_t silver_cursor; // Silver Pieces on cursor -/*06492*/ uint32_t copper_cursor; // Copper Pieces on cursor -/*06496*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills -/*06796*/ uint8_t unknown06796[236]; -/*07032*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) -/*07036*/ uint32_t thirst; // Drink (ticks till next drink) -/*07040*/ uint32_t hunger; // Food (ticks till next eat) -/*07044*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player -/*07644*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines -/*08044*/ uint8_t unknown08044[160]; -/*08204*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) -/*08284*/ uint32_t endurance; // Current endurance -/*08288*/ uint32_t aa_spent; // Number of spent AA points -/*08292*/ uint32_t aa_unspent; // Unspent AA points -/*08296*/ uint8_t unknown08296[4]; -/*08300*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents -/*14700*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt -/*15060*/ uint8_t unknown15060[92]; -/*15152*/ +/*00214*/ uint8_t unknown00214[6]; +/*00220*/ uint8_t eyecolor1; // Player left eye color +/*00221*/ uint8_t eyecolor2; // Player right eye color +/*00222*/ uint8_t hairstyle; // Player hair style +/*00223*/ uint8_t beard; // Player beard type +/*00224*/ uint8_t unknown00218[12]; +/*00236*/ uint32_t item_material[9]; // Item texture/material of worn items +/*00272*/ uint8_t unknown00272[232]; +/*00504*/ Color_Struct item_tint[9]; // RR GG BB 00 +/*00540*/ AA_Array aa_array[MAX_AA]; // AAs +/*03412*/ uint8_t unknown03400[728]; // ***** this may be wrong or aa_array might be wrong (10/21/07) +/*04140*/ uint32_t points; // Unspent Practice points +/*04144*/ uint32_t MANA; // Current MANA +/*04148*/ uint32_t curHp; // Current HP without +HP equipment +/*04152*/ uint32_t STR; // Strength +/*04156*/ uint32_t STA; // Stamina +/*04160*/ uint32_t CHA; // Charisma +/*04164*/ uint32_t DEX; // Dexterity +/*04168*/ uint32_t INT; // Intelligence +/*04172*/ uint32_t AGI; // Agility +/*04176*/ uint32_t WIS; // Wisdom +/*04180*/ uint8_t face; // Player face +/*04181*/ uint8_t unknown04181[175]; +/*04356*/ int32_t sSpellBook[400]; // List of the Spells in spellbook +/*05956*/ uint8_t unknown5956[448]; // all 0xff after last spell +/*06404*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized +/*06444*/ uint8_t unknown06444[28]; +/*06472*/ uint32_t platinum; // Platinum Pieces on player +/*06476*/ uint32_t gold; // Gold Pieces on player +/*06480*/ uint32_t silver; // Silver Pieces on player +/*06484*/ uint32_t copper; // Copper Pieces on player +/*06488*/ uint32_t platinum_cursor; // Platinum Pieces on cursor +/*06492*/ uint32_t gold_cursor; // Gold Pieces on cursor +/*06496*/ uint32_t silver_cursor; // Silver Pieces on cursor +/*06500*/ uint32_t copper_cursor; // Copper Pieces on cursor +/*06504*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills +/*06804*/ uint8_t unknown06804[236]; +/*07040*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) +/*07044*/ uint32_t thirst; // Drink (ticks till next drink) +/*07048*/ uint32_t hunger; // Food (ticks till next eat) +/*07052*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player +/*07652*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines +/*08052*/ uint8_t unknown08052[160]; +/*08212*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) +/*08292*/ uint32_t endurance; // Current endurance +/*08296*/ uint32_t aa_spent; // Number of spent AA points +/*08300*/ uint32_t aa_unspent; // Unspent AA points +/*08304*/ uint8_t unknown08304[4]; +/*08308*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents +/*14708*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt +/*15068*/ uint8_t unknown15068[92]; +/*15160*/ }; /* ** Player Profile -** Length: 23488 Octets +** Length: 23496 Octets ** OpCode: CharProfileCode */ struct charProfileStruct { /*00000*/ uint32_t checksum; // /*00004*/ playerProfileStruct profile; // Profile -/*15152*/ char name[64]; // Name of player -/*15216*/ char lastName[32]; // Last name of player -/*15248*/ uint8_t unknown15248[12]; //***Placeholder (1/18/2006) -/*15260*/ int32_t guildID; // guildID -/*15264*/ uint32_t birthdayTime; // character birthday -/*15268*/ uint32_t lastSaveTime; // character last save time -/*15272*/ uint32_t timePlayedMin; // time character played -/*15276*/ uint8_t unknown15276[4]; -/*15280*/ uint8_t pvp; // 1=pvp, 0=not pvp -/*15281*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon -/*15282*/ uint8_t gm; // 0=no, 1=yes (guessing!) -/*15283*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader -/*15284*/ uint8_t unknown15284[8]; -/*15292*/ uint32_t exp; // Current Experience -/*15296*/ uint8_t unknown15296[12]; -/*15308*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages -/*15333*/ uint8_t unknown15333[7]; // All 0x00 (language buffer?) -/*15340*/ float y; // Players y position -/*15344*/ float x; // Players x position -/*15348*/ float z; // Players z position -/*15352*/ float heading; // Players heading -/*15356*/ uint32_t standState; // 0x64 = stand -/*15360*/ uint32_t platinum_bank; // Platinum Pieces in Bank -/*15364*/ uint32_t gold_bank; // Gold Pieces in Bank -/*15368*/ uint32_t silver_bank; // Silver Pieces in Bank -/*15372*/ uint32_t copper_bank; // Copper Pieces in Bank -/*15376*/ uint32_t platinum_shared; // Shared platinum pieces -/*15380*/ uint8_t unknown15380[1036]; -/*16416*/ uint32_t expansions; // Bitmask for expansions -/*16420*/ uint8_t unknown16420[12]; -/*16432*/ uint32_t autosplit; // 0 = off, 1 = on -/*16436*/ uint8_t unknown16436[16]; -/*16452*/ uint16_t zoneId; // see zones.h -/*16454*/ uint16_t zoneInstance; // Instance id -/*16456*/ uint8_t unknown16456[800]; -/*17256*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on -/*17260*/ uint8_t unknown17260[4]; -/*17264*/ uint32_t ldon_guk_points; // Earned GUK points -/*17268*/ uint32_t ldon_mir_points; // Earned MIR points -/*17272*/ uint32_t ldon_mmc_points; // Earned MMC points -/*17276*/ uint32_t ldon_ruj_points; // Earned RUJ points -/*17280*/ uint32_t ldon_tak_points; // Earned TAK points -/*17284*/ uint32_t ldon_avail_points; // Available LDON points -/*17288*/ uint8_t unknown17288[136]; -/*17424*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) -/*17428*/ uint32_t careerTribute; // Total favor points for this char -/*17432*/ uint32_t unknown17432; // *** Placeholder -/*17436*/ uint32_t currentTribute; // Current tribute points -/*17440*/ uint32_t unknown17440; // *** Placeholder -/*17444*/ uint32_t tributeActive; // 0 = off, 1=on -/*17448*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout -/*17488*/ uint8_t unknown17488[4]; -/*17492*/ float expGroupLeadAA; // Current group lead exp points -/*17496*/ uint32_t unknown17496; -/*17500*/ float expRaidLeadAA; // Current raid lead AA exp points +/*15160*/ char name[64]; // Name of player +/*15224*/ char lastName[32]; // Last name of player +/*15256*/ uint8_t unknown15256[12]; //***Placeholder (1/18/2006) +/*15268*/ int32_t guildID; // guildID +/*15272*/ uint32_t birthdayTime; // character birthday +/*15276*/ uint32_t lastSaveTime; // character last save time +/*15280*/ uint32_t timePlayedMin; // time character played +/*15284*/ uint8_t unknown15284[4]; +/*15288*/ uint8_t pvp; // 1=pvp, 0=not pvp +/*15289*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon +/*15290*/ uint8_t gm; // 0=no, 1=yes (guessing!) +/*15291*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader +/*15292*/ uint8_t unknown15292[8]; +/*15300*/ uint32_t exp; // Current Experience +/*15304*/ uint8_t unknown15304[12]; +/*15316*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages +/*15341*/ uint8_t unknown15341[7]; // All 0x00 (language buffer?) +/*15348*/ float y; // Players y position +/*15352*/ float x; // Players x position +/*15356*/ float z; // Players z position +/*15360*/ float heading; // Players heading +/*15364*/ uint32_t standState; // 0x64 = stand +/*15368*/ uint32_t platinum_bank; // Platinum Pieces in Bank +/*15372*/ uint32_t gold_bank; // Gold Pieces in Bank +/*15376*/ uint32_t silver_bank; // Silver Pieces in Bank +/*15380*/ uint32_t copper_bank; // Copper Pieces in Bank +/*15384*/ uint32_t platinum_shared; // Shared platinum pieces +/*15388*/ uint8_t unknown15388[1036]; +/*16424*/ uint32_t expansions; // Bitmask for expansions +/*16428*/ uint8_t unknown16428[12]; +/*16440*/ uint32_t autosplit; // 0 = off, 1 = on +/*16444*/ uint8_t unknown16444[16]; +/*16460*/ uint16_t zoneId; // see zones.h +/*16462*/ uint16_t zoneInstance; // Instance id +/*16464*/ uint8_t unknown16464[800]; +/*17264*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on +/*17268*/ uint8_t unknown17268[4]; +/*17272*/ uint32_t ldon_guk_points; // Earned GUK points +/*17276*/ uint32_t ldon_mir_points; // Earned MIR points +/*17280*/ uint32_t ldon_mmc_points; // Earned MMC points +/*17284*/ uint32_t ldon_ruj_points; // Earned RUJ points +/*17288*/ uint32_t ldon_tak_points; // Earned TAK points +/*17292*/ uint32_t ldon_avail_points; // Available LDON points +/*17296*/ uint8_t unknown17296[136]; +/*17432*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) +/*17436*/ uint32_t careerTribute; // Total favor points for this char +/*17440*/ uint32_t unknown17432; // *** Placeholder +/*17444*/ uint32_t currentTribute; // Current tribute points +/*17448*/ uint32_t unknown17440; // *** Placeholder +/*17452*/ uint32_t tributeActive; // 0 = off, 1=on +/*17456*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout +/*17496*/ uint8_t unknown17496[4]; +/*17500*/ float expGroupLeadAA; // Current group lead exp points /*17504*/ uint32_t unknown17504; -/*17508*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points -/*17512*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points -/*17516*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks -/*17644*/ uint8_t unknown17644[128]; -/*17772*/ uint32_t airRemaining; // Air supply (seconds) -/*17776*/ uint8_t unknown17776[4608]; -/*22384*/ uint32_t expAA; // Exp earned in current AA point -/*22388*/ uint8_t unknown22388[40]; -/*22428*/ uint32_t currentRadCrystals; // Current count of radiant crystals -/*22432*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever -/*22436*/ uint32_t currentEbonCrystals;// Current count of ebon crystals -/*22440*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever -/*22444*/ uint8_t groupAutoconsent; // 0=off, 1=on -/*22445*/ uint8_t raidAutoconsent; // 0=off, 1=on -/*22446*/ uint8_t guildAutoconsent; // 0=off, 1=on -/*22447*/ uint8_t unknown22447[5]; // ***Placeholder (6/29/2005) -/*22452*/ uint32_t showhelm; // 0=no, 1=yes -/*22456*/ uint8_t unknown22456[1032]; // ***Placeholder (2/13/2007) -/*23488*/ +/*17508*/ float expRaidLeadAA; // Current raid lead AA exp points +/*17512*/ uint32_t unknown17512; +/*17516*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points +/*17520*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points +/*17524*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks +/*17652*/ uint8_t unknown17644[128]; +/*17780*/ uint32_t airRemaining; // Air supply (seconds) +/*17784*/ uint8_t unknown17784[4608]; +/*22392*/ uint32_t expAA; // Exp earned in current AA point +/*22396*/ uint8_t unknown22396[40]; +/*22436*/ uint32_t currentRadCrystals; // Current count of radiant crystals +/*22440*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever +/*22444*/ uint32_t currentEbonCrystals;// Current count of ebon crystals +/*22448*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever +/*22452*/ uint8_t groupAutoconsent; // 0=off, 1=on +/*22453*/ uint8_t raidAutoconsent; // 0=off, 1=on +/*22454*/ uint8_t guildAutoconsent; // 0=off, 1=on +/*22455*/ uint8_t unknown22455[5]; // ***Placeholder (6/29/2005) +/*22460*/ uint32_t showhelm; // 0=no, 1=yes +/*22464*/ uint8_t unknown22464[1032]; // ***Placeholder (2/13/2007) +/*23496*/ }; #if 0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-03-21 00:04:02
|
Revision: 725 http://seq.svn.sourceforge.net/seq/?rev=725&view=rev Author: ieatacid Date: 2009-03-21 00:03:53 +0000 (Sat, 21 Mar 2009) Log Message: ----------- Updated opcodes + Version to 5.13.3 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-03-15 23:45:15 UTC (rev 724) +++ showeq/trunk/ChangeLog 2009-03-21 00:03:53 UTC (rev 725) @@ -1,3 +1,8 @@ +ieatacid (3/20/09) +----------------- +- Updated version to 5.13.3 +- Updated opcodes for 3/19 patch + ieatacid (3/15/09) ----------------- - Updated version to 5.13.2 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-03-15 23:45:15 UTC (rev 724) +++ showeq/trunk/conf/zoneopcodes.xml 2009-03-21 00:03:53 UTC (rev 725) @@ -5,47 +5,47 @@ <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="032A" name="OP_NpcMoveUpdate" updated="02/11/09"> + <opcode id="7866" name="OP_NpcMoveUpdate" updated="03/197866/09"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1842" name="OP_DeleteSpawn" updated="02/11/09"> + <opcode id="10C9" name="OP_DeleteSpawn" updated="03/19/09"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="1D3F" name="OP_RespawnFromHover" updated="02/11/09"> + <opcode id="7530" name="OP_RespawnFromHover" updated="03/19/09"> <comment>Server telling client that it is coming back from hover death</comment> <payload dir="both" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="189B" name="OP_Shroud" updated="02/11/09"> + <opcode id="14D3" name="OP_Shroud" updated="03/19/09"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="58E6" name="OP_GroupFollow" updated="02/11/09"> + <opcode id="63F8" name="OP_GroupFollow" updated="03/19/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>You join a group</comment> </opcode> - <opcode id="C56C" name="OP_GroupFollow2" updated="02/11/09"> + <opcode id="4481" name="OP_GroupFollow2" updated="03/19/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>Player joins your group</comment> </opcode> - <opcode id="2D08" name="OP_GroupUpdate" updated="02/11/09"> + <opcode id="1C50" name="OP_GroupUpdate" updated="03/19/09"> <payload dir="server" typename="uint8_t" sizechecktype="none"/> <comment>Variable length packet with group member names</comment> </opcode> - <opcode id="4481" name="OP_GroupDisband" updated="02/11/09"> + <opcode id="6B67" name="OP_GroupDisband" updated="03/19/09"> <comment>You disband from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="7545" name="OP_GroupDisband2" updated="02/11/09"> + <opcode id="6193" name="OP_GroupDisband2" updated="03/19/09"> <comment>Other disbands from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="6193" name="OP_GroupLeader" updated="02/11/09"> + <opcode id="4315" name="OP_GroupLeader" updated="03/19/09"> <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="B72E" name="OP_DzSwitchInfo" updated="02/11/09"> + <opcode id="565D" name="OP_DzSwitchInfo" updated="03/19/09"> <comment></comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-03-15 23:45:15 UTC (rev 724) +++ showeq/trunk/configure.in 2009-03-21 00:03:53 UTC (rev 725) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.2.0) +AC_INIT(showeq, 5.13.3.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-05-20 22:03:40
|
Revision: 727 http://seq.svn.sourceforge.net/seq/?rev=727&view=rev Author: ieatacid Date: 2009-05-20 22:03:33 +0000 (Wed, 20 May 2009) Log Message: ----------- Updated opcodes + Updated code to handle serialized guild list Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/worldopcodes.xml showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/guild.cpp showeq/trunk/src/guild.h showeq/trunk/src/interface.cpp showeq/trunk/src/messageshell.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/ChangeLog 2009-05-20 22:03:33 UTC (rev 727) @@ -1,3 +1,9 @@ +ieatacid (5/20/09) +----------------- +- Updated version to 5.13.4 +- Updated opcodes +- Updated code to handle the now serialized guild list + ieatacid (3/20/09) ----------------- - Updated version to 5.13.3 Modified: showeq/trunk/conf/worldopcodes.xml =================================================================== --- showeq/trunk/conf/worldopcodes.xml 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/conf/worldopcodes.xml 2009-05-20 22:03:33 UTC (rev 727) @@ -13,7 +13,7 @@ <opcode id="5B0B" name="OP_GuildList" updated="01/17/08"> <comment>old GuildListCode</comment> - <payload dir="server" typename="worldGuildListStruct" sizechecktype="match"/> + <payload dir="server" typename="worldGuildListStruct" sizechecktype="none"/> </opcode> <opcode id="192E" name="OP_MOTD" updated="01/17/08"> <comment>old MOTDCode Server message of the day</comment> Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/conf/zoneopcodes.xml 2009-05-20 22:03:33 UTC (rev 727) @@ -5,63 +5,137 @@ <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="7866" name="OP_NpcMoveUpdate" updated="03/197866/09"> + <opcode id="2D95" name="OP_NpcMoveUpdate" updated="05/14/09"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="10C9" name="OP_DeleteSpawn" updated="03/19/09"> + <opcode id="7AE3" name="OP_DeleteSpawn" updated="05/14/09"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="7530" name="OP_RespawnFromHover" updated="03/19/09"> + <opcode id="6130" name="OP_RespawnFromHover" updated="05/14/09"> <comment>Server telling client that it is coming back from hover death</comment> <payload dir="both" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="14D3" name="OP_Shroud" updated="03/19/09"> + <opcode id="1052" name="OP_Shroud" updated="05/14/09"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="63F8" name="OP_GroupFollow" updated="03/19/09"> + <opcode id="2D08" name="OP_GroupFollow" updated="05/14/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>You join a group</comment> </opcode> - <opcode id="4481" name="OP_GroupFollow2" updated="03/19/09"> + <opcode id="08C3" name="OP_GroupFollow2" updated="05/14/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>Player joins your group</comment> </opcode> - <opcode id="1C50" name="OP_GroupUpdate" updated="03/19/09"> + <opcode id="C56C" name="OP_GroupUpdate" updated="05/14/09"> <payload dir="server" typename="uint8_t" sizechecktype="none"/> <comment>Variable length packet with group member names</comment> </opcode> - <opcode id="6B67" name="OP_GroupDisband" updated="03/19/09"> + <opcode id="49F6" name="OP_GroupDisband" updated="05/14/09"> <comment>You disband from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="6193" name="OP_GroupDisband2" updated="03/19/09"> + <opcode id="21BE" name="OP_GroupDisband2" updated="05/14/09"> <comment>Other disbands from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="4315" name="OP_GroupLeader" updated="03/19/09"> + <opcode id="58E6" name="OP_GroupLeader" updated="05/14/09"> <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="565D" name="OP_DzSwitchInfo" updated="03/19/09"> + <opcode id="4B1E" name="OP_DzSwitchInfo" updated="05/14/09"> <comment></comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="3657" name="OP_DzInfo" updated="02/11/09"> + <opcode id="054E" name="OP_DzInfo" updated="05/14/09"> <comment></comment> <payload dir="server" typename="dzInfo" 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 id="783C" name="OP_FormattedMessage" updated="05/14/09"> + <comment>old FormattedMessageCode</comment> + <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="5A6B" name="OP_ZoneEntry" updated="10/07/08"> + <opcode id="4D27" name="OP_ZoneEntry" updated="05/14/09"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> + <opcode id="4E19" name="OP_SpawnDoor" updated="05/14/09"> + <comment>old DoorSpawnsCode</comment> + <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> + </opcode> + <opcode id="4892" name="OP_SendZonePoints" updated="05/14/09"> + <comment>Coords in a zone that will port you to another zone</comment> + <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> + </opcode> + <opcode id="053A" name="OP_AAExpUpdate" updated="05/14/09"> + <comment>Receiving AA experience. Also when percent to AA changes.</comment> + <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> + </opcode> <opcode id="053A" name="OP_AAExpUpdate" updated="05/14/09"> + <comment>Receiving AA experience. Also when percent to AA changes.</comment> + <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> + </opcode> + <opcode id="0B80" name="OP_GuildMOTD" updated="05/14/09"> + <comment>GuildMOTD</comment> + <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> + </opcode> + <opcode id="592D" name="OP_HPUpdate" updated="05/14/09"> + <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> + <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> + </opcode> + <opcode id="1190" name="OP_GuildMemberUpdate" updated="05/14/09"> + <comment></comment> + <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> + </opcode> + <opcode id="38D1" name="OP_SpawnRename" updated="05/14/09"> + <comment>Spawns getting renamed after initial NewSpawn</comment> + <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> + </opcode> + <opcode id="6893" name="OP_GroupInvite" updated="05/14/09"> + <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> + <payload dir="server" typename="groupAltInviteStruct" sizechecktype="match"/> + <comment>You're inviting someone and you're not grouped</comment> + </opcode> + <opcode id="224F" name="OP_SwapSpell" updated="05/14/09"> + <comment>old TradeSpellBookSlotsCode</comment> + <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> + </opcode> + <opcode id="6087" name="OP_InspectAnswer" updated="05/14/09"> + <comment>old InspectDataCode</comment> + <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> + </opcode> + <opcode id="1318" name="OP_SimpleMessage" updated="05/14/09"> + <comment>old SimpleMessageCode</comment> + <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> + </opcode> + <opcode id="7B77" name="OP_SpecialMesg" updated="05/14/09"> + <comment>Communicate textual info to client</comment> + <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> + </opcode> + <opcode id="73D6" name="OP_RandomReq" updated="05/14/09"> + <comment>old RandomReqCode</comment> + <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> + </opcode> + <opcode id="0C2D" name="OP_ConsentResponse" updated="05/14/09"> + <comment>Server replying with consent information after /consent</comment> + <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> + </opcode> + <opcode id="3675" name="OP_DenyResponse" updated="05/14/09"> + <comment>Server replying with deny information after /deny</comment> + <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> + </opcode> + <opcode id="7092" name="OP_BazaarSearch" updated="05/14/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="6022" name="OP_PlayerProfile" updated="01/17/08"> + <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"/> @@ -70,23 +144,11 @@ <comment>old NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="102F" name="OP_SpawnDoor" updated="10/21/08"> - <comment>old DoorSpawnsCode</comment> - <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> - </opcode> <opcode id="33E5" name="OP_GroundSpawn" updated="01/17/08"> <comment>old MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="match"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5821" name="OP_SendZonePoints" updated="10/21/08"> - <comment>Coords in a zone that will port you to another zone</comment> - <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> - </opcode> - <opcode id="3088" name="OP_AAExpUpdate" updated="01/17/08"> - <comment>Receiving AA experience. Also when percent to AA changes.</comment> - <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> - </opcode> <opcode id="0E98" name="OP_ExpUpdate" updated="01/17/08"> <comment>old ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> @@ -95,10 +157,6 @@ <comment></comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="D677" name="OP_GuildMOTD" updated="01/17/08"> - <comment>GuildMOTD</comment> - <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> - </opcode> <opcode id="7062" name="OP_ClientUpdate" updated="01/17/08"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> @@ -128,14 +186,6 @@ <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="538F" name="OP_HPUpdate" updated="10/21/08"> - <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> - <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> - </opcode> - <opcode id="41C0" name="OP_GuildMemberUpdate" updated="10/21/08"> - <comment></comment> - <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> - </opcode> <opcode id="5F0D" name="OP_ClickObject" updated="01/17/08"> <comment>old RemDropCode</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> @@ -157,10 +207,6 @@ <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="0A1D" name="OP_SpawnRename" updated="01/17/08"> - <comment>Spawns getting renamed after initial NewSpawn</comment> - <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> - </opcode> <opcode id="48F9" name="OP_Illusion" updated="01/17/08"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> @@ -169,11 +215,6 @@ <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="5D32" name="OP_GroupInvite" updated="10/07/08"> - <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> - <payload dir="server" typename="groupAltInviteStruct" sizechecktype="match"/> - <comment>You're inviting someone and you're not grouped</comment> - </opcode> <opcode id="548c" name="OP_GroupInvite2" updated="09/03/08"> <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> <comment>You're inviting someone and you are grouped</comment> @@ -198,65 +239,27 @@ <comment>old StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="3FD2" name="OP_SwapSpell" updated="01/17/08"> - <comment>old TradeSpellBookSlotsCode</comment> - <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> - </opcode> <opcode id="8543" name="OP_MemorizeSpell" updated="01/17/08"> <comment>old MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="4938" name="OP_InspectAnswer" updated="10/07/08"> - <comment>old InspectDataCode</comment> - <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> - </opcode> <opcode id="7434" name="OP_Emote" updated="01/17/08"> <comment>old EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="5448" name="OP_SimpleMessage" updated="01/17/08"> - <comment>old SimpleMessageCode</comment> - <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> - </opcode> - <opcode id="1318" name="OP_FormattedMessage" updated="01/17/08"> - <comment>old FormattedMessageCode</comment> - <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> - </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="074F" name="OP_SpecialMesg" updated="01/17/08"> - <comment>Communicate textual info to client</comment> - <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> - </opcode> - <opcode id="777C" name="OP_RandomReq" updated="01/17/08"> - <comment>old RandomReqCode</comment> - <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> - </opcode> <opcode id="6CDC" name="OP_RandomReply" updated="01/17/08"> <comment>old RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> - <opcode id="6E47" name="OP_ConsentResponse" updated="10/21/08"> - <comment>Server replying with consent information after /consent</comment> - <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> - </opcode> - <opcode id="7CE7" name="OP_DenyResponse" updated="10/21/08"> - <comment>Server replying with deny information after /deny</comment> - <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> - </opcode> <opcode id="50C2" name="OP_ManaChange" updated="01/17/08"> <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="4675" name="OP_BazaarSearch" updated="01/17/08"> - <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="6546" name="OP_MoneyOnCorpse" updated="01/17/08"> <comment>old MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/configure.in 2009-05-20 22:03:33 UTC (rev 727) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.3.0) +AC_INIT(showeq, 5.13.4.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/src/everquest.h 2009-05-20 22:03:33 UTC (rev 727) @@ -1989,8 +1989,9 @@ /*0004*/ uint32_t spellId; // Spell ID /*0008*/ int32_t inventorySlot; // ***Placeholder /*0012*/ uint32_t targetId; // The current selected target -/*0016*/ uint8_t unknown0018[4]; // ***Placeholder -/*0020*/ +/*0016*/ uint8_t unknown0018[4]; // ***Placeholder +/*0020*/ uint8_t unknown0020[16]; // ***Placeholder (4/7/2009) +/*0036*/ }; /* @@ -2554,23 +2555,25 @@ /* ** Guild List (from world server) -** Length: 96 Octets +** Length: 68 Octets ** used in: worldGuildList */ struct guildListStruct { -/*0000*/ char guildName[64]; +/*0000*/ uint32_t guildId; +/*0004*/ char guildName[64]; }; /* ** Guild List (from world server) -** Length: 96064 Octets +** Length: Variable (serialized) */ struct worldGuildListStruct { -/*000*/ guildListStruct dummy; -/*064*/ guildListStruct guilds[MAX_GUILDS]; +/*000*/ uint8_t unknown000[64]; +/*064*/ uint32_t numberOfGuilds; // ? +/*068*/ guildListStruct guilds[MAX_GUILDS]; // MAX_GUILDS varies by server now }; struct worldMOTDStruct Modified: showeq/trunk/src/guild.cpp =================================================================== --- showeq/trunk/src/guild.cpp 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/src/guild.cpp 2009-05-20 22:03:33 UTC (rev 727) @@ -17,6 +17,7 @@ #include "guild.h" #include "packet.h" #include "diagnosticmessages.h" +#include "netstream.h" #include <qfile.h> #include <qdatastream.h> @@ -43,20 +44,17 @@ void GuildMgr::worldGuildList(const uint8_t* data, size_t len) { - const worldGuildListStruct* gls = (const worldGuildListStruct*)data; - - writeGuildList(gls, len); + writeGuildList(data, len); readGuildList(); } -void GuildMgr::writeGuildList(const worldGuildListStruct* gls, size_t len) +void GuildMgr::writeGuildList(const uint8_t* data, size_t len) { QFile guildsfile(guildsFileName); if (guildsfile.exists()) { if (!guildsfile.remove()) { - seqWarn("GuildMgr: Could not remove old %s, unable to replace with server data!" -, + seqWarn("GuildMgr: Could not remove old %s, unable to replace with server data!", guildsFileName.latin1()); return; } @@ -68,8 +66,44 @@ QDataStream guildDataStream(&guildsfile); - guildDataStream.writeRawBytes((char *)gls->guilds, sizeof(gls->guilds)); + NetStream netStream(data,len); + QString guildName; + uint32_t size = 0; // to keep track of how much we're reading from the packet + /* + 0x48 in the packet starts the serialized list. See guildListStruct + and worldGuildListStruct in everquest.h + */ + + // skip to the first guild in the list + netStream.skipBytes(0x44); + size += 0x44; + + while(!netStream.end()) + { + char szGuildName[64] = {0}; + + // skip guild ID + netStream.skipBytes(4); + guildName = netStream.readText(); + size += 4; // four bytes for the guild ID + + if(guildName.length()) + { + strcpy(szGuildName, guildName.latin1()); + +// seqDebug("GuildMgr::writeGuildList - add guild '%s'", szGuildName); + guildDataStream.writeRawBytes(szGuildName, sizeof(szGuildName)); + + // add guild name length, plus one for the null character + size += guildName.length() + 1; + } + + // there's an extra zero at the end of the packet + if(size + 1 == len) + break; // the end + } + guildsfile.close(); seqInfo("GuildMgr: New guildsfile written"); } @@ -81,25 +115,15 @@ m_guildMap.clear(); if (guildsfile.open(IO_ReadOnly)) { - worldGuildListStruct tmp; - if (guildsfile.size() != sizeof(tmp.guilds)) + while (!guildsfile.atEnd()) { - seqWarn("GuildMgr: Guildsfile not loaded, expected size %d got %ld", - sizeof(worldGuildListStruct), guildsfile.size()); - return; + char szGuildName[64] = {0}; + + guildsfile.readBlock(szGuildName, sizeof(szGuildName)); +// seqDebug("GuildMgr::readGuildList - read guild '%s'", szGuildName); + m_guildMap.push_back(QString::fromUtf8(szGuildName)); } - struct guildListStruct gl; - - while (!guildsfile.atEnd()) - { - guildsfile.readBlock(reinterpret_cast<char*>(&gl), sizeof(gl)); - // Commented out until verified that this needs to actually be - // removed. -- Ratt - // if (strlen(gl.guildName) > 0) - m_guildMap.push_back(QString::fromUtf8(gl.guildName)); - } - guildsfile.close(); seqInfo("GuildMgr: Guildsfile loaded"); } Modified: showeq/trunk/src/guild.h =================================================================== --- showeq/trunk/src/guild.h 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/src/guild.h 2009-05-20 22:03:33 UTC (rev 727) @@ -44,7 +44,7 @@ private: std::vector<QString> m_guildMap; - void writeGuildList(const worldGuildListStruct*, size_t); + void writeGuildList(const uint8_t*, size_t); QString guildsFileName; Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/src/interface.cpp 2009-05-20 22:03:33 UTC (rev 727) @@ -1718,7 +1718,7 @@ if (m_guildmgr) { m_packet->connect2("OP_GuildList", SP_World, DIR_Server, - "worldGuildListStruct", SZC_Match, + "worldGuildListStruct", SZC_None, m_guildmgr, SLOT(worldGuildList(const uint8_t*, size_t))); Modified: showeq/trunk/src/messageshell.cpp =================================================================== --- showeq/trunk/src/messageshell.cpp 2009-03-21 00:05:33 UTC (rev 726) +++ showeq/trunk/src/messageshell.cpp 2009-05-20 22:03:33 UTC (rev 727) @@ -768,14 +768,20 @@ // m_messages->addMessage(MT_Player, message); int buffnumber; + QString spellName; + for (buffnumber=0;buffnumber<MAX_BUFFS;buffnumber++) { if (player->profile.buffs[buffnumber].spellid && player->profile.buffs[buffnumber].duration) { - message.sprintf("You have buff %s duration left is %d in ticks.", - (const char*)spell_name(player->profile.buffs[buffnumber].spellid), - player->profile.buffs[buffnumber].duration); + const Spell* spell = m_spells->spell(player->profile.buffs[buffnumber].spellid); + if(spell) + spellName = spell->name(); + else + spellName = spell_name(player->profile.buffs[buffnumber].spellid); + message.sprintf("You have buff %s duration left is %d in ticks.", spellName.latin1(), + player->profile.buffs[buffnumber].duration); m_messages->addMessage(MT_Player, message); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-05-26 02:22:20
|
Revision: 729 http://seq.svn.sourceforge.net/seq/?rev=729&view=rev Author: ieatacid Date: 2009-05-26 01:32:18 +0000 (Tue, 26 May 2009) Log Message: ----------- Fixed guild name bug Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/guild.cpp showeq/trunk/src/guild.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-05-20 22:06:24 UTC (rev 728) +++ showeq/trunk/ChangeLog 2009-05-26 01:32:18 UTC (rev 729) @@ -1,3 +1,7 @@ +ieatacid (5/25/09) +----------------- +- Fixed guild name bug + ieatacid (5/20/09) ----------------- - Updated version to 5.13.4 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-05-20 22:06:24 UTC (rev 728) +++ showeq/trunk/configure.in 2009-05-26 01:32:18 UTC (rev 729) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.4.0) +AC_INIT(showeq, 5.13.4.1) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/guild.cpp =================================================================== --- showeq/trunk/src/guild.cpp 2009-05-20 22:06:24 UTC (rev 728) +++ showeq/trunk/src/guild.cpp 2009-05-26 01:32:18 UTC (rev 729) @@ -69,6 +69,7 @@ NetStream netStream(data,len); QString guildName; uint32_t size = 0; // to keep track of how much we're reading from the packet + uint32_t guildId = 0; /* 0x48 in the packet starts the serialized list. See guildListStruct @@ -81,29 +82,33 @@ while(!netStream.end()) { - char szGuildName[64] = {0}; - - // skip guild ID - netStream.skipBytes(4); + guildId = netStream.readUInt32NC(); guildName = netStream.readText(); size += 4; // four bytes for the guild ID if(guildName.length()) { - strcpy(szGuildName, guildName.latin1()); + m_guildList[guildId] = guildName; -// seqDebug("GuildMgr::writeGuildList - add guild '%s'", szGuildName); - guildDataStream.writeRawBytes(szGuildName, sizeof(szGuildName)); - // add guild name length, plus one for the null character size += guildName.length() + 1; } - // there's an extra zero at the end of the packet if(size + 1 == len) break; // the end } + std::map<uint32_t, QString>::iterator it; + + for(it = m_guildList.begin(); it != m_guildList.end(); it++) + { + char szGuildName[64] = {0}; + + strcpy(szGuildName, it->second.latin1()); + //seqDebug("GuildMgr::writeGuildList - add guild '%s' (%d)", szGuildName, it->first); + guildDataStream.writeRawBytes(szGuildName, sizeof(szGuildName)); + } + guildsfile.close(); seqInfo("GuildMgr: New guildsfile written"); } @@ -120,7 +125,7 @@ char szGuildName[64] = {0}; guildsfile.readBlock(szGuildName, sizeof(szGuildName)); -// seqDebug("GuildMgr::readGuildList - read guild '%s'", szGuildName); + //seqDebug("GuildMgr::readGuildList - read guild '%s'", szGuildName); m_guildMap.push_back(QString::fromUtf8(szGuildName)); } Modified: showeq/trunk/src/guild.h =================================================================== --- showeq/trunk/src/guild.h 2009-05-20 22:06:24 UTC (rev 728) +++ showeq/trunk/src/guild.h 2009-05-26 01:32:18 UTC (rev 729) @@ -43,6 +43,7 @@ private: std::vector<QString> m_guildMap; + std::map<uint32_t, QString> m_guildList; void writeGuildList(const uint8_t*, size_t); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-06-20 22:43:44
|
Revision: 732 http://seq.svn.sourceforge.net/seq/?rev=732&view=rev Author: ieatacid Date: 2009-06-20 22:43:42 +0000 (Sat, 20 Jun 2009) Log Message: ----------- Version to 5.13.5 + Updated opcodes + Updated structs Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-06-01 21:19:24 UTC (rev 731) +++ showeq/trunk/ChangeLog 2009-06-20 22:43:42 UTC (rev 732) @@ -1,3 +1,9 @@ +ieatacid (6/20/09) +----------------- +- Updated version to 5.13.5 +- Updated opcodes (6/12/09) +- Updated structs + ieatacid (5/25/09) ----------------- - Fixed guild name bug Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-06-01 21:19:24 UTC (rev 731) +++ showeq/trunk/conf/zoneopcodes.xml 2009-06-20 22:43:42 UTC (rev 732) @@ -5,265 +5,274 @@ <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="2D95" name="OP_NpcMoveUpdate" updated="05/14/09"> + <opcode id="03D1" name="OP_NpcMoveUpdate" updated="06/12/09"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7AE3" name="OP_DeleteSpawn" updated="05/14/09"> + <opcode id="4036" name="OP_DeleteSpawn" updated="06/12/09"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="6130" name="OP_RespawnFromHover" updated="05/14/09"> + <opcode id="09E3" name="OP_RespawnFromHover" updated="06/12/09"> <comment>Server telling client that it is coming back from hover death</comment> <payload dir="both" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1052" name="OP_Shroud" updated="05/14/09"> + <opcode id="48CD" name="OP_Shroud" updated="06/12/09"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="2D08" name="OP_GroupFollow" updated="05/14/09"> + <opcode id="1C50" name="OP_GroupFollow" updated="06/12/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>You join a group</comment> </opcode> - <opcode id="08C3" name="OP_GroupFollow2" updated="05/14/09"> + <opcode id="49F6" name="OP_GroupFollow2" updated="06/12/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>Player joins your group</comment> </opcode> - <opcode id="C56C" name="OP_GroupUpdate" updated="05/14/09"> + <opcode id="4481" name="OP_GroupUpdate" updated="06/12/09"> <payload dir="server" typename="uint8_t" sizechecktype="none"/> <comment>Variable length packet with group member names</comment> </opcode> - <opcode id="49F6" name="OP_GroupDisband" updated="05/14/09"> + <opcode id="0C33" name="OP_GroupDisband" updated="06/12/09"> <comment>You disband from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="21BE" name="OP_GroupDisband2" updated="05/14/09"> + <opcode id="58E6" name="OP_GroupDisband2" updated="06/12/09"> <comment>Other disbands from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="58E6" name="OP_GroupLeader" updated="05/14/09"> + <opcode id="63F8" name="OP_GroupLeader" updated="06/12/09"> <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="4B1E" name="OP_DzSwitchInfo" updated="05/14/09"> + <opcode id="3F99" name="OP_DzSwitchInfo" updated="06/12/09"> <comment></comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="054E" name="OP_DzInfo" updated="05/14/09"> + <opcode id="4661" name="OP_DzInfo" updated="06/12/09"> <comment></comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> - <opcode id="783C" name="OP_FormattedMessage" updated="05/14/09"> + <opcode id="0507" name="OP_FormattedMessage" updated="06/12/09"> <comment>old FormattedMessageCode</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4D27" name="OP_ZoneEntry" updated="05/14/09"> + <opcode id="2018" name="OP_ZoneEntry" updated="06/12/09"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4E19" name="OP_SpawnDoor" updated="05/14/09"> + <opcode id="0C7B" name="OP_SpawnDoor" updated="06/12/09"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="4892" name="OP_SendZonePoints" updated="05/14/09"> + <opcode id="4938" name="OP_SendZonePoints" updated="06/12/09"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="053A" name="OP_AAExpUpdate" updated="05/14/09"> + <opcode id="5658" name="OP_AAExpUpdate" updated="06/12/09"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> <opcode id="053A" name="OP_AAExpUpdate" updated="05/14/09"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="0B80" name="OP_GuildMOTD" updated="05/14/09"> + <opcode id="2042" name="OP_GuildMOTD" updated="06/12/09"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="592D" name="OP_HPUpdate" updated="05/14/09"> + <opcode id="4B61" name="OP_HPUpdate" updated="06/12/09"> <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1190" name="OP_GuildMemberUpdate" updated="05/14/09"> + <opcode id="3288" name="OP_GuildMemberUpdate" updated="06/12/09"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="38D1" name="OP_SpawnRename" updated="05/14/09"> + <opcode id="42EF" name="OP_SpawnRename" updated="06/12/09"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="6893" name="OP_GroupInvite" updated="05/14/09"> + <opcode id="2736" name="OP_GroupInvite" updated="06/12/09"> <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> <payload dir="server" typename="groupAltInviteStruct" sizechecktype="match"/> <comment>You're inviting someone and you're not grouped</comment> </opcode> - <opcode id="224F" name="OP_SwapSpell" updated="05/14/09"> + <opcode id="517B" name="OP_SwapSpell" updated="06/12/09"> <comment>old TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="6087" name="OP_InspectAnswer" updated="05/14/09"> + <opcode id="6145" name="OP_InspectAnswer" updated="06/12/09"> <comment>old InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="1318" name="OP_SimpleMessage" updated="05/14/09"> + <opcode id="783C" name="OP_SimpleMessage" updated="06/12/09"> <comment>old SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7B77" name="OP_SpecialMesg" updated="05/14/09"> + <opcode id="0525" name="OP_SpecialMesg" updated="06/12/09"> <comment>Communicate textual info to client</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="73D6" name="OP_RandomReq" updated="05/14/09"> + <opcode id="0DDA" name="OP_RandomReq" updated="06/12/09"> <comment>old RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="0C2D" name="OP_ConsentResponse" updated="05/14/09"> + <opcode id="5DBC" name="OP_ConsentResponse" updated="06/12/09"> <comment>Server replying with consent information after /consent</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="3675" name="OP_DenyResponse" updated="05/14/09"> + <opcode id="771F" name="OP_DenyResponse" updated="06/12/09"> <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="7092" name="OP_BazaarSearch" updated="05/14/09"> + <opcode id="50D0" name="OP_BazaarSearch" updated="06/12/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="6022" name="OP_PlayerProfile" updated="01/17/08"> - <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="5CA5" name="OP_NewZone" updated="01/17/08"> + <opcode id="43AC" name="OP_NewZone" updated="06/12/09"> <comment>old NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="33E5" name="OP_GroundSpawn" updated="01/17/08"> + <opcode id="5C85" name="OP_GroundSpawn" updated="06/12/09"> <comment>old MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="match"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0E98" name="OP_ExpUpdate" updated="01/17/08"> + <opcode id="0555" name="OP_ExpUpdate" updated="06/12/09"> <comment>old ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" 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="01/17/08"> - <comment>Position updates</comment> - <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> - <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> - </opcode> - <opcode id="4656" name="OP_MobUpdate" updated="01/17/08"> - <comment>old MobUpdateCode</comment> - <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> - </opcode> - <opcode id="3164" name="OP_RemoveSpawn" updated="04/17/08"> + <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="1B85" name="OP_Death" updated="01/17/08"> + <opcode id="7F9E" name="OP_Death" updated="06/12/09"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="231F" name="OP_WearChange" updated="01/17/08"> + <opcode id="3969" name="OP_WearChange" updated="06/12/09"> <comment>old SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="10B7" name="OP_SpawnAppearance" updated="01/17/08"> + <opcode id="4843" name="OP_SpawnAppearance" updated="06/12/09"> <comment>old SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="3E50" name="OP_Stamina" updated="10/21/08"> + <opcode id="70C6" name="OP_Stamina" updated="06/12/09"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="5F0D" name="OP_ClickObject" updated="01/17/08"> + <opcode id="33E5" name="OP_ClickObject" updated="06/12/09"> <comment>old RemDropCode</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="2C27" name="OP_Action" updated="01/17/08"> + <opcode id="0F14" name="OP_Action" updated="06/12/09"> <comment></comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="7E4D" name="OP_Action2" updated="01/17/08"> + <opcode id="631A" name="OP_Action2" updated="06/12/09"> <comment>old ActionCode</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="6024" name="OP_Consider" updated="01/17/08"> + <opcode id="66C5" name="OP_Consider" updated="06/12/09"> <comment>old ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="7BBB" name="OP_TargetMouse" updated="01/17/08"> + <opcode id="2EE2" name="OP_TargetMouse" updated="06/12/09"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="48F9" name="OP_Illusion" updated="01/17/08"> + <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="051B" name="OP_ZoneChange" updated="01/17/08"> + <opcode id="32A9" name="OP_ZoneChange" updated="06/12/09"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="548c" name="OP_GroupInvite2" updated="09/03/08"> + <opcode id="5251" name="OP_GroupInvite2" updated="06/12/09"> <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> <comment>You're inviting someone and you are grouped</comment> </opcode> - <opcode id="5251" name="OP_GroupCancelInvite" updated="01/17/08"> + <opcode id="5251" name="OP_GroupCancelInvite" updated="06/12/09"> <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/> <comment>Declining to join a group</comment> </opcode> - <opcode id="7EA8" name="OP_Buff" updated="01/17/08"> + <opcode id="7883" name="OP_Buff" updated="06/12/09"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="569A" name="OP_BuffFadeMsg" updated="01/17/08"> + <opcode id="71BF" name="OP_BuffFadeMsg" updated="06/12/09"> <comment>old SpellFadeCode</comment> <payload dir="both" typename="spellFadedStruct" sizechecktype="none"/> </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="3582" name="OP_CastSpell" updated="01/17/08"> + <opcode id="50C2" name="OP_CastSpell" updated="06/12/09"> <comment>old StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="8543" name="OP_MemorizeSpell" updated="01/17/08"> + <opcode id="3887" name="OP_MemorizeSpell" updated="06/12/09"> <comment>old MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="7434" name="OP_Emote" updated="01/17/08"> + <opcode id="3164" name="OP_Emote" updated="06/12/09"> <comment>old EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </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="6CDC" name="OP_RandomReply" updated="01/17/08"> + <opcode id="6D5D" name="OP_RandomReply" updated="06/12/09"> <comment>old RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> - <opcode id="50C2" name="OP_ManaChange" updated="01/17/08"> + <opcode id="569A" name="OP_ManaChange" updated="06/12/09"> <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="6546" name="OP_MoneyOnCorpse" updated="01/17/08"> + <opcode id="4A83" 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="7705" name="OP_Logout" updated="06/12/09"> + <comment></comment> + <payload dir="server" typename="none" 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> + <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="01/17/08"> + <comment>Position updates</comment> + <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> + <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> + </opcode> + <opcode id="4656" 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="01/17/08"> <comment>old SkillIncCode</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> @@ -272,14 +281,7 @@ <comment>old LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="083B" name="OP_CorpseLocResponse" updated="01/17/08"> - <comment>old CorpseLocCode:</comment> - <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/> - </opcode> - <opcode id="30E2" name="OP_Logout" updated="10/21/08"> - <comment></comment> - <payload dir="server" typename="none" sizechecktype="match"/> - </opcode> + <!-- Deprecated <opcode id="5C29" name="OP_NewSpawn" updated="01/17/08"> <comment>old NewSpawnCode</comment> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-06-01 21:19:24 UTC (rev 731) +++ showeq/trunk/configure.in 2009-06-20 22:43:42 UTC (rev 732) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.4.1) +AC_INIT(showeq, 5.13.5.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2009-06-01 21:19:24 UTC (rev 731) +++ showeq/trunk/src/everquest.h 2009-06-20 22:43:42 UTC (rev 732) @@ -101,14 +101,14 @@ #define RTEAM_OTHER 5 //Maximum limits of certain types of data -#define MAX_KNOWN_SKILLS 75 +#define MAX_KNOWN_SKILLS 100 #define MAX_SPELL_SLOTS 10 #define MAX_KNOWN_LANGS 25 #define MAX_SPELLBOOK_SLOTS 400 #define MAX_GROUP_MEMBERS 6 -#define MAX_BUFFS 25 +#define MAX_BUFFS 30 #define MAX_GUILDS 1500 -#define MAX_AA 359 +#define MAX_AA 300 #define MAX_BANDOLIERS 20 #define MAX_POTIONS_IN_BELT 5 #define MAX_TRIBUTES 5 @@ -446,13 +446,14 @@ /* * Used in charProfileStruct - * Size: 8 octets + * Size: 12 octets */ struct AA_Array { /*000*/ uint32_t AA; /*004*/ uint32_t value; -/*008*/ +/*008*/ uint32_t unknown008; +/*012*/ }; /** @@ -663,148 +664,146 @@ /*00060*/ BindStruct binds[5]; // Bind points (primary is first) /*00160*/ uint32_t deity; // deity /*00164*/ uint32_t intoxication; // Alcohol level (in ticks till sober?) -/*00168*/ uint32_t spellSlotRefresh[MAX_SPELL_SLOTS]; // Refresh time (millis) -/*00208*/ uint8_t unknown0208[4]; -/*00212*/ uint8_t haircolor; // Player hair color -/*00213*/ uint8_t beardcolor; // Player beard color -/*00214*/ uint8_t unknown00214[6]; -/*00220*/ uint8_t eyecolor1; // Player left eye color -/*00221*/ uint8_t eyecolor2; // Player right eye color -/*00222*/ uint8_t hairstyle; // Player hair style -/*00223*/ uint8_t beard; // Player beard type -/*00224*/ uint8_t unknown00218[12]; -/*00236*/ uint32_t item_material[9]; // Item texture/material of worn items -/*00272*/ uint8_t unknown00272[232]; -/*00504*/ Color_Struct item_tint[9]; // RR GG BB 00 -/*00540*/ AA_Array aa_array[MAX_AA]; // AAs -/*03412*/ uint8_t unknown03400[728]; // ***** this may be wrong or aa_array might be wrong (10/21/07) -/*04140*/ uint32_t points; // Unspent Practice points -/*04144*/ uint32_t MANA; // Current MANA -/*04148*/ uint32_t curHp; // Current HP without +HP equipment -/*04152*/ uint32_t STR; // Strength -/*04156*/ uint32_t STA; // Stamina -/*04160*/ uint32_t CHA; // Charisma -/*04164*/ uint32_t DEX; // Dexterity -/*04168*/ uint32_t INT; // Intelligence -/*04172*/ uint32_t AGI; // Agility -/*04176*/ uint32_t WIS; // Wisdom -/*04180*/ uint8_t face; // Player face -/*04181*/ uint8_t unknown04181[175]; -/*04356*/ int32_t sSpellBook[400]; // List of the Spells in spellbook -/*05956*/ uint8_t unknown5956[448]; // all 0xff after last spell -/*06404*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized -/*06444*/ uint8_t unknown06444[28]; -/*06472*/ uint32_t platinum; // Platinum Pieces on player -/*06476*/ uint32_t gold; // Gold Pieces on player -/*06480*/ uint32_t silver; // Silver Pieces on player -/*06484*/ uint32_t copper; // Copper Pieces on player -/*06488*/ uint32_t platinum_cursor; // Platinum Pieces on cursor -/*06492*/ uint32_t gold_cursor; // Gold Pieces on cursor -/*06496*/ uint32_t silver_cursor; // Silver Pieces on cursor -/*06500*/ uint32_t copper_cursor; // Copper Pieces on cursor -/*06504*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills -/*06804*/ uint8_t unknown06804[236]; -/*07040*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) -/*07044*/ uint32_t thirst; // Drink (ticks till next drink) -/*07048*/ uint32_t hunger; // Food (ticks till next eat) -/*07052*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player -/*07652*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines -/*08052*/ uint8_t unknown08052[160]; -/*08212*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) -/*08292*/ uint32_t endurance; // Current endurance -/*08296*/ uint32_t aa_spent; // Number of spent AA points -/*08300*/ uint32_t aa_unspent; // Unspent AA points -/*08304*/ uint8_t unknown08304[4]; -/*08308*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents -/*14708*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt -/*15068*/ uint8_t unknown15068[92]; -/*15160*/ +/*00168*/ uint32_t spellSlotRefresh[13]; // Refresh time (millis) +/*00220*/ uint8_t haircolor; // Player hair color +/*00221*/ uint8_t beardcolor; // Player beard color +/*00222*/ uint8_t unknown00222[6]; +/*00228*/ uint8_t eyecolor1; // Player left eye color +/*00229*/ uint8_t eyecolor2; // Player right eye color +/*00230*/ uint8_t hairstyle; // Player hair style +/*00231*/ uint8_t beard; // Player beard type +/*00232*/ uint8_t unknown00232[22]; +/*00254*/ uint32_t item_material[9]; // Item texture/material of worn items +/*00290*/ uint8_t unknown00290[222]; +/*00512*/ Color_Struct item_tint[9]; // RR GG BB 00 +/*00548*/ AA_Array aa_array[MAX_AA]; // AAs +/*04148*/ uint32_t points; // Unspent Practice points +/*04152*/ uint32_t MANA; // Current MANA +/*04156*/ uint32_t curHp; // Current HP without +HP equipment +/*04160*/ uint32_t STR; // Strength +/*04164*/ uint32_t STA; // Stamina +/*04168*/ uint32_t CHA; // Charisma +/*04172*/ uint32_t DEX; // Dexterity +/*04176*/ uint32_t INT; // Intelligence +/*04180*/ uint32_t AGI; // Agility +/*04184*/ uint32_t WIS; // Wisdom +/*04188*/ uint8_t face; // Player face +/*04189*/ uint8_t unknown04189[175]; +/*04364*/ int32_t sSpellBook[720]; // List of the Spells in spellbook +/*07244*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized +/*07284*/ uint8_t unknown07284[28]; +/*07312*/ uint32_t platinum; // Platinum Pieces on player +/*07316*/ uint32_t gold; // Gold Pieces on player +/*07320*/ uint32_t silver; // Silver Pieces on player +/*07324*/ uint32_t copper; // Copper Pieces on player +/*07328*/ uint32_t platinum_cursor; // Platinum Pieces on cursor +/*07332*/ uint32_t gold_cursor; // Gold Pieces on cursor +/*07336*/ uint32_t silver_cursor; // Silver Pieces on cursor +/*07340*/ uint32_t copper_cursor; // Copper Pieces on cursor +/*07344*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills +/*07744*/ uint32_t innateSkills[25]; +/*07844*/ uint8_t unknown07844[36]; +/*07880*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) +/*07884*/ uint32_t thirst; // Drink (ticks till next drink) +/*07888*/ uint32_t hunger; // Food (ticks till next eat) +/*07892*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player +/*08612*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines +/*09012*/ uint8_t unknown09012[560]; +/*09572*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) +/*09652*/ uint32_t endurance; // Current endurance +/*09656*/ uint32_t aa_spent; // Number of spent AA points +/*09660*/ uint32_t aa_unspent; // Unspent AA points +/*09664*/ uint8_t unknown09664[4]; +/*09668*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents +/*16068*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt +/*16428*/ uint8_t unknown16428[92]; +/*16520*/ }; /* ** Player Profile -** Length: 23496 Octets +** Length: 24856 Octets ** OpCode: CharProfileCode */ struct charProfileStruct { /*00000*/ uint32_t checksum; // /*00004*/ playerProfileStruct profile; // Profile -/*15160*/ char name[64]; // Name of player -/*15224*/ char lastName[32]; // Last name of player -/*15256*/ uint8_t unknown15256[12]; //***Placeholder (1/18/2006) -/*15268*/ int32_t guildID; // guildID -/*15272*/ uint32_t birthdayTime; // character birthday -/*15276*/ uint32_t lastSaveTime; // character last save time -/*15280*/ uint32_t timePlayedMin; // time character played -/*15284*/ uint8_t unknown15284[4]; -/*15288*/ uint8_t pvp; // 1=pvp, 0=not pvp -/*15289*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon -/*15290*/ uint8_t gm; // 0=no, 1=yes (guessing!) -/*15291*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader -/*15292*/ uint8_t unknown15292[8]; -/*15300*/ uint32_t exp; // Current Experience -/*15304*/ uint8_t unknown15304[12]; -/*15316*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages -/*15341*/ uint8_t unknown15341[7]; // All 0x00 (language buffer?) -/*15348*/ float y; // Players y position -/*15352*/ float x; // Players x position -/*15356*/ float z; // Players z position -/*15360*/ float heading; // Players heading -/*15364*/ uint32_t standState; // 0x64 = stand -/*15368*/ uint32_t platinum_bank; // Platinum Pieces in Bank -/*15372*/ uint32_t gold_bank; // Gold Pieces in Bank -/*15376*/ uint32_t silver_bank; // Silver Pieces in Bank -/*15380*/ uint32_t copper_bank; // Copper Pieces in Bank -/*15384*/ uint32_t platinum_shared; // Shared platinum pieces -/*15388*/ uint8_t unknown15388[1036]; -/*16424*/ uint32_t expansions; // Bitmask for expansions -/*16428*/ uint8_t unknown16428[12]; -/*16440*/ uint32_t autosplit; // 0 = off, 1 = on -/*16444*/ uint8_t unknown16444[16]; -/*16460*/ uint16_t zoneId; // see zones.h -/*16462*/ uint16_t zoneInstance; // Instance id -/*16464*/ uint8_t unknown16464[800]; -/*17264*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on -/*17268*/ uint8_t unknown17268[4]; -/*17272*/ uint32_t ldon_guk_points; // Earned GUK points -/*17276*/ uint32_t ldon_mir_points; // Earned MIR points -/*17280*/ uint32_t ldon_mmc_points; // Earned MMC points -/*17284*/ uint32_t ldon_ruj_points; // Earned RUJ points -/*17288*/ uint32_t ldon_tak_points; // Earned TAK points -/*17292*/ uint32_t ldon_avail_points; // Available LDON points -/*17296*/ uint8_t unknown17296[136]; -/*17432*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) -/*17436*/ uint32_t careerTribute; // Total favor points for this char -/*17440*/ uint32_t unknown17432; // *** Placeholder -/*17444*/ uint32_t currentTribute; // Current tribute points -/*17448*/ uint32_t unknown17440; // *** Placeholder -/*17452*/ uint32_t tributeActive; // 0 = off, 1=on -/*17456*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout -/*17496*/ uint8_t unknown17496[4]; -/*17500*/ float expGroupLeadAA; // Current group lead exp points -/*17504*/ uint32_t unknown17504; -/*17508*/ float expRaidLeadAA; // Current raid lead AA exp points -/*17512*/ uint32_t unknown17512; -/*17516*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points -/*17520*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points -/*17524*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks -/*17652*/ uint8_t unknown17644[128]; -/*17780*/ uint32_t airRemaining; // Air supply (seconds) -/*17784*/ uint8_t unknown17784[4608]; -/*22392*/ uint32_t expAA; // Exp earned in current AA point -/*22396*/ uint8_t unknown22396[40]; -/*22436*/ uint32_t currentRadCrystals; // Current count of radiant crystals -/*22440*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever -/*22444*/ uint32_t currentEbonCrystals;// Current count of ebon crystals -/*22448*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever -/*22452*/ uint8_t groupAutoconsent; // 0=off, 1=on -/*22453*/ uint8_t raidAutoconsent; // 0=off, 1=on -/*22454*/ uint8_t guildAutoconsent; // 0=off, 1=on -/*22455*/ uint8_t unknown22455[5]; // ***Placeholder (6/29/2005) -/*22460*/ uint32_t showhelm; // 0=no, 1=yes -/*22464*/ uint8_t unknown22464[1032]; // ***Placeholder (2/13/2007) -/*23496*/ +/*16520*/ char name[64]; // Name of player +/*16584*/ char lastName[32]; // Last name of player +/*16616*/ uint8_t unknown16616[12]; //***Placeholder (1/18/2006) +/*16628*/ int32_t guildID; // guildID +/*16632*/ uint32_t birthdayTime; // character birthday +/*16636*/ uint32_t lastSaveTime; // character last save time +/*16640*/ uint32_t timePlayedMin; // time character played +/*16644*/ uint8_t unknown16644[4]; +/*16648*/ uint8_t pvp; // 1=pvp, 0=not pvp +/*16649*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon +/*16650*/ uint8_t gm; // 0=no, 1=yes (guessing!) +/*16651*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader +/*16652*/ uint8_t unknown16652[8]; +/*16660*/ uint32_t exp; // Current Experience +/*16664*/ uint8_t unknown16664[12]; +/*16676*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages +/*16701*/ uint8_t unknown16701[7]; // All 0x00 (language buffer?) +/*16708*/ float y; // Players y position +/*16712*/ float x; // Players x position +/*16716*/ float z; // Players z position +/*16720*/ float heading; // Players heading +/*16724*/ uint32_t standState; // 0x64 = stand +/*16728*/ uint32_t platinum_bank; // Platinum Pieces in Bank +/*16732*/ uint32_t gold_bank; // Gold Pieces in Bank +/*16736*/ uint32_t silver_bank; // Silver Pieces in Bank +/*16740*/ uint32_t copper_bank; // Copper Pieces in Bank +/*16744*/ uint32_t platinum_shared; // Shared platinum pieces +/*16748*/ uint8_t unknown16748[1036]; +/*17784*/ uint32_t expansions; // Bitmask for expansions +/*17788*/ uint8_t unknown17788[12]; +/*17800*/ uint32_t autosplit; // 0 = off, 1 = on +/*17804*/ uint8_t unknown17804[16]; +/*17820*/ uint16_t zoneId; // see zones.h +/*17822*/ uint16_t zoneInstance; // Instance id +/*17824*/ uint8_t unknown17824[800]; +/*18624*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on +/*18628*/ uint8_t unknown18628[4]; +/*18632*/ uint32_t ldon_guk_points; // Earned GUK points +/*18636*/ uint32_t ldon_mir_points; // Earned MIR points +/*18640*/ uint32_t ldon_mmc_points; // Earned MMC points +/*18644*/ uint32_t ldon_ruj_points; // Earned RUJ points +/*18648*/ uint32_t ldon_tak_points; // Earned TAK points +/*18652*/ uint32_t ldon_avail_points; // Available LDON points +/*18656*/ uint8_t unknown18656[136]; +/*18792*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) +/*18796*/ uint32_t careerTribute; // Total favor points for this char +/*18800*/ uint32_t unknown18800; // *** Placeholder +/*18804*/ uint32_t currentTribute; // Current tribute points +/*18808*/ uint32_t unknown18808; // *** Placeholder +/*18812*/ uint32_t tributeActive; // 0 = off, 1=on +/*18816*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout +/*18856*/ uint8_t unknown18856[4]; +/*18860*/ float expGroupLeadAA; // Current group lead exp points +/*18864*/ uint32_t unknown18864; +/*18868*/ float expRaidLeadAA; // Current raid lead AA exp points +/*18872*/ uint32_t unknown18872; +/*18876*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points +/*18880*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points +/*18884*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks +/*19012*/ uint8_t unknown19012[128]; +/*19140*/ uint32_t airRemaining; // Air supply (seconds) +/*19144*/ uint8_t unknown19144[4608]; +/*23752*/ uint32_t expAA; // Exp earned in current AA point +/*23756*/ uint8_t unknown23756[40]; +/*23796*/ uint32_t currentRadCrystals; // Current count of radiant crystals +/*23800*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever +/*23804*/ uint32_t currentEbonCrystals;// Current count of ebon crystals +/*23808*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever +/*23812*/ uint8_t groupAutoconsent; // 0=off, 1=on +/*23813*/ uint8_t raidAutoconsent; // 0=off, 1=on +/*23814*/ uint8_t guildAutoconsent; // 0=off, 1=on +/*23815*/ uint8_t unknown23815[5]; // ***Placeholder (6/29/2005) +/*23820*/ uint32_t showhelm; // 0=no, 1=yes +/*23824*/ uint8_t unknown23824[1032]; // ***Placeholder (2/13/2007) +/*24856*/ }; #if 0 Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2009-06-01 21:19:24 UTC (rev 731) +++ showeq/trunk/src/spawnshell.cpp 2009-06-20 22:43:42 UTC (rev 732) @@ -638,7 +638,7 @@ if(checkLen && (int32_t)len != retVal) { - seqDebug("SpawnShell::fillSpawnStruct - expected length: %d, read: %d", len, retVal); + seqDebug("SpawnShell::fillSpawnStruct - expected length: %d, read: %d for spawn '%s'", len, retVal, spawn->name); } return retVal; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-08-17 00:06:35
|
Revision: 734 http://seq.svn.sourceforge.net/seq/?rev=734&view=rev Author: ieatacid Date: 2009-08-17 00:06:27 +0000 (Mon, 17 Aug 2009) Log Message: ----------- Updated Opcodes and source code for August 12 2009 patch Modified Paths: -------------- showeq/trunk/conf/zoneopcodes.xml showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/messageshell.cpp showeq/trunk/src/netstream.cpp showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-06-20 22:46:06 UTC (rev 733) +++ showeq/trunk/conf/zoneopcodes.xml 2009-08-17 00:06:27 UTC (rev 734) @@ -5,133 +5,174 @@ <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="03D1" name="OP_NpcMoveUpdate" updated="06/12/09"> + <opcode id="6A86" name="OP_NpcMoveUpdate" updated="08/12/09"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4036" name="OP_DeleteSpawn" updated="06/12/09"> + <opcode id="4B05" name="OP_MovementHistory" updated="08/12/09"> + <comment></comment> + <payload dir="client" typename="uint8_t" sizechecktype="none"/> + </opcode> + <opcode id="4315" name="OP_DeleteSpawn" updated="08/12/09"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="09E3" name="OP_RespawnFromHover" updated="06/12/09"> - <comment>Server telling client that it is coming back from hover death</comment> - <payload dir="both" typename="uint8_t" sizechecktype="none"/> + <opcode id="3AD9" name="OP_ZoneEntry" updated="08/12/09"> + <comment>old ZoneEntryCode</comment> + <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> + <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="48CD" name="OP_Shroud" updated="06/12/09"> + <opcode id="35B1" name="OP_GuildMOTD" updated="08/12/09"> + <comment>GuildMOTD</comment> + <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> + </opcode> + <opcode id="0FF4" name="OP_InspectAnswer" updated="08/12/09"> + <comment>old InspectDataCode</comment> + <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> + </opcode> + <opcode id="6967" name="OP_SendZonePoints" updated="08/12/09"> + <comment>Coords in a zone that will port you to another zone</comment> + <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> + </opcode> + <opcode id="41A6" name="OP_TargetMouse" updated="08/12/09"> + <comment>Targeting a person - old ClientTargetCode</comment> + <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> + </opcode> + <opcode id="666D" name="OP_Shroud" updated="08/12/09"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="1C50" name="OP_GroupFollow" updated="06/12/09"> + <opcode id="390C" name="OP_GroupFollow" updated="08/12/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>You join a group</comment> </opcode> - <opcode id="49F6" name="OP_GroupFollow2" updated="06/12/09"> + <opcode id="49F6" name="OP_GroupFollow2" updated="08/12/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>Player joins your group</comment> </opcode> - <opcode id="4481" name="OP_GroupUpdate" updated="06/12/09"> + <opcode id="59A8" name="OP_GroupUpdate" updated="08/12/09"> <payload dir="server" typename="uint8_t" sizechecktype="none"/> <comment>Variable length packet with group member names</comment> </opcode> - <opcode id="0C33" name="OP_GroupDisband" updated="06/12/09"> + <opcode id="0786" name="OP_GroupDisband" updated="08/12/09"> <comment>You disband from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="58E6" name="OP_GroupDisband2" updated="06/12/09"> + <opcode id="C56C" name="OP_GroupDisband2" updated="08/12/09"> <comment>Other disbands from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="63F8" name="OP_GroupLeader" updated="06/12/09"> + <opcode id="4481" name="OP_GroupLeader" updated="08/12/09"> <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="3F99" name="OP_DzSwitchInfo" updated="06/12/09"> + <opcode id="3841" name="OP_DzSwitchInfo" updated="08/12/09"> <comment></comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="4661" name="OP_DzInfo" updated="06/12/09"> + <opcode id="1875" name="OP_DzInfo" updated="08/12/09"> <comment></comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> - <opcode id="0507" name="OP_FormattedMessage" updated="06/12/09"> + <opcode id="48B8" name="OP_FormattedMessage" updated="08/12/09"> <comment>old FormattedMessageCode</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="2018" name="OP_ZoneEntry" updated="06/12/09"> - <comment>old ZoneEntryCode</comment> - <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> - <payload dir="server" typename="uint8_t" sizechecktype="none"/> - </opcode> - <opcode id="0C7B" name="OP_SpawnDoor" updated="06/12/09"> + <opcode id="1AC1" name="OP_SpawnDoor" updated="08/12/09"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="4938" name="OP_SendZonePoints" updated="06/12/09"> - <comment>Coords in a zone that will port you to another zone</comment> - <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> - </opcode> - <opcode id="5658" name="OP_AAExpUpdate" updated="06/12/09"> + <opcode id="38D1" name="OP_AAExpUpdate" updated="08/12/09"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> - </opcode> <opcode id="053A" name="OP_AAExpUpdate" updated="05/14/09"> - <comment>Receiving AA experience. Also when percent to AA changes.</comment> - <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2042" name="OP_GuildMOTD" updated="06/12/09"> - <comment>GuildMOTD</comment> - <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> - </opcode> - <opcode id="4B61" name="OP_HPUpdate" updated="06/12/09"> + <opcode id="5821" name="OP_HPUpdate" updated="08/12/09"> <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="3288" name="OP_GuildMemberUpdate" updated="06/12/09"> + <opcode id="16F5" name="OP_GuildMemberUpdate" updated="08/12/09"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="42EF" name="OP_SpawnRename" updated="06/12/09"> + <opcode id="37A7" name="OP_SpawnRename" updated="08/12/09"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="2736" name="OP_GroupInvite" updated="06/12/09"> + <opcode id="099D" name="OP_GroupInvited" updated="08/12/09"> + <payload dir="server" typename="groupInviteStruct" sizechecktype="match"/> + <comment>You got invited to a group</comment> + </opcode> + <opcode id="7930" name="OP_GroupInvite" updated="08/12/09"> <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> - <payload dir="server" typename="groupAltInviteStruct" sizechecktype="match"/> <comment>You're inviting someone and you're not grouped</comment> </opcode> - <opcode id="517B" name="OP_SwapSpell" updated="06/12/09"> + <opcode id="1497" name="OP_SwapSpell" updated="08/12/09"> <comment>old TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="6145" name="OP_InspectAnswer" updated="06/12/09"> - <comment>old InspectDataCode</comment> - <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> - </opcode> - <opcode id="783C" name="OP_SimpleMessage" updated="06/12/09"> + <opcode id="6884" name="OP_SimpleMessage" updated="08/12/09"> <comment>old SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="0525" name="OP_SpecialMesg" updated="06/12/09"> + <opcode id="429B" name="OP_SpecialMesg" updated="08/12/09"> <comment>Communicate textual info to client</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0DDA" name="OP_RandomReq" updated="06/12/09"> + <opcode id="28A7" name="OP_RandomReq" updated="08/12/09"> <comment>old RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="5DBC" name="OP_ConsentResponse" updated="06/12/09"> + <opcode id="7113" name="OP_ConsentResponse" updated="08/12/09"> <comment>Server replying with consent information after /consent</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="771F" name="OP_DenyResponse" updated="06/12/09"> + <opcode id="1AC8" name="OP_DenyResponse" updated="08/12/09"> <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="50D0" name="OP_BazaarSearch" updated="06/12/09"> + <opcode id="60B5" name="OP_BazaarSearch" updated="08/12/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="2B9D" name="OP_WearChange" updated="08/12/09"> + <comment>old SpawnUpdateCode</comment> + <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> + </opcode> + <opcode id="03A9" name="OP_SpawnAppearance" updated="08/12/09"> + <comment>old SpawnAppearanceCode</comment> + <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> + </opcode> + <opcode id="52B5" name="OP_Stamina" updated="08/12/09"> + <comment>Server updating on hunger/thirst</comment> + <payload dir="server" typename="staminaStruct" sizechecktype="match"/> + </opcode> + <opcode id="7452" name="OP_Consider" updated="08/12/09"> + <comment>old ConsiderCode</comment> + <payload dir="both" typename="considerStruct" sizechecktype="match"/> + </opcode> + <opcode id="24A3" name="OP_ZoneChange" updated="08/12/09"> + <comment>old ZoneChangeCode</comment> + <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> + </opcode> + <opcode id="66C5" name="OP_Buff" updated="08/12/09"> + <comment>old BuffDropCode</comment> + <payload dir="both" typename="buffStruct" sizechecktype="match"/> + </opcode> + <opcode id="72F8" name="OP_Logout" updated="08/12/09"> + <comment></comment> + <payload dir="server" typename="none" sizechecktype="match"/> + </opcode> + + <opcode id="5251" name="OP_GroupInvite2" updated="06/12/09"> + <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"> + <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"/> @@ -153,18 +194,6 @@ <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="3969" name="OP_WearChange" updated="06/12/09"> - <comment>old SpawnUpdateCode</comment> - <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> - </opcode> - <opcode id="4843" name="OP_SpawnAppearance" updated="06/12/09"> - <comment>old SpawnAppearanceCode</comment> - <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> - </opcode> - <opcode id="70C6" name="OP_Stamina" updated="06/12/09"> - <comment>Server updating on hunger/thirst</comment> - <payload dir="server" typename="staminaStruct" sizechecktype="match"/> - </opcode> <opcode id="33E5" name="OP_ClickObject" updated="06/12/09"> <comment>old RemDropCode</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> @@ -178,34 +207,10 @@ <comment>old ActionCode</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="66C5" name="OP_Consider" updated="06/12/09"> - <comment>old ConsiderCode</comment> - <payload dir="both" typename="considerStruct" sizechecktype="match"/> - </opcode> - <opcode id="2EE2" name="OP_TargetMouse" updated="06/12/09"> - <comment>Targeting a person - old ClientTargetCode</comment> - <payload dir="both" typename="clientTargetStruct" 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="32A9" name="OP_ZoneChange" updated="06/12/09"> - <comment>old ZoneChangeCode</comment> - <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> - </opcode> - <opcode id="5251" name="OP_GroupInvite2" updated="06/12/09"> - <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> - <comment>You're inviting someone and you are grouped</comment> - </opcode> - <opcode id="5251" name="OP_GroupCancelInvite" updated="06/12/09"> - <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/> - <comment>Declining to join a group</comment> - </opcode> - <opcode id="7883" name="OP_Buff" updated="06/12/09"> - <comment>old BuffDropCode</comment> - <payload dir="both" typename="buffStruct" sizechecktype="match"/> - </opcode> <opcode id="71BF" name="OP_BuffFadeMsg" updated="06/12/09"> <comment>old SpellFadeCode</comment> <payload dir="both" typename="spellFadedStruct" sizechecktype="none"/> @@ -239,11 +244,6 @@ <comment>old CorpseLocCode:</comment> <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/> </opcode> - <opcode id="7705" name="OP_Logout" updated="06/12/09"> - <comment></comment> - <payload dir="server" typename="none" sizechecktype="match"/> - </opcode> - <opcode id="6022" name="OP_PlayerProfile" updated="01/17/08"> <comment>old CharProfileCode</comment> <payload dir="server" typename="charProfileStruct" sizechecktype="match"/> @@ -290,14 +290,14 @@ <!-- Not necessary for SEQ to run but here to name packets in logs. - Also unverified as of 12-1-2007. --> - <opcode id="71b9" name="OP_SendAATable" updated="03/14/07"> + <opcode id="7598" name="OP_SendAATable" updated="06/12/09"> <comment></comment> </opcode> - <opcode id="6f05" name="OP_SendAAStats" updated="03/14/07"> + <opcode id="1ce3" name="OP_SendAAStats" updated="06/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> Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2009-06-20 22:46:06 UTC (rev 733) +++ showeq/trunk/src/everquest.h 2009-08-17 00:06:27 UTC (rev 734) @@ -1555,19 +1555,38 @@ /* ** Channel Message received or sent -** Length: 148 Octets + Variable Length + 4 Octets +** Length: Variable ** OpCode: ChannelMessageCode + +This is how channelMessageStruct looks on the wire, for reference (8/12/09 eqgame.exe) + +char sender[0]; // Variable length senders name +char target[0]; // Variable length target characters name +uint32_t unknown; +uint32_t language; // Language +uint32_t chanNum; // Channel +uint32_t unknown; +uint8_t unknown; +uint32_t skillInLanguage; // senders skill in language +char message[0]; // Variable length message +uint8_t unknown; +uint32_t unknown; +uint32_t unknown; +char unknown[0]; // Variable legth unknown text +uint8_t unknown; +uint32_t unknown; + */ +// This will get filled with data from the serialized packet struct channelMessageStruct { -/*0000*/ char target[64]; // the target characters name -/*0064*/ char sender[64]; // The senders name -/*0128*/ uint32_t language; // Language -/*0132*/ uint32_t chanNum; // Channel -/*0136*/ int8_t unknown0136[8]; // ***Placeholder -/*0144*/ uint32_t skillInLanguage; // senders skill in language -/*0148*/ char message[0]; // Variable length message +/*0000*/ char sender[64]; +/*0064*/ char target[64]; +/*0128*/ uint32_t language; +/*0132*/ uint32_t chanNum; +/*0144*/ uint32_t skillInLanguage; +/*0148*/ char message[2048]; // Maximum message size according to eqgame.exe }; /* @@ -1710,14 +1729,6 @@ { /*0000*/ char invitee[64]; // Invitee's Name /*0064*/ char inviter[64]; // Inviter's Name -/*0128*/ uint8_t unknown0128[20]; // ***Placeholder -/*0148*/ -}; - -struct groupAltInviteStruct -{ -/*0000*/ char invitee[64]; // Invitee's Name -/*0064*/ char inviter[64]; // Inviter's Name /*0128*/ uint8_t unknown0128[24]; // ***Placeholder /*0152*/ }; Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2009-06-20 22:46:06 UTC (rev 733) +++ showeq/trunk/src/interface.cpp 2009-08-17 00:06:27 UTC (rev 734) @@ -1858,9 +1858,9 @@ m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Client, "groupInviteStruct", SZC_Match, m_messageShell, SLOT(groupInvite(const uint8_t*))); - m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Server, - "groupAltInviteStruct", SZC_Match, - m_messageShell, SLOT(groupInvite(const uint8_t*))); +// m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Server, +// "groupAltInviteStruct", SZC_Match, +// m_messageShell, SLOT(groupInvite(const uint8_t*))); m_packet->connect2("OP_GroupInvite2", SP_Zone, DIR_Client, "groupInviteStruct", SZC_Match, m_messageShell, SLOT(groupInvite(const uint8_t*))); @@ -1988,9 +1988,9 @@ m_packet->connect2("OP_Death", SP_Zone, DIR_Server, "newCorpseStruct", SZC_Match, m_spawnShell, SLOT(killSpawn(const uint8_t*))); - m_packet->connect2("OP_RespawnFromHover", SP_Zone, DIR_Server|DIR_Client, - "uint8_t", SZC_None, - m_spawnShell, SLOT(respawnFromHover(const uint8_t*, size_t, uint8_t))); +// m_packet->connect2("OP_RespawnFromHover", SP_Zone, DIR_Server|DIR_Client, +// "uint8_t", SZC_None, +// m_spawnShell, SLOT(respawnFromHover(const uint8_t*, size_t, uint8_t))); m_packet->connect2("OP_Shroud", SP_Zone, DIR_Server, "spawnShroudSelf", SZC_None, m_spawnShell, SLOT(shroudSpawn(const uint8_t*, size_t, uint8_t))); Modified: showeq/trunk/src/messageshell.cpp =================================================================== --- showeq/trunk/src/messageshell.cpp 2009-06-20 22:46:06 UTC (rev 733) +++ showeq/trunk/src/messageshell.cpp 2009-08-17 00:06:27 UTC (rev 734) @@ -19,6 +19,7 @@ #include "packetcommon.h" #include "filtermgr.h" #include "util.h" +#include "netstream.h" //---------------------------------------------------------------------- // MessageShell @@ -36,10 +37,42 @@ { } -void MessageShell::channelMessage(const uint8_t* data, size_t, uint8_t dir) +void MessageShell::channelMessage(const uint8_t* data, size_t len, uint8_t dir) { - const channelMessageStruct* cmsg = (const channelMessageStruct*)data; +// Added for 8/12/09 patch for serialized message packet ---------------------- + QString qTmp; + NetStream netStream(data, len); + channelMessageStruct *cmsg = new channelMessageStruct; + memset(cmsg, 0, sizeof(channelMessageStruct)); + + qTmp = netStream.readText(); // sender + + if(qTmp.length()) + strcpy(cmsg->sender, qTmp.latin1()); + + qTmp = netStream.readText(); // target + + if(qTmp.length()) + strcpy(cmsg->target, qTmp.latin1()); + + netStream.readUInt32(); // unknown + + cmsg->language = netStream.readUInt32NC(); // language + + cmsg->chanNum = netStream.readUInt32NC(); // channel + + netStream.readUInt32(); // unknown + netStream.readUInt8(); // unknown + + cmsg->skillInLanguage = netStream.readUInt32NC(); // skill + + qTmp = netStream.readText(); // message + if(qTmp.length()) + strcpy(cmsg->message, qTmp.latin1()); + +//----------------------------------------------------------------------------- + // 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)) @@ -93,6 +126,9 @@ } m_messages->addMessage((MessageType)cmsg->chanNum, tempStr); + + delete cmsg; + cmsg = 0; } static MessageType chatColor2MessageType(ChatColor chatColor) Modified: showeq/trunk/src/netstream.cpp =================================================================== --- showeq/trunk/src/netstream.cpp 2009-06-20 22:46:06 UTC (rev 733) +++ showeq/trunk/src/netstream.cpp 2009-08-17 00:06:27 UTC (rev 734) @@ -193,7 +193,7 @@ void NetStream::skipBytes(size_t byteCount) { - if ((m_lastPos - m_pos) >= byteCount) + if (uint32_t(m_lastPos - m_pos) >= byteCount) { m_pos += byteCount; } Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2009-06-20 22:46:06 UTC (rev 733) +++ showeq/trunk/src/spawnshell.cpp 2009-08-17 00:06:27 UTC (rev 734) @@ -630,7 +630,7 @@ spawn->isMercenary = netStream.readUInt8(); // unknowns - netStream.skipBytes(24); + netStream.skipBytes(28); // now we're at the end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-08-21 03:03:56
|
Revision: 735 http://seq.svn.sourceforge.net/seq/?rev=735&view=rev Author: ieatacid Date: 2009-08-21 03:03:49 +0000 (Fri, 21 Aug 2009) Log Message: ----------- Fixes for 8/12/09 Modified Paths: -------------- showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/s_everquest.h Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-08-17 00:06:27 UTC (rev 734) +++ showeq/trunk/conf/zoneopcodes.xml 2009-08-21 03:03:49 UTC (rev 735) @@ -291,12 +291,13 @@ <!-- Not necessary for SEQ to run but here to name packets in logs. --> - <opcode id="7598" name="OP_SendAATable" updated="06/12/09"> + <opcode id="3B85" name="OP_SendAATable" updated="08/12/09"> <comment></comment> </opcode> - <opcode id="1ce3" name="OP_SendAAStats" updated="06/12/09"> + <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> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-08-17 00:06:27 UTC (rev 734) +++ showeq/trunk/configure.in 2009-08-21 03:03:49 UTC (rev 735) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.5.0) +AC_INIT(showeq, 5.13.6.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/s_everquest.h =================================================================== --- showeq/trunk/src/s_everquest.h 2009-08-17 00:06:27 UTC (rev 734) +++ showeq/trunk/src/s_everquest.h 2009-08-21 03:03:49 UTC (rev 735) @@ -65,7 +65,6 @@ AddStruct(groupUpdateStruct); AddStruct(groupFullUpdateStruct); AddStruct(groupInviteStruct); -AddStruct(groupAltInviteStruct); AddStruct(groupDeclineStruct); AddStruct(groupFollowStruct); AddStruct(groupDisbandStruct); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-08-25 00:49:40
|
Revision: 737 http://seq.svn.sourceforge.net/seq/?rev=737&view=rev Author: ieatacid Date: 2009-08-25 00:49:31 +0000 (Tue, 25 Aug 2009) Log Message: ----------- Fixed buffer overflow in interface.cpp Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/interface.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-08-21 03:20:30 UTC (rev 736) +++ showeq/trunk/ChangeLog 2009-08-25 00:49:31 UTC (rev 737) @@ -1,3 +1,15 @@ +ieatacid (8/24/09) +----------------- +- Updated version to 5.13.6.1 +- Fixed buffer overflow in interface.cpp + +ieatacid (8/20/09) +----------------- +- Updated version to 5.13.6 +- Updated opcodes +- Updated structs +- Updated source code where necessary + ieatacid (6/20/09) ----------------- - Updated version to 5.13.5 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-08-21 03:20:30 UTC (rev 736) +++ showeq/trunk/configure.in 2009-08-25 00:49:31 UTC (rev 737) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.6.0) +AC_INIT(showeq, 5.13.6.1) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2009-08-21 03:20:30 UTC (rev 736) +++ showeq/trunk/src/interface.cpp 2009-08-25 00:49:31 UTC (rev 737) @@ -4304,7 +4304,7 @@ { if (m_stsbarExp) { - char expperc[5]; + char expperc[32]; sprintf(expperc, "%.2f", totalTick*100.0/330.0); m_stsbarExp->setText(QString("Exp: %1 (%2/330, %3%)") @@ -4333,7 +4333,7 @@ if (m_stsbarExp) { - char expperc[5]; + char expperc[32]; sprintf(expperc, "%.2f", totalTick*100.0/330.0); m_stsbarExp->setText(QString("Exp: %1 (%2/330, %3%)") @@ -4350,7 +4350,7 @@ if (m_stsbarExp) { - char expperc[5]; + char expperc[32]; sprintf(expperc, "%.2f", totalTick*100.0/330.0); m_stsbarExp->setText(QString("Exp: %1 (%2/330, %3%)") @@ -4374,7 +4374,7 @@ { if (m_stsbarExpAA) { - char aaperc[5]; + char aaperc[32]; sprintf(aaperc, "%.2f", totalTick*100.0/330.0); m_stsbarExpAA->setText(QString("ExpAA: %1 (%2/330, %3%)") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-09-17 02:17:54
|
Revision: 739 http://seq.svn.sourceforge.net/seq/?rev=739&view=rev Author: ieatacid Date: 2009-09-17 02:17:45 +0000 (Thu, 17 Sep 2009) Log Message: ----------- + Updated opcodes for 9/15 patch + Fixed group invite message code + Version to 5.13.7 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/interface.cpp showeq/trunk/src/messageshell.cpp showeq/trunk/src/messageshell.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-08-25 00:51:03 UTC (rev 738) +++ showeq/trunk/ChangeLog 2009-09-17 02:17:45 UTC (rev 739) @@ -1,3 +1,9 @@ +ieatacid (9/16/09) +----------------- +- Updated version to 5.13.7 +- Opcodes updated +- Group invite message code fixed (I hope) + ieatacid (8/24/09) ----------------- - Updated version to 5.13.6.1 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-08-25 00:51:03 UTC (rev 738) +++ showeq/trunk/conf/zoneopcodes.xml 2009-09-17 02:17:45 UTC (rev 739) @@ -5,162 +5,162 @@ <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="6A86" name="OP_NpcMoveUpdate" updated="08/12/09"> + <opcode id="654F" name="OP_NpcMoveUpdate" updated="09/15/09"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4B05" name="OP_MovementHistory" updated="08/12/09"> + <opcode id="4B7B" name="OP_MovementHistory" updated="09/15/09"> <comment></comment> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4315" name="OP_DeleteSpawn" updated="08/12/09"> + <opcode id="21BE" name="OP_DeleteSpawn" updated="09/15/09"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="3AD9" name="OP_ZoneEntry" updated="08/12/09"> + <opcode id="538F" name="OP_ZoneEntry" updated="09/15/09"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="35B1" name="OP_GuildMOTD" updated="08/12/09"> + <opcode id="3088" name="OP_GuildMOTD" updated="09/15/09"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="0FF4" name="OP_InspectAnswer" updated="08/12/09"> + <opcode id="2370" name="OP_InspectAnswer" updated="09/15/09"> <comment>old InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="6967" name="OP_SendZonePoints" updated="08/12/09"> + <opcode id="0FF4" name="OP_SendZonePoints" updated="09/15/09"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="41A6" name="OP_TargetMouse" updated="08/12/09"> + <opcode id="36F8" name="OP_TargetMouse" updated="09/15/09"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="666D" name="OP_Shroud" updated="08/12/09"> + <opcode id="4A20" name="OP_Shroud" updated="09/15/09"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="390C" name="OP_GroupFollow" updated="08/12/09"> + <opcode id="0786" name="OP_GroupFollow" updated="09/15/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>You join a group</comment> </opcode> - <opcode id="49F6" name="OP_GroupFollow2" updated="08/12/09"> + <opcode id="0C33" name="OP_GroupFollow2" updated="09/15/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>Player joins your group</comment> </opcode> - <opcode id="59A8" name="OP_GroupUpdate" updated="08/12/09"> + <opcode id="5331" name="OP_GroupUpdate" updated="09/15/09"> <payload dir="server" typename="uint8_t" sizechecktype="none"/> <comment>Variable length packet with group member names</comment> </opcode> - <opcode id="0786" name="OP_GroupDisband" updated="08/12/09"> + <opcode id="4717" name="OP_GroupDisband" updated="09/15/09"> <comment>You disband from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="C56C" name="OP_GroupDisband2" updated="08/12/09"> + <opcode id="4481" name="OP_GroupDisband2" updated="09/15/09"> <comment>Other disbands from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="4481" name="OP_GroupLeader" updated="08/12/09"> + <opcode id="6B67" name="OP_GroupLeader" updated="09/15/09"> <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="3841" name="OP_DzSwitchInfo" updated="08/12/09"> + <opcode id="0EFC" name="OP_DzSwitchInfo" updated="09/15/09"> <comment></comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="1875" name="OP_DzInfo" updated="08/12/09"> + <opcode id="1879" name="OP_DzInfo" updated="09/15/09"> <comment></comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> - <opcode id="48B8" name="OP_FormattedMessage" updated="08/12/09"> + <opcode id="0A18" name="OP_FormattedMessage" updated="09/15/09"> <comment>old FormattedMessageCode</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="1AC1" name="OP_SpawnDoor" updated="08/12/09"> + <opcode id="47AE" name="OP_SpawnDoor" updated="09/15/09"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="38D1" name="OP_AAExpUpdate" updated="08/12/09"> + <opcode id="3CD6" name="OP_AAExpUpdate" updated="09/15/09"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5821" name="OP_HPUpdate" updated="08/12/09"> + <opcode id="4938" name="OP_HPUpdate" updated="09/15/09"> <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="16F5" name="OP_GuildMemberUpdate" updated="08/12/09"> + <opcode id="15B2" name="OP_GuildMemberUpdate" updated="09/15/09"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="37A7" name="OP_SpawnRename" updated="08/12/09"> + <opcode id="1318" name="OP_SpawnRename" updated="09/15/09"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="099D" name="OP_GroupInvited" updated="08/12/09"> + <!--<opcode id="5251" 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="389A" name="OP_GroupInvite" updated="09/15/09"> + <payload dir="both" typename="groupInviteStruct" sizechecktype="none"/> + <comment>You invite or get invited</comment> </opcode> - <opcode id="7930" name="OP_GroupInvite" updated="08/12/09"> - <payload dir="client" typename="groupInviteStruct" sizechecktype="match"/> - <comment>You're inviting someone and you're not grouped</comment> - </opcode> - <opcode id="1497" name="OP_SwapSpell" updated="08/12/09"> + <opcode id="73D6" name="OP_SwapSpell" updated="09/15/09"> <comment>old TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="6884" name="OP_SimpleMessage" updated="08/12/09"> + <opcode id="2137" name="OP_SimpleMessage" updated="09/15/09"> <comment>old SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="429B" name="OP_SpecialMesg" updated="08/12/09"> + <opcode id="14FF" name="OP_SpecialMesg" updated="09/15/09"> <comment>Communicate textual info to client</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="28A7" name="OP_RandomReq" updated="08/12/09"> + <opcode id="86C7" name="OP_RandomReq" updated="09/15/09"> <comment>old RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="7113" name="OP_ConsentResponse" updated="08/12/09"> + <opcode id="0E24" name="OP_ConsentResponse" updated="09/15/09"> <comment>Server replying with consent information after /consent</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="1AC8" name="OP_DenyResponse" updated="08/12/09"> + <opcode id="4CD1" name="OP_DenyResponse" updated="09/15/09"> <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="60B5" name="OP_BazaarSearch" updated="08/12/09"> + <opcode id="3B85" name="OP_BazaarSearch" updated="09/15/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="2B9D" name="OP_WearChange" updated="08/12/09"> + <opcode id="1F92" name="OP_WearChange" updated="09/15/09"> <comment>old SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="03A9" name="OP_SpawnAppearance" updated="08/12/09"> + <opcode id="4B1A" name="OP_SpawnAppearance" updated="09/15/09"> <comment>old SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="52B5" name="OP_Stamina" updated="08/12/09"> + <opcode id="72F8" name="OP_Stamina" updated="09/15/09"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="7452" name="OP_Consider" updated="08/12/09"> + <opcode id="48B8" name="OP_Consider" updated="09/15/09"> <comment>old ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="24A3" name="OP_ZoneChange" updated="08/12/09"> + <opcode id="4A61" name="OP_ZoneChange" updated="09/15/09"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="66C5" name="OP_Buff" updated="08/12/09"> + <opcode id="2963" name="OP_Buff" updated="09/15/09"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="72F8" name="OP_Logout" updated="08/12/09"> + <opcode id="3D86" name="OP_Logout" updated="09/15/09"> <comment></comment> <payload dir="server" typename="none" sizechecktype="match"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-08-25 00:51:03 UTC (rev 738) +++ showeq/trunk/configure.in 2009-09-17 02:17:45 UTC (rev 739) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.6.1) +AC_INIT(showeq, 5.13.7.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2009-08-25 00:51:03 UTC (rev 738) +++ showeq/trunk/src/interface.cpp 2009-09-17 02:17:45 UTC (rev 739) @@ -1855,9 +1855,9 @@ // m_packet->connect2("OP_GroupUpdate", SP_Zone, DIR_Server, // "groupUpdateStruct", SZC_None, // m_messageShell, SLOT(groupUpdate(const uint8_t*, size_t, uint8_t))); - m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Client, - "groupInviteStruct", SZC_Match, - m_messageShell, SLOT(groupInvite(const uint8_t*))); + m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Client|DIR_Server, + "groupInviteStruct", SZC_None, + m_messageShell, SLOT(groupInvite(const uint8_t*, size_t, uint8_t))); // m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Server, // "groupAltInviteStruct", SZC_Match, // m_messageShell, SLOT(groupInvite(const uint8_t*))); Modified: showeq/trunk/src/messageshell.cpp =================================================================== --- showeq/trunk/src/messageshell.cpp 2009-08-25 00:51:03 UTC (rev 738) +++ showeq/trunk/src/messageshell.cpp 2009-09-17 02:17:45 UTC (rev 739) @@ -680,12 +680,16 @@ m_messages->addMessage(MT_Group, tempStr); } -void MessageShell::groupInvite(const uint8_t* data) +void MessageShell::groupInvite(const uint8_t* data, size_t len, uint8_t dir) { const groupInviteStruct* gmem = (const groupInviteStruct*)data; QString tempStr; - tempStr.sprintf("Invite: %s invites %s to join the group", - gmem->inviter, gmem->invitee); + + if(dir == DIR_Client) + tempStr.sprintf("Invite: You invite %s to join the group", gmem->invitee); + else + tempStr.sprintf("Invite: %s invites %s to join the group", gmem->inviter, gmem->invitee); + m_messages->addMessage(MT_Group, tempStr); } Modified: showeq/trunk/src/messageshell.h =================================================================== --- showeq/trunk/src/messageshell.h 2009-08-25 00:51:03 UTC (rev 738) +++ showeq/trunk/src/messageshell.h 2009-09-17 02:17:45 UTC (rev 739) @@ -76,7 +76,7 @@ void startCast(const uint8_t* cast); void groupUpdate(const uint8_t* gmem, size_t, uint8_t); - void groupInvite(const uint8_t* gmem); + void groupInvite(const uint8_t* gmem, size_t, uint8_t); void groupDecline(const uint8_t* gmem); void groupFollow(const uint8_t* gmem); void groupDisband(const uint8_t* gmem); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-10-26 21:14:24
|
Revision: 742 http://seq.svn.sourceforge.net/seq/?rev=742&view=rev Author: ieatacid Date: 2009-10-26 21:14:06 +0000 (Mon, 26 Oct 2009) Log Message: ----------- Updated opcodes and spawnIllusionStruct Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-09-20 00:43:42 UTC (rev 741) +++ showeq/trunk/ChangeLog 2009-10-26 21:14:06 UTC (rev 742) @@ -1,3 +1,9 @@ +ieatacid (10/26/09) +----------------- +- Updated version to 5.13.8 +- Updated opcodes +- Updated spawnIllusionStruct + ieatacid (9/16/09) ----------------- - Updated version to 5.13.7 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-09-20 00:43:42 UTC (rev 741) +++ showeq/trunk/conf/zoneopcodes.xml 2009-10-26 21:14:06 UTC (rev 742) @@ -5,96 +5,96 @@ <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="654F" name="OP_NpcMoveUpdate" updated="09/15/09"> + <opcode id="292F" name="OP_NpcMoveUpdate" updated="10/21/09"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4B7B" name="OP_MovementHistory" updated="09/15/09"> + <opcode id="09B4" name="OP_MovementHistory" updated="10/21/09"> <comment></comment> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="21BE" name="OP_DeleteSpawn" updated="09/15/09"> + <opcode id="63F8" name="OP_DeleteSpawn" updated="10/21/09"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="538F" name="OP_ZoneEntry" updated="09/15/09"> + <opcode id="4B61" name="OP_ZoneEntry" updated="10/21/09"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3088" name="OP_GuildMOTD" updated="09/15/09"> + <opcode id="5658" name="OP_GuildMOTD" updated="10/21/09"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="2370" name="OP_InspectAnswer" updated="09/15/09"> + <opcode id="0C2B" name="OP_InspectAnswer" updated="10/21/09"> <comment>old InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="0FF4" name="OP_SendZonePoints" updated="09/15/09"> + <opcode id="2370" 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="36F8" name="OP_TargetMouse" updated="09/15/09"> + <opcode id="5F5E" name="OP_TargetMouse" updated="10/21/09"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="4A20" name="OP_Shroud" updated="09/15/09"> + <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="0786" name="OP_GroupFollow" updated="09/15/09"> + <opcode id="1715" name="OP_GroupFollow" updated="10/21/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>You join a group</comment> </opcode> - <opcode id="0C33" name="OP_GroupFollow2" updated="09/15/09"> + <opcode id="59A8" name="OP_GroupFollow2" updated="10/21/09"> <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/> <comment>Player joins your group</comment> </opcode> - <opcode id="5331" name="OP_GroupUpdate" updated="09/15/09"> + <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="4717" name="OP_GroupDisband" updated="09/15/09"> + <opcode id="0BFD" name="OP_GroupDisband" updated="10/21/09"> <comment>You disband from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="4481" name="OP_GroupDisband2" updated="09/15/09"> + <opcode id="08C3" name="OP_GroupDisband2" updated="10/21/09"> <comment>Other disbands from group</comment> <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="6B67" name="OP_GroupLeader" updated="09/15/09"> + <opcode id="49F6" name="OP_GroupLeader" updated="10/21/09"> <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="0EFC" name="OP_DzSwitchInfo" updated="09/15/09"> + <opcode id="3BDD" name="OP_DzSwitchInfo" updated="10/21/09"> <comment></comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="1879" name="OP_DzInfo" updated="09/15/09"> + <opcode id="4C14" name="OP_DzInfo" updated="10/21/09"> <comment></comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> - <opcode id="0A18" name="OP_FormattedMessage" updated="09/15/09"> + <opcode id="3B52" name="OP_FormattedMessage" updated="10/21/09"> <comment>old FormattedMessageCode</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="47AE" name="OP_SpawnDoor" updated="09/15/09"> + <opcode id="6F2B" name="OP_SpawnDoor" updated="10/21/09"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="3CD6" name="OP_AAExpUpdate" updated="09/15/09"> + <opcode id="4AA2" 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="4938" name="OP_HPUpdate" updated="09/15/09"> + <opcode id="6145" name="OP_HPUpdate" updated="10/21/09"> <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="15B2" name="OP_GuildMemberUpdate" updated="09/15/09"> + <opcode id="0A53" name="OP_GuildMemberUpdate" updated="10/21/09"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="1318" name="OP_SpawnRename" updated="09/15/09"> + <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> @@ -102,65 +102,65 @@ <payload dir="server" typename="groupInviteStruct" sizechecktype="match"/> <comment>You got invited to a group</comment> </opcode>--> - <opcode id="389A" name="OP_GroupInvite" updated="09/15/09"> + <opcode id="5251" name="OP_GroupInvite" updated="10/21/09"> <payload dir="both" typename="groupInviteStruct" sizechecktype="none"/> <comment>You invite or get invited</comment> </opcode> - <opcode id="73D6" name="OP_SwapSpell" updated="09/15/09"> + <opcode id="5805" name="OP_SwapSpell" updated="10/21/09"> <comment>old TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="2137" name="OP_SimpleMessage" updated="09/15/09"> + <opcode id="1F4D" name="OP_SimpleMessage" updated="10/21/09"> <comment>old SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="14FF" name="OP_SpecialMesg" updated="09/15/09"> + <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="86C7" name="OP_RandomReq" updated="09/15/09"> + <opcode id="139D" name="OP_RandomReq" updated="10/21/09"> <comment>old RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="0E24" name="OP_ConsentResponse" updated="09/15/09"> + <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="4CD1" name="OP_DenyResponse" updated="09/15/09"> + <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="3B85" name="OP_BazaarSearch" updated="09/15/09"> + <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="1F92" name="OP_WearChange" updated="09/15/09"> + <opcode id="0400" name="OP_WearChange" updated="10/21/09"> <comment>old SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="4B1A" name="OP_SpawnAppearance" updated="09/15/09"> + <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="09/15/09"> + <opcode id="3D86" name="OP_Stamina" updated="10/21/09"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="3A18" name="OP_Consider" updated="09/15/09"> + <opcode id="3C2D" name="OP_Consider" updated="10/21/09"> <comment>old ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="4A61" name="OP_ZoneChange" updated="09/15/09"> + <opcode id="6D37" name="OP_ZoneChange" updated="10/21/09"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="2963" name="OP_Buff" updated="09/15/09"> + <opcode id="0D1D" name="OP_Buff" updated="10/21/09"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="3D86" name="OP_Logout" updated="09/15/09"> + <opcode id="2EE2" name="OP_Logout" updated="10/21/09"> <comment></comment> <payload dir="server" typename="none" sizechecktype="match"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-09-20 00:43:42 UTC (rev 741) +++ showeq/trunk/configure.in 2009-10-26 21:14:06 UTC (rev 742) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.7.0) +AC_INIT(showeq, 5.13.8.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2009-09-20 00:43:42 UTC (rev 741) +++ showeq/trunk/src/everquest.h 2009-10-26 21:14:06 UTC (rev 742) @@ -1453,10 +1453,11 @@ /*0072*/ uint8_t gender; // New gender (0=male, 1=female) /*0073*/ uint8_t texture; // ??? /*0074*/ uint8_t helm; // ??? -/*0075*/ uint8_t unknown0077; // ***Placeholder -/*0076*/ uint32_t face; // New face -/*0080*/ uint8_t unknown0080[176]; // ***Placeholder -/*0256*/ +/*0075*/ uint8_t unknown0075; // ***Placeholder +/*0076*/ uint32_t unknown0076; // ***Placeholder +/*0080*/ uint32_t face; // New face +/*0084*/ uint8_t unknown0084[176]; // ***Placeholder +/*0260*/ }; /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-12-20 18:28:47
|
Revision: 744 http://seq.svn.sourceforge.net/seq/?rev=744&view=rev Author: ieatacid Date: 2009-12-20 18:28:40 +0000 (Sun, 20 Dec 2009) Log Message: ----------- charProfile updated + New zones added + New races added + New item codes added + Version to 5.13.9 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/races.h showeq/trunk/src/spawn.cpp showeq/trunk/src/weapons2c.h showeq/trunk/src/zones.h Added Paths: ----------- showeq/trunk/src/weapons2d.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-10-26 21:52:38 UTC (rev 743) +++ showeq/trunk/ChangeLog 2009-12-20 18:28:40 UTC (rev 744) @@ -1,3 +1,10 @@ +ieatacid (12/20/09) +----------------- +- Updated version to 5.13.9 +- Updated charProfile struct +- New zones added to zones.h +- New races and item codes added (uRit1u2CBBA) + ieatacid (10/26/09) ----------------- - Updated version to 5.13.8 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-10-26 21:52:38 UTC (rev 743) +++ showeq/trunk/configure.in 2009-12-20 18:28:40 UTC (rev 744) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.8.0) +AC_INIT(showeq, 5.13.9.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2009-10-26 21:52:38 UTC (rev 743) +++ showeq/trunk/src/everquest.h 2009-12-20 18:28:40 UTC (rev 744) @@ -102,14 +102,14 @@ //Maximum limits of certain types of data #define MAX_KNOWN_SKILLS 100 -#define MAX_SPELL_SLOTS 10 +#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 1500 #define MAX_AA 300 -#define MAX_BANDOLIERS 20 +#define MAX_BANDOLIERS 20 #define MAX_POTIONS_IN_BELT 5 #define MAX_TRIBUTES 5 #define MAX_DISCIPLINES 100 @@ -425,7 +425,7 @@ /* ** Buffs -** Length: 24 Octets +** Length: 28 Octets ** Used in: ** charProfileStruct(07012) */ @@ -440,7 +440,8 @@ /*0012*/ int32_t effect; // holds the dmg absorb amount on runes /*0016*/ uint8_t unknown0016[4]; // *** this might need to be swapped with playerId /*0020*/ uint32_t playerId; // Global id of caster (for wear off) -/*0024*/ +/*0024*/ uint8_t unknown0024[4]; +/*0028*/ }; @@ -606,7 +607,8 @@ /*0920*/ uint8_t unknown0920[4]; // *** Placeholder (01/17/2008) /*0924*/ uint8_t unknown0924[4]; // *** Placeholder (09/03/2008) /*0928*/ uint8_t unknown0928[4]; // *** Placeholder (10/07/2008) -/*0932*/ +/*0932*/ uint8_t unknown0932[8]; // *** Placeholder (11/04/2009) +/*0940*/ }; /* @@ -691,7 +693,7 @@ /*04189*/ uint8_t unknown04189[175]; /*04364*/ int32_t sSpellBook[720]; // List of the Spells in spellbook /*07244*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized -/*07284*/ uint8_t unknown07284[28]; +/*07292*/ uint8_t unknown07292[20]; /*07312*/ uint32_t platinum; // Platinum Pieces on player /*07316*/ uint32_t gold; // Gold Pieces on player /*07320*/ uint32_t silver; // Silver Pieces on player @@ -702,22 +704,25 @@ /*07340*/ uint32_t copper_cursor; // Copper Pieces on cursor /*07344*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills /*07744*/ uint32_t innateSkills[25]; -/*07844*/ uint8_t unknown07844[36]; -/*07880*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) -/*07884*/ uint32_t thirst; // Drink (ticks till next drink) -/*07888*/ uint32_t hunger; // Food (ticks till next eat) +/*07844*/ uint8_t unknown07844[16]; +/*07860*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) +/*07864*/ uint32_t thirst; // Drink (ticks till next drink) +/*07868*/ uint32_t hunger; // Food (ticks till next eat) +/*07872*/ uint8_t unknown07872[20]; /*07892*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player -/*08612*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines -/*09012*/ uint8_t unknown09012[560]; -/*09572*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) -/*09652*/ uint32_t endurance; // Current endurance -/*09656*/ uint32_t aa_spent; // Number of spent AA points -/*09660*/ uint32_t aa_unspent; // Unspent AA points -/*09664*/ uint8_t unknown09664[4]; -/*09668*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents -/*16068*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt -/*16428*/ uint8_t unknown16428[92]; -/*16520*/ +/*08732*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines +/*09132*/ uint8_t unknown09132[560]; +/*09692*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) +/*09772*/ uint32_t endurance; // Current endurance +/*09776*/ uint32_t aa_spent; // Number of spent AA points (including glyphs) +/*09780*/ uint32_t aa_assigned; // Number of points currently assigned to AAs +/*09784*/ uint32_t unknown09784[4]; +/*09800*/ uint32_t aa_unspent; // Unspent AA points +/*09804*/ uint8_t unknown09804[4]; +/*09808*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents +/*16208*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt +/*16568*/ uint8_t unknown16568[92]; +/*16660*/ }; /* @@ -729,81 +734,81 @@ { /*00000*/ uint32_t checksum; // /*00004*/ playerProfileStruct profile; // Profile -/*16520*/ char name[64]; // Name of player -/*16584*/ char lastName[32]; // Last name of player -/*16616*/ uint8_t unknown16616[12]; //***Placeholder (1/18/2006) -/*16628*/ int32_t guildID; // guildID -/*16632*/ uint32_t birthdayTime; // character birthday -/*16636*/ uint32_t lastSaveTime; // character last save time -/*16640*/ uint32_t timePlayedMin; // time character played -/*16644*/ uint8_t unknown16644[4]; -/*16648*/ uint8_t pvp; // 1=pvp, 0=not pvp -/*16649*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon -/*16650*/ uint8_t gm; // 0=no, 1=yes (guessing!) -/*16651*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader -/*16652*/ uint8_t unknown16652[8]; -/*16660*/ uint32_t exp; // Current Experience -/*16664*/ uint8_t unknown16664[12]; -/*16676*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages -/*16701*/ uint8_t unknown16701[7]; // All 0x00 (language buffer?) -/*16708*/ float y; // Players y position -/*16712*/ float x; // Players x position -/*16716*/ float z; // Players z position -/*16720*/ float heading; // Players heading -/*16724*/ uint32_t standState; // 0x64 = stand -/*16728*/ uint32_t platinum_bank; // Platinum Pieces in Bank -/*16732*/ uint32_t gold_bank; // Gold Pieces in Bank -/*16736*/ uint32_t silver_bank; // Silver Pieces in Bank -/*16740*/ uint32_t copper_bank; // Copper Pieces in Bank -/*16744*/ uint32_t platinum_shared; // Shared platinum pieces -/*16748*/ uint8_t unknown16748[1036]; -/*17784*/ uint32_t expansions; // Bitmask for expansions -/*17788*/ uint8_t unknown17788[12]; -/*17800*/ uint32_t autosplit; // 0 = off, 1 = on -/*17804*/ uint8_t unknown17804[16]; -/*17820*/ uint16_t zoneId; // see zones.h -/*17822*/ uint16_t zoneInstance; // Instance id -/*17824*/ uint8_t unknown17824[800]; -/*18624*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on -/*18628*/ uint8_t unknown18628[4]; -/*18632*/ uint32_t ldon_guk_points; // Earned GUK points -/*18636*/ uint32_t ldon_mir_points; // Earned MIR points -/*18640*/ uint32_t ldon_mmc_points; // Earned MMC points -/*18644*/ uint32_t ldon_ruj_points; // Earned RUJ points -/*18648*/ uint32_t ldon_tak_points; // Earned TAK points -/*18652*/ uint32_t ldon_avail_points; // Available LDON points -/*18656*/ uint8_t unknown18656[136]; -/*18792*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) -/*18796*/ uint32_t careerTribute; // Total favor points for this char -/*18800*/ uint32_t unknown18800; // *** Placeholder -/*18804*/ uint32_t currentTribute; // Current tribute points -/*18808*/ uint32_t unknown18808; // *** Placeholder -/*18812*/ uint32_t tributeActive; // 0 = off, 1=on -/*18816*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout -/*18856*/ uint8_t unknown18856[4]; -/*18860*/ float expGroupLeadAA; // Current group lead exp points -/*18864*/ uint32_t unknown18864; -/*18868*/ float expRaidLeadAA; // Current raid lead AA exp points -/*18872*/ uint32_t unknown18872; -/*18876*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points -/*18880*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points -/*18884*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks -/*19012*/ uint8_t unknown19012[128]; -/*19140*/ uint32_t airRemaining; // Air supply (seconds) -/*19144*/ uint8_t unknown19144[4608]; -/*23752*/ uint32_t expAA; // Exp earned in current AA point -/*23756*/ uint8_t unknown23756[40]; -/*23796*/ uint32_t currentRadCrystals; // Current count of radiant crystals -/*23800*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever -/*23804*/ uint32_t currentEbonCrystals;// Current count of ebon crystals -/*23808*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever -/*23812*/ uint8_t groupAutoconsent; // 0=off, 1=on -/*23813*/ uint8_t raidAutoconsent; // 0=off, 1=on -/*23814*/ uint8_t guildAutoconsent; // 0=off, 1=on -/*23815*/ uint8_t unknown23815[5]; // ***Placeholder (6/29/2005) -/*23820*/ uint32_t showhelm; // 0=no, 1=yes -/*23824*/ uint8_t unknown23824[1032]; // ***Placeholder (2/13/2007) -/*24856*/ +/*16660*/ char name[64]; // Name of player +/*16724*/ char lastName[32]; // Last name of player +/*16756*/ uint8_t unknown16756[8]; //***Placeholder (1/18/2006) +/*16764*/ int32_t guildID; // guildID +/*16768*/ uint32_t birthdayTime; // character birthday +/*16772*/ uint32_t lastSaveTime; // character last save time +/*16776*/ uint32_t timePlayedMin; // time character played +/*16780*/ uint8_t unknown16780[4]; +/*16784*/ uint8_t pvp; // 1=pvp, 0=not pvp +/*16785*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon +/*16786*/ uint8_t gm; // 0=no, 1=yes (guessing!) +/*16787*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader +/*16788*/ uint8_t unknown16788[8]; +/*16796*/ uint32_t exp; // Current Experience +/*16800*/ uint8_t unknown16800[12]; +/*16812*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages +/*16837*/ uint8_t unknown16837[7]; // All 0x00 (language buffer?) +/*16844*/ float y; // Players y position +/*16848*/ float x; // Players x position +/*16852*/ float z; // Players z position +/*16856*/ float heading; // Players heading +/*16860*/ uint32_t standState; // 0x64 = stand +/*16864*/ uint32_t platinum_bank; // Platinum Pieces in Bank +/*16868*/ uint32_t gold_bank; // Gold Pieces in Bank +/*16872*/ uint32_t silver_bank; // Silver Pieces in Bank +/*16876*/ uint32_t copper_bank; // Copper Pieces in Bank +/*16880*/ uint32_t platinum_shared; // Shared platinum pieces +/*16884*/ uint8_t unknown16884[1036]; +/*17920*/ uint32_t expansions; // Bitmask for expansions +/*17924*/ uint8_t unknown17924[12]; +/*17936*/ uint32_t autosplit; // 0 = off, 1 = on +/*17940*/ uint8_t unknown17940[16]; +/*17956*/ uint16_t zoneId; // see zones.h +/*17958*/ uint16_t zoneInstance; // Instance id +/*17960*/ uint8_t unknown17960[992]; +/*18952*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on +/*18956*/ uint8_t unknown18956[4]; +/*18960*/ uint32_t ldon_guk_points; // Earned GUK points +/*18964*/ uint32_t ldon_mir_points; // Earned MIR points +/*18968*/ uint32_t ldon_mmc_points; // Earned MMC points +/*18972*/ uint32_t ldon_ruj_points; // Earned RUJ points +/*18976*/ uint32_t ldon_tak_points; // Earned TAK points +/*18980*/ uint32_t ldon_avail_points; // Available LDON points +/*18984*/ uint8_t unknown18984[136]; +/*19120*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) +/*19124*/ uint32_t careerTribute; // Total favor points for this char +/*19128*/ uint32_t unknown18800; // *** Placeholder +/*19132*/ uint32_t currentTribute; // Current tribute points +/*19136*/ uint32_t unknown19136; // *** Placeholder +/*19140*/ uint32_t tributeActive; // 0 = off, 1=on +/*19144*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout +/*19184*/ uint8_t unknown19184[4]; +/*19188*/ float expGroupLeadAA; // Current group lead exp points +/*19192*/ uint32_t unknown19192; +/*19196*/ float expRaidLeadAA; // Current raid lead AA exp points +/*19200*/ uint32_t unknown19200; +/*19204*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points +/*19208*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points +/*19212*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks +/*19340*/ uint8_t unknown19340[128]; +/*19468*/ uint32_t airRemaining; // Air supply (seconds) +/*19472*/ uint8_t unknown19144[4608]; +/*24080*/ uint32_t expAA; // Exp earned in current AA point +/*24084*/ uint8_t unknown24084[40]; +/*24124*/ uint32_t currentRadCrystals; // Current count of radiant crystals +/*24128*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever +/*24132*/ uint32_t currentEbonCrystals;// Current count of ebon crystals +/*24136*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever +/*24140*/ uint8_t groupAutoconsent; // 0=off, 1=on +/*24141*/ uint8_t raidAutoconsent; // 0=off, 1=on +/*24142*/ uint8_t guildAutoconsent; // 0=off, 1=on +/*24143*/ uint8_t unknown24143[5]; // ***Placeholder (6/29/2005) +/*24148*/ uint32_t showhelm; // 0=no, 1=yes +/*24152*/ uint8_t unknown24152[1032]; // ***Placeholder (2/13/2007) +/*25184*/ }; #if 0 Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2009-10-26 21:52:38 UTC (rev 743) +++ showeq/trunk/src/interface.cpp 2009-12-20 18:28:40 UTC (rev 744) @@ -1856,14 +1856,14 @@ // "groupUpdateStruct", SZC_None, // m_messageShell, SLOT(groupUpdate(const uint8_t*, size_t, uint8_t))); m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Client|DIR_Server, - "groupInviteStruct", SZC_None, - m_messageShell, SLOT(groupInvite(const uint8_t*, size_t, uint8_t))); + "groupInviteStruct", SZC_None, + m_messageShell, SLOT(groupInvite(const uint8_t*, size_t, uint8_t))); // m_packet->connect2("OP_GroupInvite", SP_Zone, DIR_Server, // "groupAltInviteStruct", SZC_Match, // m_messageShell, SLOT(groupInvite(const uint8_t*))); m_packet->connect2("OP_GroupInvite2", SP_Zone, DIR_Client, "groupInviteStruct", SZC_Match, - m_messageShell, SLOT(groupInvite(const uint8_t*))); + m_messageShell, SLOT(groupInvite(const uint8_t*, size_t, uint8_t))); m_packet->connect2("OP_GroupFollow", SP_Zone, DIR_Server, "groupFollowStruct", SZC_Match, m_messageShell, SLOT(groupFollow(const uint8_t*))); Modified: showeq/trunk/src/races.h =================================================================== --- showeq/trunk/src/races.h 2009-10-26 21:52:38 UTC (rev 743) +++ showeq/trunk/src/races.h 2009-12-20 18:28:40 UTC (rev 744) @@ -630,7 +630,34 @@ "Wagon", // 621 "God of Discord", // 622 "Wrulon Mount", // 623 - "UNKNOWN RACE", // 624 + "Ogre NPC - Male", // 624 "Sokokar Mount", // 625 - "UNKNOWN RACE", // 626 + "Giant (Rallosian mats)", // 626 + "Sokokar (w saddle)", // 627 + "10th Anniversary Banner", // 628 + "10th Anniversary Cake", // 629 + "Wine Cask", // 630 + "Hydra Mount", // 631 + "Hydra NPC", // 632 + "Wedding Flowers", // 633 + "Wedding Arbor", // 634 + "Wedding Altar", // 635 + "Powder Keg", // 636 + "Apexus", // 637 + "Bellikos", // 638 + "Brell's First Creation", // 639 + "Brell", // 640 + "Crystalskin Ambuloid", // 641 + "Cliknar Queen", // 642 + "Cliknar Soldier", // 643 + "Cliknar Worker", // 644 + "Coldain", // 645 + "Coldain", // 646 + "Crystalskin Sessiloid", // 647 + "Genari", // 648 + "Gigyn", // 649 + "Greken - Young Adult", // 650 + "Greken - Young", // 651 + "Cliknar Mount", // 652 + "Telmira", // 653 #endif Modified: showeq/trunk/src/spawn.cpp =================================================================== --- showeq/trunk/src/spawn.cpp 2009-10-26 21:52:38 UTC (rev 743) +++ showeq/trunk/src/spawn.cpp 2009-12-20 18:28:40 UTC (rev 744) @@ -98,6 +98,12 @@ #include "weapons2c.h" }; + // sparse array of item names (in 0x2d range), some are NULL + static const char* itemnames2d[] = + { +#include "weapons2d.h" + }; + // assume no material name found const char *itemStr = NULL; @@ -152,6 +158,12 @@ if (itemLo < (sizeof(itemnames2c) / sizeof (char*))) itemStr = itemnames2c[itemLo]; } + else if (itemHi == 0x2d) + { + // retrieve pointer to item name + if (itemLo < (sizeof(itemnames2d) / sizeof (char*))) + itemStr = itemnames2d[itemLo]; + } // if race name exists, then return it, otherwise return a number string if (itemStr != NULL) Modified: showeq/trunk/src/weapons2c.h =================================================================== --- showeq/trunk/src/weapons2c.h 2009-10-26 21:52:38 UTC (rev 743) +++ showeq/trunk/src/weapons2c.h 2009-12-20 18:28:40 UTC (rev 744) @@ -6,7 +6,7 @@ */ #ifndef DOXYGEN_SHOULD_SKIP_THIS - NULL, // 0x00 + "Pollen", // 0x00 NULL, // 0x01 NULL, // 0x02 NULL, // 0x03 @@ -59,7 +59,7 @@ NULL, // 0x32 NULL, // 0x33 NULL, // 0x34 - NULL, // 0x35 + "Mushroom", // 0x35 NULL, // 0x36 NULL, // 0x37 NULL, // 0x38 @@ -80,7 +80,7 @@ NULL, // 0x47 NULL, // 0x48 NULL, // 0x49 - NULL, // 0x4a + "Spit", // 0x4a NULL, // 0x4b NULL, // 0x4c NULL, // 0x4d @@ -202,7 +202,7 @@ NULL, // 0xc1 NULL, // 0xc2 NULL, // 0xc3 - NULL, // 0xc4 + "WhiteRose", // 0xc4 NULL, // 0xc5 NULL, // 0xc6 NULL, // 0xc7 Added: showeq/trunk/src/weapons2d.h =================================================================== --- showeq/trunk/src/weapons2d.h (rev 0) +++ showeq/trunk/src/weapons2d.h 2009-12-20 18:28:40 UTC (rev 744) @@ -0,0 +1,265 @@ +/* + * weapons2c.h + * + * ShowEQ Distributed under GPL + * http://seq.sourceforge.net/ + */ + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + NULL, // 0x00 + NULL, // 0x01 + NULL, // 0x02 + NULL, // 0x03 + NULL, // 0x04 + NULL, // 0x05 + NULL, // 0x06 + NULL, // 0x07 + NULL, // 0x08 + NULL, // 0x09 + NULL, // 0x0a + NULL, // 0x0b + NULL, // 0x0c + NULL, // 0x0d + NULL, // 0x0e + NULL, // 0x0f + NULL, // 0x10 + NULL, // 0x11 + NULL, // 0x12 + NULL, // 0x13 + NULL, // 0x14 + NULL, // 0x15 + "FletchingTable", // 0x16 + "JewelryMakingTable", // 0x17 + NULL, // 0x18 + NULL, // 0x19 + NULL, // 0x1a + NULL, // 0x1b + NULL, // 0x1c + NULL, // 0x1d + NULL, // 0x1e + NULL, // 0x1f + NULL, // 0x20 + NULL, // 0x21 + NULL, // 0x22 + NULL, // 0x23 + NULL, // 0x24 + NULL, // 0x25 + NULL, // 0x26 + NULL, // 0x27 + NULL, // 0x28 + NULL, // 0x29 + NULL, // 0x2a + NULL, // 0x2b + NULL, // 0x2c + NULL, // 0x2d + NULL, // 0x2e + NULL, // 0x2f + NULL, // 0x30 + NULL, // 0x31 + NULL, // 0x32 + NULL, // 0x33 + NULL, // 0x34 + NULL, // 0x35 + NULL, // 0x36 + NULL, // 0x37 + NULL, // 0x38 + NULL, // 0x39 + NULL, // 0x3a + NULL, // 0x3b + NULL, // 0x3c + NULL, // 0x3d + NULL, // 0x3e + NULL, // 0x3f + NULL, // 0x40 + NULL, // 0x41 + NULL, // 0x42 + NULL, // 0x43 + NULL, // 0x44 + NULL, // 0x45 + NULL, // 0x46 + NULL, // 0x47 + NULL, // 0x48 + NULL, // 0x49 + NULL, // 0x4a + NULL, // 0x4b + NULL, // 0x4c + NULL, // 0x4d + NULL, // 0x4e + NULL, // 0x4f + NULL, // 0x50 + NULL, // 0x51 + NULL, // 0x52 + NULL, // 0x53 + NULL, // 0x54 + NULL, // 0x55 + NULL, // 0x56 + NULL, // 0x57 + NULL, // 0x58 + NULL, // 0x59 + NULL, // 0x5a + NULL, // 0x5b + NULL, // 0x5c + NULL, // 0x5d + NULL, // 0x5e + NULL, // 0x5f + NULL, // 0x60 + NULL, // 0x61 + NULL, // 0x62 + NULL, // 0x63 + NULL, // 0x64 + NULL, // 0x65 + NULL, // 0x66 + NULL, // 0x67 + NULL, // 0x68 + NULL, // 0x69 + NULL, // 0x6a + NULL, // 0x6b + NULL, // 0x6c + NULL, // 0x6d + NULL, // 0x6e + NULL, // 0x6f + NULL, // 0x70 + NULL, // 0x71 + NULL, // 0x72 + NULL, // 0x73 + NULL, // 0x74 + NULL, // 0x75 + NULL, // 0x76 + NULL, // 0x77 + NULL, // 0x78 + NULL, // 0x79 + NULL, // 0x7a + NULL, // 0x7b + NULL, // 0x7c + NULL, // 0x7d + NULL, // 0x7e + NULL, // 0x7f + NULL, // 0x80 + NULL, // 0x81 + NULL, // 0x82 + NULL, // 0x83 + NULL, // 0x84 + NULL, // 0x85 + NULL, // 0x86 + NULL, // 0x87 + NULL, // 0x88 + NULL, // 0x89 + NULL, // 0x8a + NULL, // 0x8b + NULL, // 0x8c + NULL, // 0x8d + NULL, // 0x8e + NULL, // 0x8f + NULL, // 0x90 + NULL, // 0x91 + NULL, // 0x92 + NULL, // 0x93 + NULL, // 0x94 + NULL, // 0x95 + NULL, // 0x96 + NULL, // 0x97 + NULL, // 0x98 + NULL, // 0x99 + NULL, // 0x9a + NULL, // 0x9b + NULL, // 0x9c + NULL, // 0x9d + NULL, // 0x9e + NULL, // 0x9f + NULL, // 0xa0 + NULL, // 0xa1 + NULL, // 0xa2 + NULL, // 0xa3 + NULL, // 0xa4 + NULL, // 0xa5 + NULL, // 0xa6 + NULL, // 0xa7 + NULL, // 0xa8 + NULL, // 0xa9 + NULL, // 0xaa + NULL, // 0xab + NULL, // 0xac + NULL, // 0xad + NULL, // 0xae + NULL, // 0xaf + NULL, // 0xb0 + NULL, // 0xb1 + NULL, // 0xb2 + NULL, // 0xb3 + NULL, // 0xb4 + NULL, // 0xb5 + NULL, // 0xb6 + NULL, // 0xb7 + NULL, // 0xb8 + NULL, // 0xb9 + NULL, // 0xba + NULL, // 0xbb + NULL, // 0xbc + NULL, // 0xbd + NULL, // 0xbe + NULL, // 0xbf + NULL, // 0xc0 + NULL, // 0xc1 + NULL, // 0xc2 + NULL, // 0xc3 + NULL, // 0xc4 + NULL, // 0xc5 + NULL, // 0xc6 + NULL, // 0xc7 + NULL, // 0xc8 + NULL, // 0xc9 + NULL, // 0xca + NULL, // 0xcb + NULL, // 0xcc + NULL, // 0xcd + NULL, // 0xce + NULL, // 0xcf + NULL, // 0xd0 + NULL, // 0xd1 + NULL, // 0xd2 + NULL, // 0xd3 + NULL, // 0xd4 + NULL, // 0xd5 + NULL, // 0xd6 + NULL, // 0xd7 + NULL, // 0xd8 + NULL, // 0xd9 + NULL, // 0xda + NULL, // 0xdb + NULL, // 0xdc + NULL, // 0xdd + NULL, // 0xde + NULL, // 0xdf + NULL, // 0xe0 + NULL, // 0xe1 + NULL, // 0xe2 + NULL, // 0xe3 + NULL, // 0xe4 + NULL, // 0xe5 + NULL, // 0xe6 + NULL, // 0xe7 + NULL, // 0xe8 + NULL, // 0xe9 + NULL, // 0xea + NULL, // 0xeb + NULL, // 0xec + NULL, // 0xed + NULL, // 0xee + NULL, // 0xef + NULL, // 0xf0 + NULL, // 0xf1 + NULL, // 0xf2 + NULL, // 0xf3 + NULL, // 0xf4 + NULL, // 0xf5 + NULL, // 0xf6 + NULL, // 0xf7 + NULL, // 0xf8 + NULL, // 0xf9 + NULL, // 0xfa + NULL, // 0xfb + NULL, // 0xfc + NULL, // 0xfd + NULL, // 0xfe + NULL, // 0xff +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ Modified: showeq/trunk/src/zones.h =================================================================== --- showeq/trunk/src/zones.h 2009-10-26 21:52:38 UTC (rev 743) +++ showeq/trunk/src/zones.h 2009-12-20 18:28:40 UTC (rev 744) @@ -485,24 +485,24 @@ { "toskirakk", "Toskirakk" }, // 475 { "korascian", "Korascian Warrens" }, // 476 { "rathechamber", "Rathe Council Chambers" }, // 477 -{ NULL, NULL }, // 478 -{ NULL, NULL }, // 479 -{ NULL, NULL }, // 480 -{ NULL, NULL }, // 481 -{ NULL, NULL }, // 482 -{ NULL, NULL }, // 483 -{ NULL, NULL }, // 484 -{ NULL, NULL }, // 485 -{ NULL, NULL }, // 486 -{ NULL, NULL }, // 487 -{ NULL, NULL }, // 488 -{ NULL, NULL }, // 489 -{ NULL, NULL }, // 490 -{ NULL, NULL }, // 491 -{ NULL, NULL }, // 492 -{ NULL, NULL }, // 493 -{ NULL, NULL }, // 494 -{ NULL, NULL }, // 495 +{ "oldfieldofboneb", "Field of Scale" }, // 478 +{ "crafthalls", "Ngreth's Den" }, // 479 +{ "brellsrest", "Brell's Rest" }, // 480 +{ "fungalforest", "Fungal Forest" }, // 481 +{ "underquarry", "The Underquarry" }, // 482 +{ "coolingchamber", "The Cooling Chamber" }, // 483 +{ "shiningcity", "Kernagir, The Shining City" }, // 484 +{ "arthicrex", "Arthicrex" }, // 485 +{ "foundation", "The Foundation" }, // 486 +{ "lichencreep", "Lichen Creep" }, // 487 +{ "pellucid", "Pellucid Grotto" }, // 488 +{ "stonesnake", "Volska's Husk" }, // 489 +{ "brellstemple", "Brell's Temple" }, // 490 +{ "convorteum", "The Convorteum" }, // 491 +{ "brellsarena", "Brell's Arena" }, // 492 +{ "weddingchapel", "Wedding Chapel" }, // 493 +{ "weddingchapeldark", "Wedding Chapel" }, // 494 +{ "dragoncrypt", "Lair of the Fallen" }, // 495 { NULL, NULL }, // 496 { NULL, NULL }, // 497 { NULL, NULL }, // 498 @@ -707,18 +707,18 @@ { NULL, NULL }, // 697 { NULL, NULL }, // 698 { NULL, NULL }, // 699 -{ NULL, NULL }, // 700 -{ NULL, NULL }, // 701 -{ NULL, NULL }, // 702 -{ NULL, NULL }, // 703 -{ NULL, NULL }, // 704 -{ NULL, NULL }, // 705 -{ NULL, NULL }, // 706 -{ NULL, NULL }, // 707 -{ NULL, NULL }, // 708 -{ NULL, NULL }, // 709 -{ NULL, NULL }, // 710 -{ NULL, NULL }, // 711 +{ "feerrott2", "The Feerrott" }, // 700 +{ "thulehouse1", "Thule House 1" }, // 701 +{ "thulehouse2", "Thule House 2" }, // 702 +{ "housegarden", "House Garden" }, // 703 +{ "houselibrary", "House Library" }, // 704 +{ "well", "Well" }, // 705 +{ "fallen", "Fallen" }, // 706 +{ "morellcastle", "Morell's Castle" }, // 707 +{ "morelltower", "Morell's Tower" }, // 708 +{ "alkabormare", "Al'Kabor's Nightmare" }, // 709 +{ "miragulmare", "Miragul's Nightmare" }, // 710 +{ "thuledream", "Thule's Dream" }, // 711 { NULL, NULL }, // 712 { NULL, NULL }, // 713 { NULL, NULL }, // 714 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2009-12-25 19:01:00
|
Revision: 747 http://seq.svn.sourceforge.net/seq/?rev=747&view=rev Author: ieatacid Date: 2009-12-25 19:00:49 +0000 (Fri, 25 Dec 2009) Log Message: ----------- Fixed buffStruct and newZoneStruct + Added weapons2d.h to automake Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/Makefile.am showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-12-20 19:54:51 UTC (rev 746) +++ showeq/trunk/ChangeLog 2009-12-25 19:00:49 UTC (rev 747) @@ -1,3 +1,8 @@ +ieatacid (12/25/09) +----------------- +- Fixed buffStruct and newZoneStruct +- Added weapons2d.h to automake + ieatacid (12/20/09) ----------------- - Updated version to 5.13.9 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-12-20 19:54:51 UTC (rev 746) +++ showeq/trunk/configure.in 2009-12-25 19:00:49 UTC (rev 747) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.9.0) +AC_INIT(showeq, 5.13.9.1) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/Makefile.am =================================================================== --- showeq/trunk/src/Makefile.am 2009-12-20 19:54:51 UTC (rev 746) +++ showeq/trunk/src/Makefile.am 2009-12-25 19:00:49 UTC (rev 747) @@ -111,7 +111,7 @@ EXTRA_DIST = h2info.pl -noinst_HEADERS = classes.h compass.h everquest.h interface.h main.h map.h filter.h vpacket.h editor.h packet.h packetcapture.h packetcommon.h packetformat.h packetstream.h packetfragment.h packetinfo.h races.h skills.h spells.h util.h experiencelog.h combatlog.h spawn.h spawnshell.h spawnlist.h spellshell.h spelllist.h languages.h weapons.h weapons1.h weapons27.h weapons28.h weapons29.h weapons2a.h weapons2b.h weapons2c.h decode.h cgiconv.h skilllist.h statlist.h deity.h player.h crctab.h filtermgr.h point.h pointarray.h mapcore.h category.h compassframe.h group.h guild.h fixpt.h netdiag.h zones.h logger.h xmlconv.h xmlpreferences.h seqwindow.h seqlistview.h zonemgr.h spawnmonitor.h spawnpointlist.h typenames.h spawnlistcommon.h spawnlist2.h datetimemgr.h spawnlog.h packetlog.h datalocationmgr.h eqstr.h messages.h messagefilter.h messagewindow.h messageshell.h terminal.h filteredspawnlog.h messagefilterdialog.h diagnosticmessages.h mapicon.h mapicondialog.ui mapicondialog.ui.h filternotifications.h netstream.h guildshell.h guildlist.h bazaarlog.h message.h s_everquest.h staticspells.h +noinst_HEADERS = classes.h compass.h everquest.h interface.h main.h map.h filter.h vpacket.h editor.h packet.h packetcapture.h packetcommon.h packetformat.h packetstream.h packetfragment.h packetinfo.h races.h skills.h spells.h util.h experiencelog.h combatlog.h spawn.h spawnshell.h spawnlist.h spellshell.h spelllist.h languages.h weapons.h weapons1.h weapons27.h weapons28.h weapons29.h weapons2a.h weapons2b.h weapons2c.h weapons2d.h decode.h cgiconv.h skilllist.h statlist.h deity.h player.h crctab.h filtermgr.h point.h pointarray.h mapcore.h category.h compassframe.h group.h guild.h fixpt.h netdiag.h zones.h logger.h xmlconv.h xmlpreferences.h seqwindow.h seqlistview.h zonemgr.h spawnmonitor.h spawnpointlist.h typenames.h spawnlistcommon.h spawnlist2.h datetimemgr.h spawnlog.h packetlog.h datalocationmgr.h eqstr.h messages.h messagefilter.h messagewindow.h messageshell.h terminal.h filteredspawnlog.h messagefilterdialog.h diagnosticmessages.h mapicon.h mapicondialog.ui mapicondialog.ui.h filternotifications.h netstream.h guildshell.h guildlist.h bazaarlog.h message.h s_everquest.h staticspells.h CLEANFILES = $(nodist_showeq_SOURCES) Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2009-12-20 19:54:51 UTC (rev 746) +++ showeq/trunk/src/everquest.h 2009-12-25 19:00:49 UTC (rev 747) @@ -567,7 +567,7 @@ /* ** New Zone Code -** Length: 924 Octets +** Length: 944 Octets ** OpCode: NewZoneCode */ struct newZoneStruct @@ -608,7 +608,8 @@ /*0924*/ uint8_t unknown0924[4]; // *** Placeholder (09/03/2008) /*0928*/ uint8_t unknown0928[4]; // *** Placeholder (10/07/2008) /*0932*/ uint8_t unknown0932[8]; // *** Placeholder (11/04/2009) -/*0940*/ +/*0940*/ uint8_t unknown0940[4]; // *** Placeholder (12/15/2009) +/*0944*/ }; /* @@ -727,7 +728,7 @@ /* ** Player Profile -** Length: 24856 Octets +** Length: 25184 Octets ** OpCode: CharProfileCode */ struct charProfileStruct @@ -2502,9 +2503,10 @@ /*0012*/ uint32_t duration; // duration /*0016*/ uint8_t unknown0012[8]; /*0024*/ uint32_t playerId; // Player id who cast the buff -/*0028*/ uint32_t spellslot; // spellslot -/*0032*/ uint32_t changetype; // 1=buff fading,2=buff duration -/*0034*/ +/*0028*/ uint8_t unknown0028[4]; +/*0032*/ uint32_t spellslot; // spellslot +/*0036*/ uint32_t changetype; // 1=buff fading,2=buff duration +/*0040*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2010-02-20 23:01:53
|
Revision: 750 http://seq.svn.sourceforge.net/seq/?rev=750&view=rev Author: ieatacid Date: 2010-02-20 23:01:46 +0000 (Sat, 20 Feb 2010) Log Message: ----------- Fixed structs + Fixed code to handle serialized makeDrop struct + Added new item codes + Version to 5.13.10 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/main.cpp showeq/trunk/src/spawnshell.cpp showeq/trunk/src/weapons29.h showeq/trunk/src/weapons2a.h showeq/trunk/src/weapons2b.h showeq/trunk/src/weapons2c.h showeq/trunk/src/weapons2d.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/ChangeLog 2010-02-20 23:01:46 UTC (rev 750) @@ -1,3 +1,10 @@ +ieatacid (2/20/09) +----------------- +- Updated version to 5.13.10 +- Fixed structs +- Fixed code to handle serialized makeDrop struct +- Added new item codes (uRit1u2CBBA=) + ieatacid (12/25/09) ----------------- - Updated version to 5.13.9.1 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/conf/zoneopcodes.xml 2010-02-20 23:01:46 UTC (rev 750) @@ -179,7 +179,7 @@ </opcode> <opcode id="5C85" name="OP_GroundSpawn" updated="06/12/09"> <comment>old MakeDropCode</comment> - <payload dir="server" typename="makeDropStruct" sizechecktype="match"/> + <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"> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/configure.in 2010-02-20 23:01:46 UTC (rev 750) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.9.1) +AC_INIT(showeq, 5.13.10.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/everquest.h 2010-02-20 23:01:46 UTC (rev 750) @@ -425,7 +425,7 @@ /* ** Buffs -** Length: 28 Octets +** Length: 32 Octets ** Used in: ** charProfileStruct(07012) */ @@ -435,13 +435,14 @@ /*0001*/ int8_t level; // Level of person who cast buff /*0002*/ uint8_t unknown0002; // /*0003*/ uint8_t unknown0003; // -/*0004*/ int32_t spellid; // Spell -/*0008*/ int32_t duration; // Time remaining in ticks -/*0012*/ int32_t effect; // holds the dmg absorb amount on runes -/*0016*/ uint8_t unknown0016[4]; // *** this might need to be swapped with playerId -/*0020*/ uint32_t playerId; // Global id of caster (for wear off) -/*0024*/ uint8_t unknown0024[4]; -/*0028*/ +/*0004*/ float unknown0004; +/*0008*/ int32_t spellid; // Spell +/*0012*/ int32_t duration; // Time remaining in ticks +/*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[4]; +/*0032*/ }; @@ -1959,12 +1960,13 @@ /*0000*/ uint16_t target; // Target ID /*0002*/ uint16_t source; // SourceID /*0004*/ uint8_t level; // Caster level -/*0005*/ uint8_t unknown0005[17]; // ***Placeholder -/*0022*/ uint8_t type; // Casts, Falls, Bashes, etc... -/*0023*/ int32_t damage; // Amount of Damage -/*0027*/ int16_t spell; // SpellID -/*0029*/ uint8_t unknown0029[2]; // ***Placeholder -/*0031*/ +/*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]; +/*0033*/ int16_t spell; // SpellID +/*0035*/ uint8_t unknown0035[2]; // ***Placeholder +/*0037*/ }; // Starting with 2/21/2006, OP_Actions seem to come in pairs, duplicating @@ -1975,14 +1977,15 @@ /*0000*/ uint16_t target; // Target ID /*0002*/ uint16_t source; // SourceID /*0004*/ uint8_t level; // Caster level -/*0005*/ uint8_t unknown0005[17]; // ***Placeholder -/*0022*/ uint8_t type; // Casts, Falls, Bashes, etc... -/*0023*/ int32_t damage; // Amount of Damage -/*0027*/ int16_t spell; // SpellID -/*0029*/ uint8_t unknown0029[2]; // ***Placeholder -/*0031*/ uint32_t unknown0031; -/*0035*/ uint8_t unknown0035[21]; -/*0056*/ +/*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]; +/*0033*/ int16_t spell; // SpellID +/*0035*/ uint8_t unknown0035[2]; // ***Placeholder +/*0037*/ uint32_t unknown0037; +/*0041*/ uint8_t unknown0041[23]; +/*0064*/ }; /* @@ -2499,14 +2502,15 @@ { /*0000*/ uint32_t spawnid; //spawn id /*0004*/ uint8_t unknown0004[4]; -/*0008*/ uint32_t spellid; // spellid -/*0012*/ uint32_t duration; // duration -/*0016*/ uint8_t unknown0012[8]; -/*0024*/ uint32_t playerId; // Player id who cast the buff -/*0028*/ uint8_t unknown0028[4]; -/*0032*/ uint32_t spellslot; // spellslot -/*0036*/ uint32_t changetype; // 1=buff fading,2=buff duration -/*0040*/ +/*0008*/ float unknown0008; +/*0012*/ uint32_t spellid; // spellid +/*0016*/ uint32_t duration; // duration +/*0024*/ uint8_t unknown0024[8]; +/*0028*/ uint32_t playerId; // Player id who cast the buff +/*0032*/ uint8_t unknown0032[4]; +/*0036*/ uint32_t spellslot; // spellslot +/*0040*/ uint32_t changetype; // 1=buff fading,2=buff duration +/*0044*/ }; /* Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/interface.cpp 2010-02-20 23:01:46 UTC (rev 750) @@ -1949,7 +1949,7 @@ // connect the SpawnShell slots to Packet signals m_packet->connect2("OP_GroundSpawn", SP_Zone, DIR_Server, - "makeDropStruct", SZC_Match, + "makeDropStruct", SZC_None, m_spawnShell, SLOT(newGroundItem(const uint8_t*, size_t, uint8_t))); m_packet->connect2("OP_ClickObject", SP_Zone, DIR_Server, "remDropStruct", SZC_Match, Modified: showeq/trunk/src/main.cpp =================================================================== --- showeq/trunk/src/main.cpp 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/main.cpp 2010-02-20 23:01:46 UTC (rev 750) @@ -736,7 +736,7 @@ { printf ("ShowEQ %s, released under the GPL.\n", VERSION); printf (" SINS 0.5, released under the GPL.\n"); - printf ("All ShowEQ source code is Copyright (C) 2000-2005 by the respective ShowEQ Developers\n"); + printf ("All ShowEQ source code is Copyright (C) 2000-2010 by the respective ShowEQ Developers\n"); printf ("ShowEQ comes with NO WARRANTY.\n\n"); Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/spawnshell.cpp 2010-02-20 23:01:46 UTC (rev 750) @@ -319,27 +319,73 @@ } // same-name slots, connecting to Packet signals -void SpawnShell::newGroundItem(const uint8_t* data, size_t, uint8_t dir) +// this packet is variable in length. everything is dwords except the "idFile" field +// which can be variable +void SpawnShell::newGroundItem(const uint8_t* data, size_t len, uint8_t dir) { - const makeDropStruct *d = (const makeDropStruct *)data; + if (m_zoneMgr->isZoning()) + return; + + if (dir != DIR_Server) + return; + + if (!data) + return; + + NetStream netStream(data, len); + makeDropStruct ds; + QString name; + union { uint32_t n; float f; } x; + + // read drop id + ds.dropId = netStream.readUInt32NC(); + + // read name + name = netStream.readText(); + strcpy(ds.idFile, name.latin1()); + + // read past zone id + netStream.readUInt32NC(); + + // read past zone instance + netStream.readUInt32NC(); + + // read past unknown dword field + netStream.readUInt32NC(); + + // read heading + x.n = netStream.readUInt32NC(); + ds.heading = x.f; + + // read past unknown dword field + netStream.readUInt32NC(); + + // read past unknown dword field + netStream.readUInt32NC(); + + // read past unknown dword field + netStream.readUInt32NC(); + + // read y pos + x.n = netStream.readUInt32NC(); + ds.y = x.f; + + // read x pos + x.n = netStream.readUInt32NC(); + ds.x = x.f; + + // read z pos + x.n = netStream.readUInt32NC(); + ds.z = x.f; + #ifdef SPAWNSHELL_DIAG seqDebug("SpawnShell::newGroundItem(makeDropStruct *)"); #endif - // if zoning, then don't do anything - if (m_zoneMgr->isZoning()) - return; - if (dir != DIR_Server) - return; - - if (!d) - return; - - QString name; - Drop* item = (Drop*)m_drops.find(d->dropId); + Drop* item = (Drop*)m_drops.find(ds.dropId); if (item != NULL) { - item->update(d, name); + item->update(&ds, name); if (!showeq_params->fast_machine) item->setDistanceToPlayer(m_player->calcDist2DInt(*item)); else @@ -350,13 +396,13 @@ } else { - item = new Drop(d, name); + item = new Drop(&ds, name); if (!showeq_params->fast_machine) item->setDistanceToPlayer(m_player->calcDist2DInt(*item)); else item->setDistanceToPlayer(m_player->calcDist(*item)); updateFilterFlags(item); - m_drops.insert(d->dropId, item); + m_drops.insert(ds.dropId, item); emit addItem(item); } } Modified: showeq/trunk/src/weapons29.h =================================================================== --- showeq/trunk/src/weapons29.h 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/weapons29.h 2010-02-20 23:01:46 UTC (rev 750) @@ -29,7 +29,7 @@ NULL, // 0x14 NULL, // 0x15 NULL, // 0x16 - NULL, // 0x17 + "Hammer", // 0x17 NULL, // 0x18 NULL, // 0x19 NULL, // 0x1a @@ -241,7 +241,7 @@ NULL, // 0xe8 NULL, // 0xe9 NULL, // 0xea - NULL, // 0xeb + "Wand", // 0xeb NULL, // 0xec NULL, // 0xed NULL, // 0xee Modified: showeq/trunk/src/weapons2a.h =================================================================== --- showeq/trunk/src/weapons2a.h 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/weapons2a.h 2010-02-20 23:01:46 UTC (rev 750) @@ -44,7 +44,7 @@ NULL, // 0x23 NULL, // 0x24 NULL, // 0x25 - NULL, // 0x26 + "Shield", // 0x26 NULL, // 0x27 NULL, // 0x28 NULL, // 0x29 @@ -164,7 +164,7 @@ NULL, // 0x9b NULL, // 0x9c NULL, // 0x9d - NULL, // 0x9e + "Sabre", // 0x9e NULL, // 0x9f NULL, // 0xa0 NULL, // 0xa1 Modified: showeq/trunk/src/weapons2b.h =================================================================== --- showeq/trunk/src/weapons2b.h 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/weapons2b.h 2010-02-20 23:01:46 UTC (rev 750) @@ -181,13 +181,13 @@ NULL, // 0xac NULL, // 0xad NULL, // 0xae - NULL, // 0xaf + "Shield", // 0xaf NULL, // 0xb0 NULL, // 0xb1 NULL, // 0xb2 NULL, // 0xb3 NULL, // 0xb4 - NULL, // 0xb5 + "Shield", // 0xb5 NULL, // 0xb6 NULL, // 0xb7 NULL, // 0xb8 Modified: showeq/trunk/src/weapons2c.h =================================================================== --- showeq/trunk/src/weapons2c.h 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/weapons2c.h 2010-02-20 23:01:46 UTC (rev 750) @@ -44,7 +44,7 @@ NULL, // 0x23 NULL, // 0x24 NULL, // 0x25 - NULL, // 0x26 + "Hammer", // 0x26 NULL, // 0x27 NULL, // 0x28 NULL, // 0x29 @@ -88,7 +88,7 @@ NULL, // 0x4f NULL, // 0x50 NULL, // 0x51 - NULL, // 0x52 + "Dagger", // 0x52 NULL, // 0x53 NULL, // 0x54 NULL, // 0x55 Modified: showeq/trunk/src/weapons2d.h =================================================================== --- showeq/trunk/src/weapons2d.h 2009-12-25 19:12:20 UTC (rev 749) +++ showeq/trunk/src/weapons2d.h 2010-02-20 23:01:46 UTC (rev 750) @@ -72,7 +72,7 @@ NULL, // 0x3f NULL, // 0x40 NULL, // 0x41 - NULL, // 0x42 + "Dagger", // 0x42 NULL, // 0x43 NULL, // 0x44 NULL, // 0x45 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2010-02-26 14:42:50
|
Revision: 752 http://seq.svn.sourceforge.net/seq/?rev=752&view=rev Author: ieatacid Date: 2010-02-26 14:42:42 +0000 (Fri, 26 Feb 2010) Log Message: ----------- Adjusted makeDropStruct.idFile size to 30 to fix a crash + Sanity check for idFile string length in newGroundItem function + Removed unused members of makeDropStruct Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2010-02-20 23:04:38 UTC (rev 751) +++ showeq/trunk/ChangeLog 2010-02-26 14:42:42 UTC (rev 752) @@ -1,3 +1,10 @@ +ieatacid (2/26/90) +----------------- +- Updated version to 5.13.10.1 +- Adjusted makeDropStruct.idFile size to 30 bytes which should fix an associated crash +- Added sanity check for makeDropStruct.idFile string length in newGroundItem function +- Removed unused members from makeDropStruct in everquest.h + ieatacid (2/20/09) ----------------- - Updated version to 5.13.10 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2010-02-20 23:04:38 UTC (rev 751) +++ showeq/trunk/configure.in 2010-02-26 14:42:42 UTC (rev 752) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.13.10.0) +AC_INIT(showeq, 5.13.10.1) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2010-02-20 23:04:38 UTC (rev 751) +++ showeq/trunk/src/everquest.h 2010-02-26 14:42:42 UTC (rev 752) @@ -1309,29 +1309,20 @@ /* ** Drop Item On Ground -** Length: 104 Octets +** Length: Variable ** OpCode: MakeDropCode */ +// Note: Unknowns and other members removed that we don't use since we +// now only fill this with data we need from the serialized packet struct makeDropStruct { -/*0000*/ uint32_t prevObject; // Previous object in the linked list -/*0004*/ uint32_t nextObject; // Next object in the linked list -/*0008*/ uint32_t unknown0008; // ***Placeholder -/*0012*/ uint32_t dropId; // DropID -/*0016*/ uint16_t zoneId; // ZoneID -/*0018*/ uint16_t zoneInstance; // Zone instance id -/*0020*/ uint8_t unknown0020[8]; // ***Placeholder -/*0028*/ uint8_t unknown0028[12]; // ***Placeholder (9/23/2006) -/*0040*/ float heading; // Heading -/*0044*/ float z; // Z Position -/*0048*/ float x; // X Position -/*0052*/ float y; // Y Position -/*0056*/ char idFile[16]; // ACTOR ID -/*0072*/ uint32_t unknown0072[5]; // ***Placeholder -/*0092*/ uint32_t dropType; // drop type -/*0096*/ uint32_t unknown0096; // ***Placeholder -/*0100*/ uint32_t userSpawnID; // spawn id of the person using -/*0104*/ + uint32_t dropId; // DropID + float heading; // Heading + float z; // Z Position + float x; // X Position + float y; // Y Position + char idFile[30]; // ACTOR ID - The client reads 30 bytes from the packet + // - 20100210 eqgame.exe in EQItemList::UnpackNetData }; /* Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2010-02-20 23:04:38 UTC (rev 751) +++ showeq/trunk/src/spawnshell.cpp 2010-02-26 14:42:42 UTC (rev 752) @@ -336,13 +336,17 @@ makeDropStruct ds; QString name; union { uint32_t n; float f; } x; + memset(&ds, 0, sizeof(makeDropStruct)); // read drop id ds.dropId = netStream.readUInt32NC(); // read name name = netStream.readText(); - strcpy(ds.idFile, name.latin1()); + if(name.length()) + { + strcpy(ds.idFile, name.latin1()); + } // read past zone id netStream.readUInt32NC(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |