You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(18) |
Oct
(11) |
Nov
(9) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
|
Feb
(6) |
Mar
|
Apr
(10) |
May
(38) |
Jun
(15) |
Jul
(32) |
Aug
|
Sep
(17) |
Oct
(11) |
Nov
|
Dec
(14) |
| 2006 |
Jan
(2) |
Feb
(5) |
Mar
(3) |
Apr
(2) |
May
(3) |
Jun
(7) |
Jul
|
Aug
|
Sep
(3) |
Oct
(2) |
Nov
(6) |
Dec
(3) |
| 2007 |
Jan
|
Feb
(17) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
(11) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
(6) |
Jul
|
Aug
|
Sep
(6) |
Oct
(4) |
Nov
(1) |
Dec
|
| 2009 |
Jan
(3) |
Feb
(2) |
Mar
(4) |
Apr
|
May
(4) |
Jun
(3) |
Jul
|
Aug
(5) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(6) |
| 2010 |
Jan
|
Feb
(6) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(8) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
(5) |
| 2013 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
(2) |
Dec
(2) |
| 2014 |
Jan
(3) |
Feb
(2) |
Mar
(3) |
Apr
(4) |
May
(4) |
Jun
(3) |
Jul
(4) |
Aug
(5) |
Sep
|
Oct
(2) |
Nov
(5) |
Dec
(2) |
| 2015 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(10) |
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
(2) |
Sep
(2) |
Oct
(3) |
Nov
(4) |
Dec
(2) |
| 2017 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
(4) |
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2018 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
(2) |
Jun
(2) |
Jul
(8) |
Aug
(2) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
(6) |
| 2019 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
(4) |
May
(2) |
Jun
(3) |
Jul
(3) |
Aug
(2) |
Sep
(2) |
Oct
(13) |
Nov
(6) |
Dec
(4) |
| 2020 |
Jan
(7) |
Feb
(7) |
Mar
(7) |
Apr
(8) |
May
(5) |
Jun
(3) |
Jul
(10) |
Aug
(4) |
Sep
|
Oct
(37) |
Nov
(30) |
Dec
(8) |
| 2021 |
Jan
(14) |
Feb
(9) |
Mar
(7) |
Apr
(17) |
May
(3) |
Jun
(10) |
Jul
(7) |
Aug
(3) |
Sep
(3) |
Oct
(4) |
Nov
(15) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(3) |
Mar
(3) |
Apr
(3) |
May
(3) |
Jun
(3) |
Jul
(3) |
Aug
(5) |
Sep
(6) |
Oct
(4) |
Nov
(34) |
Dec
(17) |
| 2023 |
Jan
(3) |
Feb
(3) |
Mar
(29) |
Apr
(2) |
May
(18) |
Jun
(12) |
Jul
(12) |
Aug
(2) |
Sep
(7) |
Oct
(2) |
Nov
(2) |
Dec
(2) |
| 2024 |
Jan
(2) |
Feb
(10) |
Mar
(17) |
Apr
(6) |
May
(3) |
Jun
(9) |
Jul
(22) |
Aug
(48) |
Sep
(3) |
Oct
(2) |
Nov
(2) |
Dec
(8) |
| 2025 |
Jan
(3) |
Feb
(2) |
Mar
(9) |
Apr
(7) |
May
(3) |
Jun
(3) |
Jul
(2) |
Aug
(2) |
Sep
(11) |
Oct
(6) |
Nov
(9) |
Dec
(4) |
| 2026 |
Jan
(5) |
Feb
(6) |
Mar
(3) |
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
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-05-20 22:06:27
|
Revision: 728
http://seq.svn.sourceforge.net/seq/?rev=728&view=rev
Author: ieatacid
Date: 2009-05-20 22:06:24 +0000 (Wed, 20 May 2009)
Log Message:
-----------
Tag for release 5.13.4.0
Added Paths:
-----------
showeq/tags/v5_13_4_0/
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-03-21 00:05:36
|
Revision: 726
http://seq.svn.sourceforge.net/seq/?rev=726&view=rev
Author: ieatacid
Date: 2009-03-21 00:05:33 +0000 (Sat, 21 Mar 2009)
Log Message:
-----------
Tag for release 5.13.3.0
Added Paths:
-----------
showeq/tags/v5_13_3_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-03-15 23:45:29
|
Revision: 724
http://seq.svn.sourceforge.net/seq/?rev=724&view=rev
Author: ieatacid
Date: 2009-03-15 23:45:15 +0000 (Sun, 15 Mar 2009)
Log Message:
-----------
Tag for release 5.13.2.0
Added Paths:
-----------
showeq/tags/v5_13_2_0/
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-02-16 03:06:45
|
Revision: 722
http://seq.svn.sourceforge.net/seq/?rev=722&view=rev
Author: ieatacid
Date: 2009-02-16 03:06:42 +0000 (Mon, 16 Feb 2009)
Log Message:
-----------
Tag for release 5.13.1.0
Added Paths:
-----------
showeq/tags/v5_13_1_0/
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: <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-01-20 17:44:06
|
Revision: 719
http://seq.svn.sourceforge.net/seq/?rev=719&view=rev
Author: ieatacid
Date: 2009-01-20 17:43:59 +0000 (Tue, 20 Jan 2009)
Log Message:
-----------
Tag for release 5.13.0.0
Added Paths:
-----------
showeq/tags/v5_13_0_0/
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...> - 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...> - 2008-10-27 01:04:31
|
Revision: 716
http://seq.svn.sourceforge.net/seq/?rev=716&view=rev
Author: ieatacid
Date: 2008-10-27 01:04:28 +0000 (Mon, 27 Oct 2008)
Log Message:
-----------
+ Added item codes from uRit1u2CBBA=
Modified Paths:
--------------
showeq/trunk/src/weapons.h
showeq/trunk/src/weapons1.h
showeq/trunk/src/weapons27.h
showeq/trunk/src/weapons29.h
Modified: showeq/trunk/src/weapons.h
===================================================================
--- showeq/trunk/src/weapons.h 2008-10-27 00:58:13 UTC (rev 715)
+++ showeq/trunk/src/weapons.h 2008-10-27 01:04:28 UTC (rev 716)
@@ -114,7 +114,7 @@
"Shan'Tok", // 0x69
NULL, // 0x6a - Unknown Weapon
NULL, // 0x6b - Unknown Weapon
- NULL, // 0x6c - Unknown Weapon
+ "Sword", // 0x6c
NULL, // 0x6d - Unknown Weapon
"LegChopper", // 0x6e
NULL, // 0x6f - Unknown Weapon
Modified: showeq/trunk/src/weapons1.h
===================================================================
--- showeq/trunk/src/weapons1.h 2008-10-27 00:58:13 UTC (rev 715)
+++ showeq/trunk/src/weapons1.h 2008-10-27 01:04:28 UTC (rev 716)
@@ -50,7 +50,7 @@
NULL, // 0x29
NULL, // 0x2a
NULL, // 0x2b
- NULL, // 0x2c
+ "Axe", // 0x2c
NULL, // 0x2d
NULL, // 0x2e
NULL, // 0x2f
Modified: showeq/trunk/src/weapons27.h
===================================================================
--- showeq/trunk/src/weapons27.h 2008-10-27 00:58:13 UTC (rev 715)
+++ showeq/trunk/src/weapons27.h 2008-10-27 01:04:28 UTC (rev 716)
@@ -223,7 +223,7 @@
NULL, // 0xd6
NULL, // 0xd7
"Luclin Staff", // 0xd8
- NULL, // 0xd9
+ "Book", // 0xd9
NULL, // 0xda
"Horned Staff", // 0xdb
NULL, // 0xdc
Modified: showeq/trunk/src/weapons29.h
===================================================================
--- showeq/trunk/src/weapons29.h 2008-10-27 00:58:13 UTC (rev 715)
+++ showeq/trunk/src/weapons29.h 2008-10-27 01:04:28 UTC (rev 716)
@@ -175,7 +175,7 @@
NULL, // 0xa6
NULL, // 0xa7
NULL, // 0xa8
- NULL, // 0xa9
+ "Shield", // 0xa9
NULL, // 0xaa
NULL, // 0xab
NULL, // 0xac
@@ -217,7 +217,7 @@
"ShortSword", // 0xd0
NULL, // 0xd1
NULL, // 0xd2
- NULL, // 0xd3
+ "SkullClub", // 0xd3
NULL, // 0xd4
NULL, // 0xd5
NULL, // 0xd6
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: <iea...@us...> - 2008-10-13 02:39:24
|
Revision: 714
http://seq.svn.sourceforge.net/seq/?rev=714&view=rev
Author: ieatacid
Date: 2008-10-13 02:39:14 +0000 (Mon, 13 Oct 2008)
Log Message:
-----------
Tag for release 5.12.6.0
Added Paths:
-----------
showeq/tags/v5_12_6_0/
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-09-23 02:20:44
|
Revision: 712
http://seq.svn.sourceforge.net/seq/?rev=712&view=rev
Author: ieatacid
Date: 2008-09-23 01:38:12 +0000 (Tue, 23 Sep 2008)
Log Message:
-----------
Tag for release 5.12.5.2
Added Paths:
-----------
showeq/tags/v5_12_5_2/
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: <iea...@us...> - 2008-09-16 18:11:19
|
Revision: 710
http://seq.svn.sourceforge.net/seq/?rev=710&view=rev
Author: ieatacid
Date: 2008-09-17 01:11:16 +0000 (Wed, 17 Sep 2008)
Log Message:
-----------
Tag for release 5.12.5.1
Added Paths:
-----------
showeq/tags/v5_12_5_1/
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-09 01:25:20
|
Revision: 708
http://seq.svn.sourceforge.net/seq/?rev=708&view=rev
Author: ieatacid
Date: 2008-09-09 01:25:14 +0000 (Tue, 09 Sep 2008)
Log Message:
-----------
Tag for release 5.12.5.2
Added Paths:
-----------
showeq/tags/v5_12_5_0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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-06-24 22:56:21
|
Revision: 706
http://seq.svn.sourceforge.net/seq/?rev=706&view=rev
Author: ieatacid
Date: 2008-06-24 15:56:19 -0700 (Tue, 24 Jun 2008)
Log Message:
-----------
Tag for release 5.12.4.2
Added Paths:
-----------
showeq/tags/v5_12_4_2/
Copied: showeq/tags/v5_12_4_2 (from rev 705, showeq/trunk)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <iea...@us...> - 2008-06-22 03:02:12
|
Revision: 705
http://seq.svn.sourceforge.net/seq/?rev=705&view=rev
Author: ieatacid
Date: 2008-06-21 15:54:52 -0700 (Sat, 21 Jun 2008)
Log Message:
-----------
+ Updated version to 5.12.4.2
+ Fixed some net opcode handling (thanks to purple for all the help)
Modified Paths:
--------------
showeq/trunk/ChangeLog
showeq/trunk/conf/zoneopcodes.xml
showeq/trunk/configure.in
showeq/trunk/src/interface.cpp
showeq/trunk/src/packetformat.cpp
showeq/trunk/src/packetformat.h
showeq/trunk/src/packetstream.cpp
showeq/trunk/src/spawnshell.cpp
Modified: showeq/trunk/ChangeLog
===================================================================
--- showeq/trunk/ChangeLog 2008-06-11 21:31:38 UTC (rev 704)
+++ showeq/trunk/ChangeLog 2008-06-21 22:54:52 UTC (rev 705)
@@ -1,5 +1,10 @@
Version: $Id$ $Name$
+ieatacid (6/21/08)
+----------------
++ Updated version to 5.12.4.2
++ Fixed some net opcode handling (thanks to purple for all the help)
+
ieatacid (6/11/08)
----------------
+ Updated version to 5.12.4.1
Modified: showeq/trunk/conf/zoneopcodes.xml
===================================================================
--- showeq/trunk/conf/zoneopcodes.xml 2008-06-11 21:31:38 UTC (rev 704)
+++ showeq/trunk/conf/zoneopcodes.xml 2008-06-21 22:54:52 UTC (rev 705)
@@ -9,12 +9,12 @@
<opcode id="7901" name="OP_ZoneEntry" updated="01/17/08">
<comment>old ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
- <payload dir="server" typename="ServerZoneEntryStruct" sizechecktype="none"/>
+ <payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="1900" name="OP_ZoneSpawns" updated="05/29/08">
+ <!--<opcode id="1900" name="OP_ZoneSpawns" updated="05/29/08">
<comment>old ZoneSpawnsCode</comment>
<payload dir="server" typename="spawnStruct" sizechecktype="none"/>
- </opcode>
+ </opcode>-->
<opcode id="6015" name="OP_TimeOfDay" updated="01/17/08">
<comment>old TimeOfDayCode</comment>
<payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
Modified: showeq/trunk/configure.in
===================================================================
--- showeq/trunk/configure.in 2008-06-11 21:31:38 UTC (rev 704)
+++ showeq/trunk/configure.in 2008-06-21 22:54:52 UTC (rev 705)
@@ -2,7 +2,7 @@
dnl $Id$ $Name$
AC_PREREQ(2.59)
-AC_INIT(showeq, 5.12.4.1)
+AC_INIT(showeq, 5.12.4.2)
AC_CONFIG_SRCDIR(src/main.cpp)
AC_CANONICAL_SYSTEM
Modified: showeq/trunk/src/interface.cpp
===================================================================
--- showeq/trunk/src/interface.cpp 2008-06-11 21:31:38 UTC (rev 704)
+++ showeq/trunk/src/interface.cpp 2008-06-21 22:54:52 UTC (rev 705)
@@ -250,7 +250,7 @@
m_spells = new Spells(fileInfo.absFilePath());
// Create the EQStr storage
- m_eqStrings = new EQStr(8009); // increase if the number of stings exeeds
+ m_eqStrings = new EQStr(8009); // increase if the number of strings exeeds
// Create the Zone Manager
m_zoneMgr = new ZoneMgr(this, "zonemgr");
@@ -1930,7 +1930,7 @@
"spawnStruct", SZC_Match,
m_spawnShell, SLOT(newSpawn(const uint8_t*)));
m_packet->connect2("OP_ZoneEntry", SP_Zone, DIR_Server,
- "ServerZoneEntryStruct", SZC_None,
+ "uint8_t", SZC_None,
m_spawnShell, SLOT(zoneEntry(const uint8_t*, size_t)));
m_packet->connect2("OP_MobUpdate", SP_Zone, DIR_Server|DIR_Client,
"spawnPositionUpdate", SZC_Match,
@@ -1981,10 +1981,12 @@
m_packet->connect2("OP_CorpseLocResponse", SP_Zone, DIR_Server,
"corpseLocStruct", SZC_Match,
m_spawnShell, SLOT(corpseLoc(const uint8_t*)));
+#if 0 // No longer used as of 5-22-2008
m_packet->connect2("OP_ZoneSpawns", SP_Zone, DIR_Server,
"spawnStruct", SZC_None,
m_spawnShell, SLOT(zoneSpawns(const uint8_t*, size_t)));
-
+#endif
+
// connect the SpellShell slots to ZoneMgr signals
connect(m_zoneMgr, SIGNAL(zoneChanged(const QString&)),
m_spellShell, SLOT(zoneChanged()));
Modified: showeq/trunk/src/packetformat.cpp
===================================================================
--- showeq/trunk/src/packetformat.cpp 2008-06-11 21:31:38 UTC (rev 704)
+++ showeq/trunk/src/packetformat.cpp 2008-06-21 22:54:52 UTC (rev 705)
@@ -93,7 +93,7 @@
return *this;
}
-void EQProtocolPacket::init(uint8_t* packet, uint16_t length,
+void EQProtocolPacket::init(uint8_t* packet, uint32_t length,
bool copy, bool subpacket)
{
m_subpacket = subpacket;
Modified: showeq/trunk/src/packetformat.h
===================================================================
--- showeq/trunk/src/packetformat.h 2008-06-11 21:31:38 UTC (rev 704)
+++ showeq/trunk/src/packetformat.h 2008-06-21 22:54:52 UTC (rev 705)
@@ -96,7 +96,7 @@
m_subpacket(false)
{ }
- EQProtocolPacket(uint8_t* packet, uint16_t length,
+ EQProtocolPacket(uint8_t* packet, uint32_t length,
bool copy=false, bool subpacket=false)
{
init(packet, length, copy, subpacket);
@@ -172,7 +172,7 @@
// Payload is uncompressed (after decode is called) and aligned to the
// beginning of the payload (after net op, flags, seq if applicable)
uint8_t* payload() const { return m_payload; }
- uint16_t payloadLength() const { return m_payloadLength; }
+ uint32_t payloadLength() const { return m_payloadLength; }
// Raw Packet is compressed and aligned to the start of the net op. Length
// includes CRC if applicable.
@@ -183,24 +183,24 @@
// the beginning of what was decompressed. This is what is alloced if
// m_bAllocPayload is true.
uint8_t* rawPayload() const { return m_rawPayload; }
- uint16_t rawPayloadLength() const { return m_rawPayloadLength; }
+ uint32_t rawPayloadLength() const { return m_rawPayloadLength; }
protected:
void init();
- void init(uint8_t* packet, uint16_t length,
+ void init(uint8_t* packet, uint32_t length,
bool copy=false, bool subpacket=false);
private:
uint8_t* m_packet; // raw packet, untouched starting at net opcode
- uint16_t m_length; // raw packet length
+ uint32_t m_length; // raw packet length
uint16_t m_netOp; // protocol opcode
uint8_t m_flags; // protocol flags
uint8_t* m_payload; // packet payload. Aligned and uncompressed if necessary.
bool m_bAllocedPayload; // Whether payload was alloced or not
bool m_bDecoded; // Whether this packet has been decoded
- uint16_t m_payloadLength; // length of payload
+ uint32_t m_payloadLength; // length of payload
uint8_t* m_rawPayload; // decompressed but not aligned payload
- uint16_t m_rawPayloadLength; // length of raw payload
+ uint32_t m_rawPayloadLength; // length of raw payload
uint16_t m_arqSeq; // local copy to speed up comparisons
bool m_ownCopy;
bool m_subpacket;
Modified: showeq/trunk/src/packetstream.cpp
===================================================================
--- showeq/trunk/src/packetstream.cpp 2008-06-11 21:31:38 UTC (rev 704)
+++ showeq/trunk/src/packetstream.cpp 2008-06-21 22:54:52 UTC (rev 705)
@@ -21,19 +21,19 @@
// The following defines are used to diagnose packet handling behavior
// this define is used to diagnose packet processing (in processPacket mostly)
-//#define PACKET_PROCESS_DIAG 3
+// #define PACKET_PROCESS_DIAG 3
// this define is used to diagnose cache handling (in processPacket mostly)
-//#define PACKET_CACHE_DIAG 3
+// #define PACKET_CACHE_DIAG 3
// this define is used to debug packet info (in dispatchPacket mostly)
-//#define PACKET_INFO_DIAG 3
+// #define PACKET_INFO_DIAG 3
// this define is used to debug packet decode info (decompression)
-//#define PACKET_DECODE_DIAG 3
+// #define PACKET_DECODE_DIAG 3
// this define is used to debug sessions (request, response, disconnect)
-//#define PACKET_SESSION_DIAG 3
+// #define PACKET_SESSION_DIAG 3
// diagnose structure size changes
#define PACKET_PAYLOAD_SIZE_DIAG 1
@@ -720,7 +720,7 @@
// If original length is 0xff, it means it is a long one. The length
// is 2 bytes and next.
uint16_t longOne = eqntohuint16(subpacket);
-
+
// Move past the 2 byte length
subpacket += 2;
@@ -735,7 +735,7 @@
longOne--;
subOpCode = *(uint16_t*)(subpacket);
}
-
+
#if defined(PACKET_PROCESS_DIAG) && (PACKET_PROCESS_DIAG > 2)
seqDebug("EQPacket: unrolling length %d bytes from combined packet on stream %s (%d). Opcode %04x",
longOne, EQStreamStr[m_streamid], m_streamid, subOpCode);
@@ -877,12 +877,18 @@
dispatchPacket(&m_fragment.data()[3], m_fragment.size()-3,
fragOpCode, m_opcodeDB.find(fragOpCode));
}
+ else if (IS_NET_OPCODE(fragOpCode))
+ {
+#if defined(PACKET_PROCESS_DIAG) && (PACKET_PROCESS_DIAG > 1)
+ seqDebug("EQPacket: IS_NET_OPCODE(%04x), size = %d",fragOpCode,m_fragment.size());
+#endif
+ EQProtocolPacket spacket(m_fragment.data(), m_fragment.size(), false, true);
+ processPacket(spacket, true);
+ }
else
{
- dispatchPacket(&m_fragment.data()[2], m_fragment.size()-2,
- fragOpCode, m_opcodeDB.find(fragOpCode));
+ dispatchPacket(&m_fragment.data()[2], m_fragment.size()-2, fragOpCode, m_opcodeDB.find(fragOpCode));
}
-
m_fragment.reset();
}
}
Modified: showeq/trunk/src/spawnshell.cpp
===================================================================
--- showeq/trunk/src/spawnshell.cpp 2008-06-11 21:31:38 UTC (rev 704)
+++ showeq/trunk/src/spawnshell.cpp 2008-06-21 22:54:52 UTC (rev 705)
@@ -421,26 +421,63 @@
void SpawnShell::zoneSpawns(const uint8_t* data, size_t len)
{
- NetStream netStream(data,len);
- spawnStruct *spawn = new spawnStruct;
- int32_t spawnStructSize;
- uint16_t parm1;
+ int spawndatasize = len / sizeof(spawnStruct);
- while(!netStream.end())
- {
- memset(spawn,0,sizeof(spawnStruct));
- parm1=netStream.readUInt16NC();
- if(parm1==0x1ff)
- parm1=netStream.readUInt16NC();
+ const spawnStruct* zspawns = (const spawnStruct*)data;
- // skip 0x79 before name
- netStream.skipBytes(1);
+ for (int i = 0; i < spawndatasize; i++)
+ {
+#if 0
+ // Dump position updates for debugging spawn struct position changes
+ for (int j=54; j<70; i++)
+ {
+ printf("%.2x", zspawns[i][j]);
- spawnStructSize=fillSpawnStruct(spawn,netStream.pos(),len,false);
- newSpawn(*spawn);
- if(spawnStructSize)
- netStream.skipBytes(spawnStructSize);
- }
+ if ((j+1) % 8 == 0)
+ {
+ printf(" ");
+ }
+ else
+ {
+ printf(" ");
+ }
+ }
+ printf("\n");
+#endif
+
+#if 0
+ // Debug positioning without having to recompile everything...
+#pragma pack(1)
+struct pos
+{
+/*0002*/ signed padding0000:12; // ***Placeholder
+ signed deltaX:13; // change in x
+ signed padding0005:7; // ***Placeholder
+/*0006*/ signed deltaHeading:10;// change in heading
+ signed deltaY:13; // change in y
+ signed padding0006:9; // ***Placeholder
+/*0010*/ signed y:19; // y coord
+ signed animation:13; // animation
+/*0014*/ unsigned heading:12; // heading
+ signed x:19; // x coord
+ signed padding0014:1; // ***Placeholder
+/*0018*/ signed z:19; // z coord
+ signed deltaZ:13; // change in z
+/*0022*/
+};
+#pragma pack(0)
+ struct pos *p = (struct pos *)(data + i*sizeof(spawnStruct) + 151);
+ printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x)\n",
+ zspawns[i].spawnId,
+ float(p->x)/8.0, float(p->y/8.0), float(p->z)/8.0,
+ float(p->deltaX)/4.0, float(p->deltaY)/4.0,
+ float(p->deltaZ)/4.0,
+ float(p->heading), float(p->deltaHeading),
+ p->animation, p->padding0000,
+ p->padding0005, p->padding0006, p->padding0014);
+#endif
+ newSpawn(zspawns[i]);
+ }
}
int32_t SpawnShell::fillSpawnStruct(spawnStruct *spawn, const uint8_t *data, size_t len, bool checkLen)
@@ -454,30 +491,20 @@
if(name.length())
strcpy(spawn->name,name.latin1());
-// seqDebug("name=%s",spawn->name);
spawn->spawnId=netStream.readUInt32NC();
-// seqDebug("id=%d (%x)",spawn->spawnId,spawn->spawnId);
spawn->level=netStream.readUInt8();
-// seqDebug("level=%d",spawn->level);
// skip the next 4 bytes
netStream.skipBytes(4);
spawn->NPC=netStream.readUInt8();
-// seqDebug("NPC=%d",spawn->NPC);
spawn->miscData=netStream.readUInt32NC();
spawn->otherData=netStream.readUInt8();
-// seqDebug("miscData: %x otherData: %x",spawn->miscData,spawn->otherData);
-
-// seqDebug("buyer=%d trader=%d TC=%d T=%d BB=%d LD=%d gen=%d anon=%d gm=%d invis=%d LFG=%d sneak=%d AFK=%d",
-// spawn->buyer,spawn->trader,spawn->targetcyclable,spawn->targetable,spawn->betabuffed,
-// spawn->linkdead,spawn->gender,spawn->anon,spawn->gm,spawn->invis,spawn->LFG,spawn->sneak,spawn->AFK);
-
// skip unknown3, unknown4
netStream.skipBytes(8);
@@ -514,15 +541,13 @@
netStream.skipBytes(13);
spawn->race=netStream.readUInt32NC();
-// seqDebug("race=%d",spawn->race);
spawn->charProperties=netStream.readUInt8();
-// seqDebug("charProperties=%d",spawn->charProperties);
if(spawn->charProperties)
{
spawn->bodytype=netStream.readUInt32NC();
-// seqDebug("bodytype=%d",spawn->bodytype);
+
for(i=1; i < spawn->charProperties; i++)
{
// extra character properties
@@ -531,7 +556,6 @@
}
spawn->curHp=netStream.readUInt8();
-// seqDebug("curHp=%d",spawn->curHp);
// skip hair and face stuff
netStream.skipBytes(18);
@@ -541,8 +565,6 @@
spawn->guildID=netStream.readUInt32NC();
spawn->guildstatus=netStream.readUInt32NC();
spawn->class_=netStream.readUInt8();
-// seqDebug("holding=%d deity=%d guildID=%d guildstatus=%d class_=%d",spawn->holding,
-// spawn->deity,spawn->guildID,spawn->guildstatus,spawn->class_);
netStream.skipBytes(1);
@@ -556,13 +578,11 @@
if(name.length())
{
strcpy(spawn->lastName,name.latin1());
-// seqDebug("surname=%s",spawn->lastName);
}
netStream.skipBytes(5);
spawn->petOwnerId=netStream.readUInt32NC();
-// seqDebug("petOwnerId=%d",spawn->petOwnerId);
netStream.skipBytes(25);
@@ -572,11 +592,6 @@
spawn->posData[3]=netStream.readUInt32NC();
spawn->posData[4]=netStream.readUInt32NC();
-// seqDebug("%x %x %x %x %x",spawn->posData[0],spawn->posData[1],spawn->posData[2],spawn->posData[3],spawn->posData[4]);
-// seqDebug("%d %d %d | %d %d %d | %d %d | %d",spawn->y>>3,spawn->x>>3,spawn->z>>3,
-// spawn->deltaY>>2,spawn->deltaX>>2,spawn->deltaZ>>2,
-// spawn->heading,spawn->deltaHeading,spawn->animation);
-
// skip color
netStream.skipBytes(36);
@@ -597,14 +612,12 @@
{
name=netStream.readText();
strcpy(spawn->title,name.latin1());
-// seqDebug("title=%s",spawn->title);
}
if(spawn->otherData & 8)
{
name=netStream.readText();
strcpy(spawn->suffix,name.latin1());
-// seqDebug("suffix=%s",spawn->suffix);
}
netStream.skipBytes(32);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|