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
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <cn...@us...> - 2024-05-16 15:43:59
|
Revision: 1468 http://sourceforge.net/p/seq/svn/1468 Author: cn187 Date: 2024-05-16 15:43:58 +0000 (Thu, 16 May 2024) Log Message: ----------- Release 6.3.14 - Update to version 6.3.14 - Support for EQ Patch 05/15/24 - Struct and opcode updates (Newby) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2024-04-18 00:44:01 UTC (rev 1467) +++ showeq/trunk/ChangeLog 2024-05-16 15:43:58 UTC (rev 1468) @@ -1,3 +1,9 @@ +cn187 (05/15/24) +---------------- +- Update to version 6.3.14 +- Support for EQ Patch 05/15/24 +- Struct and opcode updates (Newby) + cn187 (04/17/24) ---------------- - Update to version 6.3.13 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-04-18 00:44:01 UTC (rev 1467) +++ showeq/trunk/conf/zoneopcodes.xml 2024-05-16 15:43:58 UTC (rev 1468) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="6269" name="OP_PlayerProfile" updated="04/17/24"> + <opcode id="7b63" name="OP_PlayerProfile" updated="05/15/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="103c" name="OP_ZoneEntry" updated="04/17/24"> + <opcode id="3af9" name="OP_ZoneEntry" updated="05/15/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1640" name="OP_TimeOfDay" updated="04/17/24"> + <opcode id="188f" name="OP_TimeOfDay" updated="05/15/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="5954" name="OP_NewZone" updated="04/17/24"> + <opcode id="4239" name="OP_NewZone" updated="05/15/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="124e" name="OP_SpawnDoor" updated="04/17/24"> + <opcode id="30e8" name="OP_SpawnDoor" updated="05/15/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="6ccc" name="OP_GroundSpawn" updated="04/17/24"> + <opcode id="5cce" name="OP_GroundSpawn" updated="05/15/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2ba7" name="OP_SendZonePoints" updated="04/17/24"> + <opcode id="05a5" name="OP_SendZonePoints" updated="05/15/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="4fef" name="OP_AAExpUpdate" updated="04/17/24"> + <opcode id="1786" name="OP_AAExpUpdate" updated="05/15/24"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> @@ -41,32 +41,32 @@ <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="632c" name="OP_GuildMOTD" updated="04/17/24"> + <opcode id="06e6" name="OP_GuildMOTD" updated="05/15/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="6ab6" name="OP_ClientUpdate" updated="04/17/24"> + <opcode id="7da8" name="OP_ClientUpdate" updated="05/15/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="55fe" name="OP_NpcMoveUpdate" updated="04/17/24"> + <opcode id="798b" name="OP_NpcMoveUpdate" updated="05/15/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3a7d" name="OP_MobUpdate" updated="04/17/24"> + <opcode id="6c1e" name="OP_MobUpdate" updated="05/15/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="6ac4" name="OP_DeleteSpawn" updated="04/17/24"> + <opcode id="4e6a" name="OP_DeleteSpawn" updated="05/15/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="46d8" name="OP_RemoveSpawn" updated="04/17/24"> + <opcode id="1e0c" name="OP_RemoveSpawn" updated="05/15/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="543c" name="OP_Death" updated="04/17/24"> + <opcode id="00ec" name="OP_Death" updated="05/15/24"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> @@ -74,7 +74,7 @@ <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="54de" name="OP_SpawnAppearance" updated="04/17/24"> + <opcode id="3178" name="OP_SpawnAppearance" updated="05/15/24"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> @@ -86,15 +86,15 @@ <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="738d" name="OP_GuildMemberUpdate" updated="04/17/24"> + <opcode id="2e5b" name="OP_GuildMemberUpdate" updated="05/15/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="78df" name="OP_ClickObject" updated="04/17/24"> + <opcode id="0c2e" name="OP_ClickObject" updated="05/15/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="3c63" name="OP_Action" updated="04/17/24"> + <opcode id="3a56" name="OP_Action" updated="05/15/24"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> @@ -103,11 +103,11 @@ <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="4e76" name="OP_Consider" updated="04/17/24"> + <opcode id="7b3d" name="OP_Consider" updated="05/15/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="2be8" name="OP_TargetMouse" updated="04/17/24"> + <opcode id="4a96" name="OP_TargetMouse" updated="05/15/24"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> @@ -123,7 +123,7 @@ <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="0a28" name="OP_ZoneChange" updated="04/17/24"> + <opcode id="54e6" name="OP_ZoneChange" updated="05/15/24"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -191,19 +191,19 @@ <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="3a74" name="OP_SimpleMessage" updated="04/17/24"> + <opcode id="5f08" name="OP_SimpleMessage" updated="05/15/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="3e93" name="OP_FormattedMessage" updated="04/17/24"> + <opcode id="445d" name="OP_FormattedMessage" updated="05/15/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="514c" name="OP_CommonMessage" updated="04/17/24"> + <opcode id="0f8c" name="OP_CommonMessage" updated="05/15/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="2e41" name="OP_SpecialMesg" updated="04/17/24"> + <opcode id="554c" name="OP_SpecialMesg" updated="05/15/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -307,7 +307,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="662e" name="OP_GuildMemberList" updated="04/17/24"> + <opcode id="4180" name="OP_GuildMemberList" updated="05/15/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2075" name="OP_ExpandedGuildInfo" updated="04/17/24"> + <opcode id="1801" name="OP_ExpandedGuildInfo" updated="05/15/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,7 +535,7 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="31d0" name="OP_GuildsInZoneList" updated="04/17/24"> + <opcode id="2dbd" name="OP_GuildsInZoneList" updated="05/15/24"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0a60" name="OP_Find" updated="04/17/24"> + <opcode id="2c3b" name="OP_Find" updated="05/15/24"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2024-04-18 00:44:01 UTC (rev 1467) +++ showeq/trunk/configure.in 2024-05-16 15:43:58 UTC (rev 1468) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.3.13) +AC_INIT(showeq, 6.3.14) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2024-04-18 00:44:01 UTC (rev 1467) +++ showeq/trunk/src/everquest.h 2024-05-16 15:43:58 UTC (rev 1468) @@ -1119,23 +1119,22 @@ struct { + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - signed deltaHeading:10; // change in heading - unsigned pad0:9; + unsigned pitch:12; // pitch (up/down heading) signed deltaX:13; // change in x - signed x:19; // x coord (1st loc value) + unsigned pad1:7; - signed animation:10; // current animation + signed deltaY:13; // change in y signed z:19; // z coord (3rd loc value) - unsigned pad2:3; - unsigned pitch:12; // pitch (up/down heading) - signed deltaY:13; // change in y - unsigned pad3:7; + signed animation:10; // current animation + signed deltaHeading:10; // change in heading + unsigned pad3:12; + signed y:19; // y coord (2nd loc value) unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) unsigned pad4:1; }; @@ -2397,23 +2396,22 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - signed deltaHeading:10; // change in heading - unsigned pad0:9; /*0008*/ + unsigned pitch:12; // pitch (up/down heading) signed deltaX:13; // change in x - signed x:19; // x coord (1st loc value) + unsigned pad1:7; /*0012*/ - signed animation:10; // current animation + signed deltaY:13; // change in y signed z:19; // z coord (3rd loc value) - unsigned pad2:3; /*0016*/ - unsigned pitch:12; // pitch (up/down heading) - signed deltaY:13; // change in y - unsigned pad3:7; + signed animation:10; // current animation + signed deltaHeading:10; // change in heading + unsigned pad3:12; /*0020*/ + signed y:19; // y coord (2nd loc value) unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) unsigned pad4:1; /*0024*/ }; @@ -2429,24 +2427,25 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float y; // y coord (2nd loc value) + float deltaZ; // change in z /*0010*/ unsigned heading:12; // heading - unsigned pad1:20; + unsigned pitch:12; // pitch (up/down heading) + unsigned pad1:8; /*0014*/ float x; // x coord (1st loc value) /*0018*/ - float deltaZ; // change in z + signed deltaHeading:10; // change in heading + signed animation:10; // current animation + unsigned pad3:12; /*0022*/ + float y; // y coord (2nd loc value) +/*0026*/ float deltaY; // change in y -/*0026*/ - signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading /*0030*/ + float deltaX; // change in x +/*0034*/ float z; // z coord (3rd loc value) -/*0034*/ - float deltaX; // change in x /*0038*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-04-18 00:44:04
|
Revision: 1467 http://sourceforge.net/p/seq/svn/1467 Author: cn187 Date: 2024-04-18 00:44:01 +0000 (Thu, 18 Apr 2024) Log Message: ----------- Release 6.3.13 - Updated version to 6.3.13 - Support for EQ Patch 04/17/24 - Struct and opcode updates (Newby) Modified Paths: -------------- showeq/branches/cn187_devel/ChangeLog showeq/branches/cn187_devel/conf/zoneopcodes.xml showeq/branches/cn187_devel/configure.in showeq/branches/cn187_devel/src/everquest.h showeq/branches/cn187_devel/src/zonemgr.cpp Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2024-04-18 00:43:53 UTC (rev 1466) +++ showeq/branches/cn187_devel/ChangeLog 2024-04-18 00:44:01 UTC (rev 1467) @@ -1,3 +1,9 @@ +cn187 (04/17/24) +---------------- +- Update to version 6.3.13 +- Support for EQ Patch 04/17/24 +- Struct and opcode updates (Newby) + cn187 (03/13/24) ---------------- - Update to version 6.3.12 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-04-18 00:43:53 UTC (rev 1466) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-04-18 00:44:01 UTC (rev 1467) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="1c76" name="OP_PlayerProfile" updated="03/13/24"> + <opcode id="6269" name="OP_PlayerProfile" updated="04/17/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="784a" name="OP_ZoneEntry" updated="03/13/24"> + <opcode id="103c" name="OP_ZoneEntry" updated="04/17/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3736" name="OP_TimeOfDay" updated="03/13/24"> + <opcode id="1640" name="OP_TimeOfDay" updated="04/17/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="4341" name="OP_NewZone" updated="03/13/24"> + <opcode id="5954" name="OP_NewZone" updated="04/17/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4273" name="OP_SpawnDoor" updated="03/13/24"> + <opcode id="124e" name="OP_SpawnDoor" updated="04/17/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="49c5" name="OP_GroundSpawn" updated="03/13/24"> + <opcode id="6ccc" name="OP_GroundSpawn" updated="04/17/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4eea" name="OP_SendZonePoints" updated="03/13/24"> + <opcode id="2ba7" name="OP_SendZonePoints" updated="04/17/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="642f" name="OP_AAExpUpdate" updated="03/13/24"> + <opcode id="4fef" name="OP_AAExpUpdate" updated="04/17/24"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> @@ -41,40 +41,40 @@ <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5a8d" name="OP_GuildMOTD" updated="03/13/24"> + <opcode id="632c" name="OP_GuildMOTD" updated="04/17/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="3a4b" name="OP_ClientUpdate" updated="03/13/24"> + <opcode id="6ab6" name="OP_ClientUpdate" updated="04/17/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="52fb" name="OP_NpcMoveUpdate" updated="03/13/24"> + <opcode id="55fe" name="OP_NpcMoveUpdate" updated="04/17/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="39ef" name="OP_MobUpdate" updated="03/13/24"> + <opcode id="3a7d" name="OP_MobUpdate" updated="04/17/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="7451" name="OP_DeleteSpawn" updated="03/13/24"> + <opcode id="6ac4" name="OP_DeleteSpawn" updated="04/17/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="7712" name="OP_RemoveSpawn" updated="03/13/24"> + <opcode id="46d8" name="OP_RemoveSpawn" updated="04/17/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="429a" name="OP_Death" updated="03/13/24"> + <opcode id="543c" name="OP_Death" updated="04/17/24"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="4fef" name="OP_WearChange" updated="07/19/23"> + <opcode id="ffff" name="OP_WearChange" updated="07/19/23"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2178" name="OP_SpawnAppearance" updated="03/13/24"> + <opcode id="54de" name="OP_SpawnAppearance" updated="04/17/24"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> @@ -86,28 +86,28 @@ <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="20aa" name="OP_GuildMemberUpdate" updated="03/13/24"> + <opcode id="738d" name="OP_GuildMemberUpdate" updated="04/17/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="687e" name="OP_ClickObject" updated="03/13/24"> + <opcode id="78df" name="OP_ClickObject" updated="04/17/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="4c13" name="OP_Action" updated="03/13/24"> + <opcode id="3c63" name="OP_Action" updated="04/17/24"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="5131" name="OP_Action2" updated="03/13/24"> + <opcode id="56d8" name="OP_Action2" updated="04/17/24"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="53e3" name="OP_Consider" updated="03/13/24"> + <opcode id="4e76" name="OP_Consider" updated="04/17/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="5741" name="OP_TargetMouse" updated="03/13/24"> + <opcode id="2be8" name="OP_TargetMouse" updated="04/17/24"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> @@ -123,7 +123,7 @@ <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="17a3" name="OP_ZoneChange" updated="03/13/24"> + <opcode id="0a28" name="OP_ZoneChange" updated="04/17/24"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -191,19 +191,19 @@ <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="7baa" name="OP_SimpleMessage" updated="03/13/24"> + <opcode id="3a74" name="OP_SimpleMessage" updated="04/17/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7f7f" name="OP_FormattedMessage" updated="03/13/24"> + <opcode id="3e93" name="OP_FormattedMessage" updated="04/17/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6adc" name="OP_CommonMessage" updated="03/13/24"> + <opcode id="514c" name="OP_CommonMessage" updated="04/17/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="7d93" name="OP_SpecialMesg" updated="03/13/24"> + <opcode id="2e41" name="OP_SpecialMesg" updated="04/17/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -307,7 +307,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="43f7" name="OP_GuildMemberList" updated="03/13/24"> + <opcode id="662e" name="OP_GuildMemberList" updated="04/17/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="079d" name="OP_ExpandedGuildInfo" updated="03/13/24"> + <opcode id="2075" name="OP_ExpandedGuildInfo" updated="04/17/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,7 +535,7 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4dce" name="OP_GuildsInZoneList" updated="07/19/23"> + <opcode id="31d0" name="OP_GuildsInZoneList" updated="04/17/24"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6997" name="OP_Find" updated="03/13/24"> + <opcode id="0a60" name="OP_Find" updated="04/17/24"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/branches/cn187_devel/configure.in =================================================================== --- showeq/branches/cn187_devel/configure.in 2024-04-18 00:43:53 UTC (rev 1466) +++ showeq/branches/cn187_devel/configure.in 2024-04-18 00:44:01 UTC (rev 1467) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.3.12) +AC_INIT(showeq, 6.3.13) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2024-04-18 00:43:53 UTC (rev 1466) +++ showeq/branches/cn187_devel/src/everquest.h 2024-04-18 00:44:01 UTC (rev 1467) @@ -467,7 +467,7 @@ /* * Used in charProfileStruct - * Size: 13 Octets + * Size: 12 Octets */ struct AA_Array { @@ -474,8 +474,7 @@ /*000*/ uint32_t AA; /*004*/ uint32_t value; /*008*/ uint32_t unknown008; -/*012*/ uint8_t unknown012; -/*013*/ +/*012*/ }; /** @@ -1120,22 +1119,24 @@ struct { - signed y:19; // y coord (2nd loc value) + signed deltaZ:13; // change in z + signed deltaHeading:10; // change in heading + unsigned pad0:9; + signed deltaX:13; // change in x + signed x:19; // x coord (1st loc value) - unsigned heading:12; // heading + signed animation:10; // current animation signed z:19; // z coord (3rd loc value) - unsigned pad1:1; + unsigned pad2:3; unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading - signed animation:10; // current animation - signed deltaY:13; // change in y - unsigned pad3:19; + unsigned pad3:7; - signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned pad4:1; }; int32_t posData[5]; @@ -2396,22 +2397,24 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed y:19; // y coord (2nd loc value) + signed deltaZ:13; // change in z + signed deltaHeading:10; // change in heading + unsigned pad0:9; +/*0008*/ signed deltaX:13; // change in x -/*0008*/ - unsigned heading:12; // heading - signed z:19; // z coord (3rd loc value) - unsigned pad1:1; + signed x:19; // x coord (1st loc value) /*0012*/ - unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading signed animation:10; // current animation + signed z:19; // z coord (3rd loc value) + unsigned pad2:3; /*0016*/ + unsigned pitch:12; // pitch (up/down heading) signed deltaY:13; // change in y - unsigned pad3:19; + unsigned pad3:7; /*0020*/ - signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned pad4:1; /*0024*/ }; @@ -2426,25 +2429,24 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float deltaX; // change in x + float y; // y coord (2nd loc value) /*0010*/ + unsigned heading:12; // heading + unsigned pad1:20; +/*0014*/ float x; // x coord (1st loc value) -/*0014*/ - float z; // z coord (3rd loc value) /*0018*/ - signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - unsigned pad3:10; + float deltaZ; // change in z /*0022*/ float deltaY; // change in y /*0026*/ - float y; // y coord (2nd loc value) + signed animation:10; // current animation + unsigned pitch:12; // pitch (up/down heading) + signed deltaHeading:10; // change in heading /*0030*/ - signed deltaHeading:10; // change in heading - unsigned heading:12; // heading - unsigned pad6:10; + float z; // z coord (3rd loc value) /*0034*/ - float deltaZ; // change in z + float deltaX; // change in x /*0038*/ }; Modified: showeq/branches/cn187_devel/src/zonemgr.cpp =================================================================== --- showeq/branches/cn187_devel/src/zonemgr.cpp 2024-04-18 00:43:53 UTC (rev 1466) +++ showeq/branches/cn187_devel/src/zonemgr.cpp 2024-04-18 00:44:01 UTC (rev 1467) @@ -298,7 +298,6 @@ player->profile.aa_array[i].AA = netStream.readUInt32NC(); player->profile.aa_array[i].value = netStream.readUInt32NC(); player->profile.aa_array[i].unknown008 = netStream.readUInt32NC(); - player->profile.aa_array[i].unknown012 = netStream.readUInt8(); } // Number of SKills (100 ints) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-04-18 00:43:56
|
Revision: 1466 http://sourceforge.net/p/seq/svn/1466 Author: cn187 Date: 2024-04-18 00:43:53 +0000 (Thu, 18 Apr 2024) Log Message: ----------- Differentiate between global and zone filter in add dialog title Modified Paths: -------------- showeq/branches/cn187_devel/src/spawnlistcommon.cpp Modified: showeq/branches/cn187_devel/src/spawnlistcommon.cpp =================================================================== --- showeq/branches/cn187_devel/src/spawnlistcommon.cpp 2024-04-18 00:34:33 UTC (rev 1465) +++ showeq/branches/cn187_devel/src/spawnlistcommon.cpp 2024-04-18 00:43:53 UTC (rev 1466) @@ -675,7 +675,7 @@ // get the user edited filter string, based on the items filterString bool ok = false; filterString = - FilterDialog::getFilter(m_spawnlist, filterName + " Filter", + FilterDialog::getFilter(m_spawnlist, filterName + " Zone Filter", filterString, &ok); // if the user clicked ok, add the filter This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-04-18 00:34:35
|
Revision: 1465 http://sourceforge.net/p/seq/svn/1465 Author: cn187 Date: 2024-04-18 00:34:33 +0000 (Thu, 18 Apr 2024) Log Message: ----------- Tag for release 6.3.13 Added Paths: ----------- showeq/tags/v6_3_13/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-04-18 00:32:38
|
Revision: 1464 http://sourceforge.net/p/seq/svn/1464 Author: cn187 Date: 2024-04-18 00:32:36 +0000 (Thu, 18 Apr 2024) Log Message: ----------- Release 6.3.13 - Updated version to 6.3.13 - Support for EQ Patch 04/17/24 - Struct and opcode updates (Newby) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/zonemgr.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2024-04-01 23:06:14 UTC (rev 1463) +++ showeq/trunk/ChangeLog 2024-04-18 00:32:36 UTC (rev 1464) @@ -1,3 +1,9 @@ +cn187 (04/17/24) +---------------- +- Update to version 6.3.13 +- Support for EQ Patch 04/17/24 +- Struct and opcode updates (Newby) + cn187 (03/13/24) ---------------- - Update to version 6.3.12 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-04-01 23:06:14 UTC (rev 1463) +++ showeq/trunk/conf/zoneopcodes.xml 2024-04-18 00:32:36 UTC (rev 1464) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="1c76" name="OP_PlayerProfile" updated="03/13/24"> + <opcode id="6269" name="OP_PlayerProfile" updated="04/17/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="784a" name="OP_ZoneEntry" updated="03/13/24"> + <opcode id="103c" name="OP_ZoneEntry" updated="04/17/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3736" name="OP_TimeOfDay" updated="03/13/24"> + <opcode id="1640" name="OP_TimeOfDay" updated="04/17/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="4341" name="OP_NewZone" updated="03/13/24"> + <opcode id="5954" name="OP_NewZone" updated="04/17/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4273" name="OP_SpawnDoor" updated="03/13/24"> + <opcode id="124e" name="OP_SpawnDoor" updated="04/17/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="49c5" name="OP_GroundSpawn" updated="03/13/24"> + <opcode id="6ccc" name="OP_GroundSpawn" updated="04/17/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4eea" name="OP_SendZonePoints" updated="03/13/24"> + <opcode id="2ba7" name="OP_SendZonePoints" updated="04/17/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="642f" name="OP_AAExpUpdate" updated="03/13/24"> + <opcode id="4fef" name="OP_AAExpUpdate" updated="04/17/24"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> @@ -41,40 +41,40 @@ <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5a8d" name="OP_GuildMOTD" updated="03/13/24"> + <opcode id="632c" name="OP_GuildMOTD" updated="04/17/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="3a4b" name="OP_ClientUpdate" updated="03/13/24"> + <opcode id="6ab6" name="OP_ClientUpdate" updated="04/17/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="52fb" name="OP_NpcMoveUpdate" updated="03/13/24"> + <opcode id="55fe" name="OP_NpcMoveUpdate" updated="04/17/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="39ef" name="OP_MobUpdate" updated="03/13/24"> + <opcode id="3a7d" name="OP_MobUpdate" updated="04/17/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="7451" name="OP_DeleteSpawn" updated="03/13/24"> + <opcode id="6ac4" name="OP_DeleteSpawn" updated="04/17/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="7712" name="OP_RemoveSpawn" updated="03/13/24"> + <opcode id="46d8" name="OP_RemoveSpawn" updated="04/17/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="429a" name="OP_Death" updated="03/13/24"> + <opcode id="543c" name="OP_Death" updated="04/17/24"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="4fef" name="OP_WearChange" updated="07/19/23"> + <opcode id="ffff" name="OP_WearChange" updated="07/19/23"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2178" name="OP_SpawnAppearance" updated="03/13/24"> + <opcode id="54de" name="OP_SpawnAppearance" updated="04/17/24"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> @@ -86,28 +86,28 @@ <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="20aa" name="OP_GuildMemberUpdate" updated="03/13/24"> + <opcode id="738d" name="OP_GuildMemberUpdate" updated="04/17/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="687e" name="OP_ClickObject" updated="03/13/24"> + <opcode id="78df" name="OP_ClickObject" updated="04/17/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="4c13" name="OP_Action" updated="03/13/24"> + <opcode id="3c63" name="OP_Action" updated="04/17/24"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="5131" name="OP_Action2" updated="03/13/24"> + <opcode id="56d8" name="OP_Action2" updated="04/17/24"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="53e3" name="OP_Consider" updated="03/13/24"> + <opcode id="4e76" name="OP_Consider" updated="04/17/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="5741" name="OP_TargetMouse" updated="03/13/24"> + <opcode id="2be8" name="OP_TargetMouse" updated="04/17/24"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> @@ -123,7 +123,7 @@ <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="17a3" name="OP_ZoneChange" updated="03/13/24"> + <opcode id="0a28" name="OP_ZoneChange" updated="04/17/24"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -191,19 +191,19 @@ <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="7baa" name="OP_SimpleMessage" updated="03/13/24"> + <opcode id="3a74" name="OP_SimpleMessage" updated="04/17/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7f7f" name="OP_FormattedMessage" updated="03/13/24"> + <opcode id="3e93" name="OP_FormattedMessage" updated="04/17/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6adc" name="OP_CommonMessage" updated="03/13/24"> + <opcode id="514c" name="OP_CommonMessage" updated="04/17/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="7d93" name="OP_SpecialMesg" updated="03/13/24"> + <opcode id="2e41" name="OP_SpecialMesg" updated="04/17/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -307,7 +307,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="43f7" name="OP_GuildMemberList" updated="03/13/24"> + <opcode id="662e" name="OP_GuildMemberList" updated="04/17/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="079d" name="OP_ExpandedGuildInfo" updated="03/13/24"> + <opcode id="2075" name="OP_ExpandedGuildInfo" updated="04/17/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,7 +535,7 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4dce" name="OP_GuildsInZoneList" updated="07/19/23"> + <opcode id="31d0" name="OP_GuildsInZoneList" updated="04/17/24"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6997" name="OP_Find" updated="03/13/24"> + <opcode id="0a60" name="OP_Find" updated="04/17/24"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2024-04-01 23:06:14 UTC (rev 1463) +++ showeq/trunk/configure.in 2024-04-18 00:32:36 UTC (rev 1464) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.3.12) +AC_INIT(showeq, 6.3.13) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2024-04-01 23:06:14 UTC (rev 1463) +++ showeq/trunk/src/everquest.h 2024-04-18 00:32:36 UTC (rev 1464) @@ -467,7 +467,7 @@ /* * Used in charProfileStruct - * Size: 13 Octets + * Size: 12 Octets */ struct AA_Array { @@ -474,8 +474,7 @@ /*000*/ uint32_t AA; /*004*/ uint32_t value; /*008*/ uint32_t unknown008; -/*012*/ uint8_t unknown012; -/*013*/ +/*012*/ }; /** @@ -1120,22 +1119,24 @@ struct { - signed y:19; // y coord (2nd loc value) + signed deltaZ:13; // change in z + signed deltaHeading:10; // change in heading + unsigned pad0:9; + signed deltaX:13; // change in x + signed x:19; // x coord (1st loc value) - unsigned heading:12; // heading + signed animation:10; // current animation signed z:19; // z coord (3rd loc value) - unsigned pad1:1; + unsigned pad2:3; unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading - signed animation:10; // current animation - signed deltaY:13; // change in y - unsigned pad3:19; + unsigned pad3:7; - signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned pad4:1; }; int32_t posData[5]; @@ -2396,22 +2397,24 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed y:19; // y coord (2nd loc value) + signed deltaZ:13; // change in z + signed deltaHeading:10; // change in heading + unsigned pad0:9; +/*0008*/ signed deltaX:13; // change in x -/*0008*/ - unsigned heading:12; // heading - signed z:19; // z coord (3rd loc value) - unsigned pad1:1; + signed x:19; // x coord (1st loc value) /*0012*/ - unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading signed animation:10; // current animation + signed z:19; // z coord (3rd loc value) + unsigned pad2:3; /*0016*/ + unsigned pitch:12; // pitch (up/down heading) signed deltaY:13; // change in y - unsigned pad3:19; + unsigned pad3:7; /*0020*/ - signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned pad4:1; /*0024*/ }; @@ -2426,25 +2429,24 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float deltaX; // change in x + float y; // y coord (2nd loc value) /*0010*/ + unsigned heading:12; // heading + unsigned pad1:20; +/*0014*/ float x; // x coord (1st loc value) -/*0014*/ - float z; // z coord (3rd loc value) /*0018*/ - signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - unsigned pad3:10; + float deltaZ; // change in z /*0022*/ float deltaY; // change in y /*0026*/ - float y; // y coord (2nd loc value) + signed animation:10; // current animation + unsigned pitch:12; // pitch (up/down heading) + signed deltaHeading:10; // change in heading /*0030*/ - signed deltaHeading:10; // change in heading - unsigned heading:12; // heading - unsigned pad6:10; + float z; // z coord (3rd loc value) /*0034*/ - float deltaZ; // change in z + float deltaX; // change in x /*0038*/ }; Modified: showeq/trunk/src/zonemgr.cpp =================================================================== --- showeq/trunk/src/zonemgr.cpp 2024-04-01 23:06:14 UTC (rev 1463) +++ showeq/trunk/src/zonemgr.cpp 2024-04-18 00:32:36 UTC (rev 1464) @@ -293,7 +293,6 @@ player->profile.aa_array[i].AA = netStream.readUInt32NC(); player->profile.aa_array[i].value = netStream.readUInt32NC(); player->profile.aa_array[i].unknown008 = netStream.readUInt32NC(); - player->profile.aa_array[i].unknown012 = netStream.readUInt8(); } // Number of SKills (100 ints) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-04-01 23:06:16
|
Revision: 1463 http://sourceforge.net/p/seq/svn/1463 Author: cn187 Date: 2024-04-01 23:06:14 +0000 (Mon, 01 Apr 2024) Log Message: ----------- Fix AddFilter dialog compile error under qt4 Modified Paths: -------------- showeq/branches/cn187_devel/src/filtermgr.cpp Modified: showeq/branches/cn187_devel/src/filtermgr.cpp =================================================================== --- showeq/branches/cn187_devel/src/filtermgr.cpp 2024-04-01 22:51:03 UTC (rev 1462) +++ showeq/branches/cn187_devel/src/filtermgr.cpp 2024-04-01 23:06:14 UTC (rev 1463) @@ -760,13 +760,13 @@ return; } - QStringList::const_iterator itr = tokens.cbegin(); - for (;itr < tokens.cend(); ++itr) + QStringList::const_iterator itr = tokens.begin(); + for (;itr < tokens.end(); ++itr) { QString name = *itr; if (!map->contains(name)) { - if (!name.length() && itr == tokens.cend() - 1) + if (!name.length() && itr == tokens.end() - 1) { //filter string has an ending : that we can ignore continue; @@ -776,7 +776,7 @@ ++itr; // skip this field's data continue; } - if (++itr == tokens.cend()) + if (++itr == tokens.end()) continue; QString value = *itr; @@ -789,7 +789,7 @@ //TODO also, check on adding trailing : to Item spawn filterstring //to make it consistent with the Spawn filterstring value += ":"; - if (++itr == tokens.cend()) + if (++itr == tokens.end()) continue; value += *itr; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-04-01 22:51:05
|
Revision: 1462 http://sourceforge.net/p/seq/svn/1462 Author: cn187 Date: 2024-04-01 22:51:03 +0000 (Mon, 01 Apr 2024) Log Message: ----------- Redesign filter add dialog Modified Paths: -------------- showeq/branches/cn187_devel/src/filtermgr.cpp showeq/branches/cn187_devel/src/filtermgr.h showeq/branches/cn187_devel/src/spawnlistcommon.cpp Modified: showeq/branches/cn187_devel/src/filtermgr.cpp =================================================================== --- showeq/branches/cn187_devel/src/filtermgr.cpp 2024-03-17 15:44:58 UTC (rev 1461) +++ showeq/branches/cn187_devel/src/filtermgr.cpp 2024-04-01 22:51:03 UTC (rev 1462) @@ -34,6 +34,13 @@ #include <QString> #include <QFileInfo> +#include <QLineEdit> +#include <QLabel> +#include <QGridLayout> +#include <QVBoxLayout> +#include <QHBoxLayout> +#include <QPushButton> +#include <QCheckBox> // // ZBTEMP: predefined filters and filter mask will be migrated out @@ -41,6 +48,12 @@ // at runtime ala the runtime Filter stuff // +#define X(a, b) b, +const QString FilterStringFieldName[] = { + FILTERSTRINGFIELD_TABLE +}; +#undef X + //---------------------------------------------------------------------- // FilterMgr FilterMgr::FilterMgr(const DataLocationMgr* dataLocMgr, @@ -331,6 +344,551 @@ emit runtimeFiltersChanged(type); } + + +FilterFormField::FilterFormField(QString name, QString labeltext, QWidget* parent) : + QWidget(parent), + m_name(name), + m_labeltext(labeltext), + m_check(nullptr), + m_label(nullptr), + m_edit(nullptr) +{ + if (m_labeltext.isNull()) + m_labeltext = m_name; + + m_check = new QCheckBox(this); + m_check->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed); + + m_label = new QLabel(m_labeltext, this); + QSizePolicy tmpPolicy = m_label->sizePolicy(); + tmpPolicy.setVerticalPolicy(QSizePolicy::Fixed); + m_label->setSizePolicy(tmpPolicy); + + m_edit = new QLineEdit(this); + tmpPolicy = m_edit->sizePolicy(); + tmpPolicy.setVerticalPolicy(QSizePolicy::Fixed); + m_edit->setSizePolicy(tmpPolicy); + + QHBoxLayout* layout = new QHBoxLayout(this); + layout->addWidget(m_check); + layout->addWidget(m_label); + layout->addWidget(m_edit); + + connect(m_check, SIGNAL(toggled(bool)), m_edit, SLOT(setEnabled(bool))); +} + +void FilterFormField::stateChanged(int state) +{ + bool old_check_state = m_check->blockSignals(true); + bool old_edit_state = m_edit->blockSignals(true); + switch (state) + { + case Qt::Unchecked: + m_check->setChecked(false); + m_edit->setEnabled(false); + break; + case Qt::PartiallyChecked: + break; + case Qt::Checked: + m_check->setChecked(true); + m_edit->setEnabled(true); + break; + } + m_check->blockSignals(old_check_state); + m_edit->blockSignals(old_edit_state); +} + + +FilterDialog::FilterDialog(QWidget* parent, Qt::WindowFlags flags) : + QDialog(parent, flags), + m_toggleAll(nullptr), + m_filterString(QString()), + m_fieldCount(0), + m_fieldsCheckedCount(0) +{ + //init m_spawnFilterMap + for (int field = FSF_Name; field < FSF_Max; ++field) + { + QString name = FilterStringFieldName[field]; + m_spawnFilterMap[name] = ""; + } + m_spawnFilterMap[FSF_MINLEVEL_NAME] = ""; + m_spawnFilterMap[FSF_MAXLEVEL_NAME] = ""; + + createForm(); +} + +FilterDialog::~FilterDialog() +{ } + +void FilterDialog::createForm() +{ + + const int colspc_x = 20; + const int colspc_y = 1; + + QVBoxLayout* pageLayout = new QVBoxLayout(this); + QGridLayout* gridLayout = new QGridLayout(); + + // info/instructions + QLabel* tmpLabel = new QLabel("All fields except '" FSF_MINLEVEL_LABEL "' and '" FSF_MAXLEVEL_LABEL "' accept Regular Expression syntax.", this); + tmpLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + pageLayout->addWidget(tmpLabel); + tmpLabel = new QLabel("For an exact level match or matching multiple levels using a RegEx, use the 'Level' field.", this); + tmpLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + pageLayout->addWidget(tmpLabel); + tmpLabel = new QLabel("To limit to a simple level range (no RegEx), use the '" FSF_MINLEVEL_LABEL "' and '" FSF_MAXLEVEL_LABEL "' fields.", this); + tmpLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + pageLayout->addWidget(tmpLabel); + tmpLabel = new QLabel("Any fields left blank or not checked will not be matched against.", this); + tmpLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + pageLayout->addWidget(tmpLabel); + + pageLayout->addItem(new QSpacerItem(colspc_x, 25)); + + //using an extra widget so the spacing lines up + QWidget* toggleAllWidget = new QWidget(); + QHBoxLayout* toggleAllLayout = new QHBoxLayout(toggleAllWidget); + m_toggleAll = new QCheckBox(); + m_toggleAll->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); + m_toggleAll->setTristate(true); + toggleAllLayout->addWidget(m_toggleAll); + toggleAllLayout->addWidget(new QLabel("Toggle All", this)); + connect(m_toggleAll, SIGNAL(stateChanged(int)), this, SLOT(toggleAllToggled(int))); + + pageLayout->addLayout(gridLayout); + gridLayout->addWidget(toggleAllWidget, 0, 0); + + const QString labels[] = { + "Name", "Level", "Race", "Class", "NPC", "X", "Y", "Z", "Light", "Deity", + "Race Team", "Deity Team", "Type", "Last Name", "Guild", "Spawn Time", "GM" }; + + for (int field = FSF_Name; field < FSF_Max; ++field) + { + QString name = FilterStringFieldName[field]; + QString label = labels[field]; + m_filterFields[name] = new FilterFormField(name, label); + m_fieldCount++; + + } + + //not part of normal regex string, but still part of filter + m_filterFields[FSF_MINLEVEL_NAME] = new FilterFormField(FSF_MINLEVEL_NAME, FSF_MINLEVEL_LABEL); + m_filterFields[FSF_MAXLEVEL_NAME] = new FilterFormField(FSF_MAXLEVEL_NAME, FSF_MAXLEVEL_LABEL); + m_fieldCount += 2; + + const QString formFieldOrder[] = { "Name", "LastName", "Guild", "Race", "Class", + "Deity", "Level", FSF_MINLEVEL_NAME, FSF_MAXLEVEL_NAME, "X", "Y", "Z", "NPC", "Type", + "GM", "RTeam", "DTeam", "Spawn", "Light" }; + + int row = 1; //toggle all is row 0 + int col = 0; + for (auto fieldname : formFieldOrder) + { + gridLayout->addWidget(m_filterFields[fieldname], row, col++); + + connect(m_toggleAll, SIGNAL(stateChanged(int)), m_filterFields[fieldname], SLOT(stateChanged(int))); + connect(m_filterFields[fieldname]->m_check, SIGNAL(toggled(bool)), this, SLOT(fieldToggled(bool))); + + if (fieldname == "Guild" || fieldname == "Deity" || + fieldname == FSF_MAXLEVEL_NAME || fieldname == "Z" || + fieldname == "GM" || fieldname == "Spawn") + { + row++; + col = 0; + } + } + + //buttons + QHBoxLayout* buttonLayout = new QHBoxLayout(); + pageLayout->addItem(new QSpacerItem(colspc_x, 25)); + pageLayout->addLayout(buttonLayout); + + QPushButton* resetButton = new QPushButton("Reset"); + resetButton->setDefault(false); + resetButton->setAutoDefault(false); + buttonLayout->addWidget(resetButton); + connect(resetButton, SIGNAL(clicked()), this, SLOT(resetForm())); + + buttonLayout->addItem(new QSpacerItem(colspc_x, colspc_y)); + + QPushButton* okButton = new QPushButton("Ok"); + okButton->setDefault(false); + okButton->setAutoDefault(false); + buttonLayout->addWidget(okButton); + connect(okButton, SIGNAL(clicked()), this, SLOT(acceptDialog())); + + QPushButton* cancelButton = new QPushButton("Cancel"); + cancelButton->setDefault(false); + cancelButton->setAutoDefault(false); + buttonLayout->addWidget(cancelButton); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); +} + +void FilterDialog::setData(const QString filterString) +{ + m_spawnFilterString = filterString; + + FilterString2FilterFieldMap(filterString, &m_spawnFilterMap); + + resetForm(); +} + +void FilterDialog::resetForm() +{ + m_fieldsCheckedCount = 0; + for (int field = FSF_Name; field < FSF_Max; ++field) + { + QString name = FilterStringFieldName[field]; + m_filterFields[name]->m_edit->setText(m_spawnFilterMap[name]); + + if (m_filterFields[name]->m_edit->text().length()) + { + m_filterFields[name]->stateChanged(Qt::Checked); + m_fieldsCheckedCount++; + } + else + { + m_filterFields[name]->stateChanged(Qt::Unchecked); + } + } + //not part of normal regex string, but still part of filter + m_filterFields[FSF_MINLEVEL_NAME]->m_edit->setText(m_spawnFilterMap[FSF_MINLEVEL_NAME]); + if (m_filterFields[FSF_MINLEVEL_NAME]->m_edit->text().length()) + { + m_filterFields[FSF_MINLEVEL_NAME]->stateChanged(Qt::Checked); + m_fieldsCheckedCount++; + } + else + { + m_filterFields[FSF_MINLEVEL_NAME]->stateChanged(Qt::Unchecked); + } + m_filterFields[FSF_MAXLEVEL_NAME]->m_edit->setText(m_spawnFilterMap[FSF_MAXLEVEL_NAME]); + if (m_filterFields[FSF_MAXLEVEL_NAME]->m_edit->text().length()) + { + m_filterFields[FSF_MAXLEVEL_NAME]->stateChanged(Qt::Checked); + m_fieldsCheckedCount++; + } + else + { + m_filterFields[FSF_MAXLEVEL_NAME]->stateChanged(Qt::Unchecked); + } + + bool old_state = m_toggleAll->blockSignals(true); + if (m_fieldsCheckedCount == 0) + m_toggleAll->setCheckState(Qt::Unchecked); + else if (m_fieldsCheckedCount == m_fieldCount) + m_toggleAll->setCheckState(Qt::Checked); + else + m_toggleAll->setCheckState(Qt::PartiallyChecked); + m_toggleAll->blockSignals(old_state); + +} + +void FilterDialog::acceptDialog() +{ + FilterFieldMap map; + + //if enabled, add to map + for (int field = FSF_Name; field < FSF_Max; ++field) + { + QString name = FilterStringFieldName[field]; + if (m_filterFields[name]->m_edit->isEnabled()) + map[name] = m_filterFields[name]->m_edit->text(); + } + //not part of normal regex string, but still part of filter + if (m_filterFields[FSF_MINLEVEL_NAME]->m_edit->isEnabled()) + map[FSF_MINLEVEL_NAME] = m_filterFields[FSF_MINLEVEL_NAME]->m_edit->text(); + + if (m_filterFields[FSF_MAXLEVEL_NAME]->m_edit->isEnabled()) + map[FSF_MAXLEVEL_NAME] = m_filterFields[FSF_MAXLEVEL_NAME]->m_edit->text(); + + + m_filterString = FilterFieldMap2FilterString(&map); + + done(QDialog::Accepted); +} + +void FilterDialog::fieldToggled(bool checked) +{ + if (checked) + m_fieldsCheckedCount++; + else + m_fieldsCheckedCount--; + + bool old_state = m_toggleAll->blockSignals(true); + if (m_fieldsCheckedCount == m_fieldCount) + m_toggleAll->setCheckState(Qt::Checked); + else if (m_fieldsCheckedCount == 0) + m_toggleAll->setCheckState(Qt::Unchecked); + else + m_toggleAll->setCheckState(Qt::PartiallyChecked); + m_toggleAll->blockSignals(old_state); +} + +void FilterDialog::toggleAllToggled(int state) +{ + if (sender() != m_toggleAll) + return; + + switch(state) + { + case Qt::Checked: + m_fieldsCheckedCount = m_fieldCount; + break; + case Qt::Unchecked: + m_fieldsCheckedCount = 0; + break; + case Qt::PartiallyChecked: + m_toggleAll->setCheckState(Qt::Checked); + m_fieldsCheckedCount = m_fieldCount; + } + emit stateChanged(m_toggleAll->checkState()); +} + +QString FilterDialog::getFilter(QWidget* parent, const QString& title, + const QString& filterString, bool* ok, Qt::WindowFlags flags, + Qt::InputMethodHints inputMethodHints) +{ + FilterDialog* dlg = new FilterDialog(parent, flags); + dlg->setWindowTitle(title); + dlg->setData(filterString); + + const int ret = dlg->exec(); + if (ok) + *ok = ret; + + QString result; + if (ok) + result = dlg->m_filterString; + + dlg->deleteLater(); + return result; +} + + +void FilterString2FilterFieldMap(const QString filterString, FilterFieldMap* map) +{ + if (!map || !filterString.length()) + return; + + QString levelSuffix; + QString regex; + int minLevel = -1; + int maxLevel = -1; + + int split = filterString.lastIndexOf(';'); + if (split == -1) + { + regex = filterString; + } + else + { + regex = filterString.left(split); + levelSuffix = filterString.mid(split+1); + } + + + // parse level range string + if (levelSuffix.length()) + { + auto range = levelSuffix.split('-'); + bool ok = false; + + if (range.size() == 1) + { + //no dash, only a single level specified - treat as exact match + int level = range[0].toInt(&ok); + if (ok) + { + minLevel = level; + maxLevel = level; + } + else + { + seqWarn("Could not parse level: %s", range[0].toLatin1().data()); + } + } + else if (range.size() == 2) + { + //one dash, two fields - treat as range + int level = range[0].toInt(&ok); + if (ok) + minLevel = level; + else + seqWarn("Could not parse min level: %s", range[0].toLatin1().data()); + + ok = false; + level = range[1].toInt(&ok); + if (ok) + maxLevel = level; + else + seqWarn("Could not parse max level: %s", range[0].toLatin1().data()); + + + // if range wasn't fully/correctly specified, use defaults + minLevel = (minLevel > -1) ? minLevel : 0; + maxLevel = (maxLevel > -1) ? maxLevel : SHRT_MAX; + + } + else + { + seqWarn("Ignoring malformed level range string."); + } + + if (maxLevel < minLevel) + { + int tmp = maxLevel; + maxLevel = minLevel; + minLevel = tmp; + } + } + + + // parse regex string and set map fields + + //process filter string and set form fields + QStringList tokens = regex.split(":"); + + //fields should be key:value, but split will create an extra item in the + //list after the last :, so for a well-formed filterString, there should + //always be an odd number of elements + if (tokens.length() % 2 != 1) + { + seqWarn("Malformed filterString regex: %s", regex.toLatin1().data()); + return; + } + + QStringList::const_iterator itr = tokens.cbegin(); + for (;itr < tokens.cend(); ++itr) + { + QString name = *itr; + if (!map->contains(name)) + { + if (!name.length() && itr == tokens.cend() - 1) + { + //filter string has an ending : that we can ignore + continue; + } + + seqWarn("Ignoring unknown filter string field: %s", name.toLatin1().data()); + ++itr; // skip this field's data + continue; + } + if (++itr == tokens.cend()) + continue; + QString value = *itr; + + if (name == "Name" && (value == "Door" || value == "Drop")) + { + //infuriatingly, we add a colon to door and drop names. + //TODO try to find out how many people's filters this will break + //if we remove the : from door and drop names (maybe replace it with + //a - or something. Or save it for 7.x and do it anyway. + //TODO also, check on adding trailing : to Item spawn filterstring + //to make it consistent with the Spawn filterstring + value += ":"; + if (++itr == tokens.cend()) + continue; + value += *itr; + } + + (*map)[name] = value.trimmed(); + } + + if (minLevel > -1) + (*map)[FSF_MINLEVEL_NAME] = QString::number(minLevel); + + if (maxLevel > -1) + (*map)[FSF_MAXLEVEL_NAME] = QString::number(maxLevel); + +} + +QString FilterFieldMap2FilterString(FilterFieldMap* map) +{ + if (!map) + return QString(); + + QString filterString; + bool wildcard = false; + bool has_first_match = false; + + for (int field = FSF_Name; field < FSF_Max; ++field) + { + QString name = FilterStringFieldName[field]; + + if (!map->contains(name) || !(*map)[name].trimmed().length()) + { + if (has_first_match && !wildcard) + { + wildcard = true; + } + continue; + } + + QString value = (*map)[name]; + value = value.trimmed(); + + has_first_match = true; + + if (wildcard) + { + wildcard = false; + filterString += ".*:"; + } + filterString += name; + filterString += ":"; + filterString += value; + filterString += ":"; + + } + + //min/max level are not part of normal regex string, but still part of filter + int minLevel = -1; + int maxLevel = -1; + + if (map->contains(FSF_MINLEVEL_NAME)) + { + QString value = (*map)[FSF_MINLEVEL_NAME]; + value = value.trimmed(); + bool ok = false; + int level = value.toInt(&ok); + if (ok) + minLevel = level; + } + + if (map->contains(FSF_MAXLEVEL_NAME)) + { + QString value = (*map)[FSF_MAXLEVEL_NAME]; + value = value.trimmed(); + bool ok = false; + int level = value.toInt(&ok); + if (ok) + maxLevel = level; + } + + if (minLevel >= 0 || maxLevel >= 0) + { + minLevel = (minLevel >= 0) ? minLevel : 0; + maxLevel = (maxLevel >= 0) ? maxLevel : SHRT_MAX; + + if (maxLevel < minLevel) + { + int tmp = maxLevel; + maxLevel = minLevel; + minLevel = tmp; + } + + filterString += ";"; + filterString += QString::number(minLevel); + filterString += "-"; + filterString += QString::number(maxLevel); + } + + return filterString; +} + #ifndef QMAKEBUILD #include "filtermgr.moc" #endif Modified: showeq/branches/cn187_devel/src/filtermgr.h =================================================================== --- showeq/branches/cn187_devel/src/filtermgr.h 2024-03-17 15:44:58 UTC (rev 1461) +++ showeq/branches/cn187_devel/src/filtermgr.h 2024-04-01 22:51:03 UTC (rev 1462) @@ -39,6 +39,11 @@ #include <map> #include <QObject> +#include <QDialog> +#include <QString> +#include <QLabel> +#include <QLineEdit> +#include <QCheckBox> #include "everquest.h" @@ -74,9 +79,46 @@ #define FILTER_FLAG_DANGER (1 << DANGER_FILTER) #define FILTER_FLAG_LOCATE (1 << LOCATE_FILTER) #define FILTER_FLAG_ALERT (1 << ALERT_FILTER) -#define FILTER_FLAG_FILTERED (1 << FILTERED_FILTER) +#define FILTER_FLAG_FILTERED (1 << FILTERED_FILTER) #define FILTER_FLAG_TRACER (1 << TRACER_FILTER) + +#define FILTERSTRINGFIELD_TABLE \ + X(FSF_Name, "Name") \ + X(FSF_Level, "Level") \ + X(FSF_Race, "Race") \ + X(FSF_Class, "Class") \ + X(FSF_NPC, "NPC") \ + X(FSF_X, "X") \ + X(FSF_Y, "Y") \ + X(FSF_Z, "Z") \ + X(FSF_Light, "Light") \ + X(FSF_Deity, "Deity") \ + X(FSF_RTeam, "RTeam") \ + X(FSF_DTeam, "DTeam") \ + X(FSF_Type, "Type") \ + X(FSF_LastName, "LastName") \ + X(FSF_Guild, "Guild") \ + X(FSF_Spawn, "Spawn") \ + X(FSF_GM, "GM") + +#define X(a, b) a, +enum FilterStringField +{ + FILTERSTRINGFIELD_TABLE + FSF_Max +}; +#undef X + + +// special handling for min/max level, which aren't part of regex filter string +#define FSF_MINLEVEL_NAME "MinLevel" +#define FSF_MINLEVEL_LABEL "Min Level" +#define FSF_MAXLEVEL_NAME "MaxLevel" +#define FSF_MAXLEVEL_LABEL "Max Level" + +typedef QHash<QString, QString> FilterFieldMap; + //---------------------------------------------------------------------- // FilterMgr class FilterMgr : public QObject @@ -87,7 +129,7 @@ FilterMgr(const DataLocationMgr* dataLocMgr, const QString filterFile, bool spawnfilter_case); ~FilterMgr(); - + const QString& filterFile(void) { return m_filterFile; } const QString& zoneFilterFile(void) { return m_zoneFilterFile; } bool caseSensitive(void) { return m_caseSensitive; } @@ -140,4 +182,67 @@ bool m_caseSensitive; }; + +class FilterFormField : public QWidget +{ + Q_OBJECT + + public: + FilterFormField(QString name, QString labeltext = QString(), QWidget* parent=nullptr); + + QString m_name; + QString m_labeltext; + QCheckBox* m_check; + QLabel* m_label; + QLineEdit* m_edit; + + public slots: + void stateChanged(int state); +}; + + +class FilterDialog : public QDialog +{ + Q_OBJECT + + public: + + static QString getFilter(QWidget* parent, const QString& title, + const QString& filterString, bool* ok=nullptr, + Qt::WindowFlags flags = Qt::WindowFlags(), + Qt::InputMethodHints inputMethodHints = Qt::ImhNone); + + protected: + FilterDialog(QWidget* parent=nullptr, Qt::WindowFlags flags = Qt::WindowFlags()); + ~FilterDialog(); + + void setData(const QString filterString); + void createForm(); + + QHash<QString, FilterFormField*> m_filterFields; + QCheckBox* m_toggleAll; + + QString m_spawnFilterString; + FilterFieldMap m_spawnFilterMap; + + QString m_filterString; + int m_fieldCount; + int m_fieldsCheckedCount; + bool m_hasTrailingColon; + + signals: + void stateChanged(int state); + + protected slots: + void resetForm(); + void acceptDialog(); + void fieldToggled(bool checked); + void toggleAllToggled(int state); + +}; + +// helper functions +void FilterString2FilterFieldMap(const QString filterString, FilterFieldMap* map); +QString FilterFieldMap2FilterString(FilterFieldMap* map); + #endif // FILTERMGR_H Modified: showeq/branches/cn187_devel/src/spawnlistcommon.cpp =================================================================== --- showeq/branches/cn187_devel/src/spawnlistcommon.cpp 2024-03-17 15:44:58 UTC (rev 1461) +++ showeq/branches/cn187_devel/src/spawnlistcommon.cpp 2024-04-01 22:51:03 UTC (rev 1462) @@ -655,12 +655,9 @@ // get the user edited filter string, based on the items filterString bool ok = false; filterString = - QInputDialog::getText(m_spawnlist, filterName + " Filter", - "Enter the filter string:", - QLineEdit::Normal, + FilterDialog::getFilter(m_spawnlist, filterName + " Filter", filterString, &ok); - // if the user clicked ok, add the filter if (ok) m_filterMgr->addFilter(filter, filterString); @@ -678,12 +675,9 @@ // get the user edited filter string, based on the items filterString bool ok = false; filterString = - QInputDialog::getText(m_spawnlist, filterName + " Filter", - "Enter the filter string:", - QLineEdit::Normal, + FilterDialog::getFilter(m_spawnlist, filterName + " Filter", filterString, &ok); - // if the user clicked ok, add the filter if (ok) m_filterMgr->addZoneFilter(filter, filterString); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-17 15:44:59
|
Revision: 1461 http://sourceforge.net/p/seq/svn/1461 Author: cn187 Date: 2024-03-17 15:44:58 +0000 (Sun, 17 Mar 2024) Log Message: ----------- Only apply sort fix to Qt5+ (issue only affects Qt5+ anyway) Modified Paths: -------------- showeq/branches/cn187_devel/src/seqlistview.cpp Modified: showeq/branches/cn187_devel/src/seqlistview.cpp =================================================================== --- showeq/branches/cn187_devel/src/seqlistview.cpp 2024-03-17 02:10:25 UTC (rev 1460) +++ showeq/branches/cn187_devel/src/seqlistview.cpp 2024-03-17 15:44:58 UTC (rev 1461) @@ -53,9 +53,9 @@ #if (QT_VERSION >= QT_VERSION_CHECK(5,11,0)) header()->setFirstSectionMovable(true); + connect(header(), SIGNAL(sortIndicatorChanged(int, Qt::SortOrder)), this, SLOT(setSorting(int, Qt::SortOrder))); #endif - connect(header(), SIGNAL(sortIndicatorChanged(int, Qt::SortOrder)), this, SLOT(setSorting(int, Qt::SortOrder))); } SEQListView::~SEQListView() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-17 02:10:27
|
Revision: 1460 http://sourceforge.net/p/seq/svn/1460 Author: cn187 Date: 2024-03-17 02:10:25 +0000 (Sun, 17 Mar 2024) Log Message: ----------- Additional fix for player-controlled entities fix Modified Paths: -------------- showeq/branches/cn187_devel/src/spawnshell.cpp Modified: showeq/branches/cn187_devel/src/spawnshell.cpp =================================================================== --- showeq/branches/cn187_devel/src/spawnshell.cpp 2024-03-16 12:00:57 UTC (rev 1459) +++ showeq/branches/cn187_devel/src/spawnshell.cpp 2024-03-17 02:10:25 UTC (rev 1460) @@ -863,6 +863,7 @@ if(!strcmp(spawn->name,m_player->realName().toLatin1().data())) { // Multiple zoneEntry packets are received for your spawn after you zone + m_player->setPlayerID(spawn->spawnId); m_player->update(spawn); emit changeItem(m_player, tSpawnChangedALL); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-16 12:00:59
|
Revision: 1459 http://sourceforge.net/p/seq/svn/1459 Author: cn187 Date: 2024-03-16 12:00:57 +0000 (Sat, 16 Mar 2024) Log Message: ----------- Remove temporary return added for testing Modified Paths: -------------- showeq/branches/cn187_devel/src/player.cpp Modified: showeq/branches/cn187_devel/src/player.cpp =================================================================== --- showeq/branches/cn187_devel/src/player.cpp 2024-03-16 03:07:01 UTC (rev 1458) +++ showeq/branches/cn187_devel/src/player.cpp 2024-03-16 12:00:57 UTC (rev 1459) @@ -1295,7 +1295,6 @@ void Player::savePlayerState(void) { - return; QFile keyFile(showeq_params->saveRestoreBaseFilename + "Player.dat"); if (keyFile.open(QIODevice::WriteOnly)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-16 03:07:02
|
Revision: 1458 http://sourceforge.net/p/seq/svn/1458 Author: cn187 Date: 2024-03-16 03:07:01 +0000 (Sat, 16 Mar 2024) Log Message: ----------- Fix issues with player-controlled entities * Fix crash due to use-after-free when taking control of player-controlled entities (eye of zomm, row boats, etc.) * Fix spawnId and position ping-pong between player and player-controlled entities. Modified Paths: -------------- showeq/branches/cn187_devel/src/player.cpp showeq/branches/cn187_devel/src/player.h showeq/branches/cn187_devel/src/spawnshell.cpp showeq/branches/cn187_devel/src/spawnshell.h Modified: showeq/branches/cn187_devel/src/player.cpp =================================================================== --- showeq/branches/cn187_devel/src/player.cpp 2024-03-13 22:18:59 UTC (rev 1457) +++ showeq/branches/cn187_devel/src/player.cpp 2024-03-16 03:07:01 UTC (rev 1458) @@ -833,15 +833,27 @@ clear(); } -void Player::playerUpdateSelf(const uint8_t* data, size_t, uint8_t dir) +void Player::playerUpdateSelf(const uint8_t* data, size_t len, uint8_t dir) { const playerSelfPosStruct *pupdate = (const playerSelfPosStruct*)data; if ((dir != DIR_Client) && (pupdate->spawnId != id())) return; - else if (dir == DIR_Client) - setPlayerID(pupdate->spawnId); + if (dir == DIR_Client && id() == 0) + setPlayerID(pupdate->spawnId); + // When casting Eye of Zomm, using a row boat, or doing something else + // where you're controlling another spawn, the client will send multiple + // update packets, one for with your player spawn ID, and the other + // with the ID of the other object. So we can't assume that if the + // id changes, we can automatically update the player's ID like we used to. + // Instead, we'll pass the other ID to spawnshell for handling + if (pupdate->spawnId != id()) + { + emit playerUpdate(data, len, dir); + return; + } + int16_t py = int16_t(pupdate->y); int16_t px = int16_t(pupdate->x); int16_t pz = int16_t(pupdate->z); @@ -968,9 +980,10 @@ { if (id() != playerID) { + uint16_t old_id = id(); seqInfo("Your player's id is %i", playerID); setID(playerID); - emit changedID(id()); + emit changedID(old_id, id()); updateLastChanged(); emit changeItem(this, tSpawnChangedALL); } @@ -1282,6 +1295,7 @@ void Player::savePlayerState(void) { + return; QFile keyFile(showeq_params->saveRestoreBaseFilename + "Player.dat"); if (keyFile.open(QIODevice::WriteOnly)) { Modified: showeq/branches/cn187_devel/src/player.h =================================================================== --- showeq/branches/cn187_devel/src/player.h 2024-03-13 22:18:59 UTC (rev 1457) +++ showeq/branches/cn187_devel/src/player.h 2024-03-16 03:07:01 UTC (rev 1458) @@ -200,7 +200,7 @@ void stamChanged ( int, int, int, int); void hpChanged(int16_t, int16_t); - void changedID(uint16_t playerID); + void changedID(uint16_t oldPlayerID, uint16_t newPlayerID); void posChanged(int16_t x, int16_t y, int16_t z, int16_t deltaX, int16_t deltaY, int16_t deltaZ, int32_t heading); @@ -208,6 +208,7 @@ void headingChanged(int32_t heading); void levelChanged(uint8_t level); void guildChanged(); + void playerUpdate(const uint8_t* data, size_t len, uint8_t dir); protected: void fillConTable(); Modified: showeq/branches/cn187_devel/src/spawnshell.cpp =================================================================== --- showeq/branches/cn187_devel/src/spawnshell.cpp 2024-03-13 22:18:59 UTC (rev 1457) +++ showeq/branches/cn187_devel/src/spawnshell.cpp 2024-03-16 03:07:01 UTC (rev 1458) @@ -144,10 +144,12 @@ // connect Player signals to SpawnShell signals connect(m_player, SIGNAL(changeItem(const Item*, uint32_t)), this, SIGNAL(changeItem(const Item*, uint32_t))); + connect(m_player, SIGNAL(playerUpdate(const uint8_t*, size_t, uint8_t)), + this, SLOT(playerUpdate2(const uint8_t*, size_t, uint8_t))); // connect Player signals to SpawnShell slots - connect(m_player, SIGNAL(changedID(uint16_t)), - this, SLOT(playerChangedID(uint16_t))); + connect(m_player, SIGNAL(changedID(uint16_t, uint16_t)), + this, SLOT(playerChangedID(uint16_t, uint16_t))); // connect to guildmgr to receive notifications of guild tag updates connect(m_guildMgr, SIGNAL(guildTagUpdated(uint32_t)), @@ -963,6 +965,29 @@ } } +void SpawnShell::playerUpdate2(const uint8_t* data, size_t len, uint8_t dir) +{ + if (m_zoneMgr->isZoning()) + return; + + //This payload is normally handled by Player::playerUpdateSelf, + //but sometimes it contains an update for a different spawn, such as + //an Eye of Zomm cast by the player, a rowboat being controlled by the + //player, etc. So in that case, we'll handle it. + const playerSelfPosStruct *pupdate = (const playerSelfPosStruct *)data; + + int16_t py = int16_t(pupdate->y); + int16_t px = int16_t(pupdate->x); + int16_t pz = int16_t(pupdate->z); + int16_t pdeltaX = int16_t(pupdate->deltaX); + int16_t pdeltaY = int16_t(pupdate->deltaY); + int16_t pdeltaZ = int16_t(pupdate->deltaZ); + + + updateSpawn(pupdate->spawnId, px, py, pz, pdeltaX, pdeltaY, pdeltaZ, + pupdate->heading, pupdate->deltaHeading, pupdate->animation); +} + void SpawnShell::playerUpdate(const uint8_t* data, size_t len, uint8_t dir) { // if zoning, then don't do anything @@ -1667,14 +1692,13 @@ } } -void SpawnShell::playerChangedID(uint16_t playerID) +void SpawnShell::playerChangedID(uint16_t oldPlayerID, uint16_t newPlayerID) { // remove the player from the list (if it had a 0 id) m_players.take(0); // re-insert the player into the list - delete m_players.take(playerID); - m_players.insert(playerID, m_player); + m_players.insert(newPlayerID, m_players.take(oldPlayerID)); emit changeItem(m_player, tSpawnChangedALL); } Modified: showeq/branches/cn187_devel/src/spawnshell.h =================================================================== --- showeq/branches/cn187_devel/src/spawnshell.h 2024-03-13 22:18:59 UTC (rev 1457) +++ showeq/branches/cn187_devel/src/spawnshell.h 2024-03-16 03:07:01 UTC (rev 1458) @@ -122,6 +122,7 @@ void zoneEntry(const uint8_t* spawn, size_t len); void newSpawn(const uint8_t* spawn); void newSpawn(const spawnStruct& s); + void playerUpdate2(const uint8_t*pupdate, size_t, uint8_t); void playerUpdate(const uint8_t*pupdate, size_t, uint8_t); void npcMoveUpdate(const uint8_t*npcupdate, size_t, uint8_t); void updateSpawn(uint16_t id, @@ -144,7 +145,7 @@ void respawnFromHover(const uint8_t* respawn, size_t len, uint8_t dir); void corpseLoc(const uint8_t* corpseLoc); - void playerChangedID(uint16_t playerID); + void playerChangedID(uint16_t oldPlayerID, uint16_t newPlayerID); void refilterSpawns(); void refilterSpawnsRuntime(); void saveSpawns(void); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-13 22:19:02
|
Revision: 1457 http://sourceforge.net/p/seq/svn/1457 Author: cn187 Date: 2024-03-13 22:18:59 +0000 (Wed, 13 Mar 2024) Log Message: ----------- Release 6.3.12 - Update to version 6.3.12 - Support for EQ Patch 03/13/24 - Struct and opcode updates (Newby) - Miscellaneous fixes Modified Paths: -------------- showeq/branches/cn187_devel/ChangeLog showeq/branches/cn187_devel/conf/zoneopcodes.xml showeq/branches/cn187_devel/configure.in showeq/branches/cn187_devel/src/everquest.h Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2024-03-13 22:18:49 UTC (rev 1456) +++ showeq/branches/cn187_devel/ChangeLog 2024-03-13 22:18:59 UTC (rev 1457) @@ -1,3 +1,10 @@ +cn187 (03/13/24) +---------------- +- Update to version 6.3.12 +- Support for EQ Patch 03/13/24 +- Struct and opcode updates (Newby) +- Miscellaneous fixes + BlueAdept (02/21/24) ---------------- - Update to version 6.3.11 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-03-13 22:18:49 UTC (rev 1456) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-03-13 22:18:59 UTC (rev 1457) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="64ba" name="OP_PlayerProfile" updated="02/21/24"> + <opcode id="1c76" name="OP_PlayerProfile" updated="03/13/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="51c2" name="OP_ZoneEntry" updated="02/21/24"> + <opcode id="784a" name="OP_ZoneEntry" updated="03/13/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2d6f" name="OP_TimeOfDay" updated="02/21/24"> + <opcode id="3736" name="OP_TimeOfDay" updated="03/13/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="448d" name="OP_NewZone" updated="02/21/24"> + <opcode id="4341" name="OP_NewZone" updated="03/13/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="676a" name="OP_SpawnDoor" updated="02/21/24"> + <opcode id="4273" name="OP_SpawnDoor" updated="03/13/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="6086" name="OP_GroundSpawn" updated="02/21/24"> + <opcode id="49c5" name="OP_GroundSpawn" updated="03/13/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="52ae" name="OP_SendZonePoints" updated="02/21/24"> + <opcode id="4eea" name="OP_SendZonePoints" updated="03/13/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="3921" name="OP_AAExpUpdate" updated="02/21/24"> + <opcode id="642f" name="OP_AAExpUpdate" updated="03/13/24"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> @@ -41,32 +41,32 @@ <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="4ac4" name="OP_GuildMOTD" updated="02/21/24"> + <opcode id="5a8d" name="OP_GuildMOTD" updated="03/13/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5ba3" name="OP_ClientUpdate" updated="02/21/24"> + <opcode id="3a4b" name="OP_ClientUpdate" updated="03/13/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="7d46" name="OP_NpcMoveUpdate" updated="02/21/24"> + <opcode id="52fb" name="OP_NpcMoveUpdate" updated="03/13/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="66f9" name="OP_MobUpdate" updated="02/21/24"> + <opcode id="39ef" name="OP_MobUpdate" updated="03/13/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="1e07" name="OP_DeleteSpawn" updated="02/21/24"> + <opcode id="7451" name="OP_DeleteSpawn" updated="03/13/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="46de" name="OP_RemoveSpawn" updated="02/21/24"> + <opcode id="7712" name="OP_RemoveSpawn" updated="03/13/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="0fe8" name="OP_Death" updated="02/21/24"> + <opcode id="429a" name="OP_Death" updated="03/13/24"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> @@ -74,7 +74,7 @@ <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="3e01" name="OP_SpawnAppearance" updated="02/21/24"> + <opcode id="2178" name="OP_SpawnAppearance" updated="03/13/24"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> @@ -86,28 +86,28 @@ <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="0c5b" name="OP_GuildMemberUpdate" updated="02/21/24"> + <opcode id="20aa" name="OP_GuildMemberUpdate" updated="03/13/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="1d5e" name="OP_ClickObject" updated="02/21/24"> + <opcode id="687e" name="OP_ClickObject" updated="03/13/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="7cdf" name="OP_Action" updated="02/21/24"> + <opcode id="4c13" name="OP_Action" updated="03/13/24"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="7bd3" name="OP_Action2" updated="02/21/24"> + <opcode id="5131" name="OP_Action2" updated="03/13/24"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="7c6e" name="OP_Consider" updated="02/21/24"> + <opcode id="53e3" name="OP_Consider" updated="03/13/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="66d5" name="OP_TargetMouse" updated="02/21/24"> + <opcode id="5741" name="OP_TargetMouse" updated="03/13/24"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> @@ -123,7 +123,7 @@ <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="4c6e" name="OP_ZoneChange" updated="02/21/24"> + <opcode id="17a3" name="OP_ZoneChange" updated="03/13/24"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -191,19 +191,19 @@ <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="7bea" name="OP_SimpleMessage" updated="02/21/24"> + <opcode id="7baa" name="OP_SimpleMessage" updated="03/13/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7d57" name="OP_FormattedMessage" updated="02/21/24"> + <opcode id="7f7f" name="OP_FormattedMessage" updated="03/13/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="34de" name="OP_CommonMessage" updated="02/21/24"> + <opcode id="6adc" name="OP_CommonMessage" updated="03/13/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="2304" name="OP_SpecialMesg" updated="02/21/24"> + <opcode id="7d93" name="OP_SpecialMesg" updated="03/13/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -307,7 +307,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="302d" name="OP_GuildMemberList" updated="02/21/24"> + <opcode id="43f7" name="OP_GuildMemberList" updated="03/13/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2c31" name="OP_ExpandedGuildInfo" updated="02/21/24"> + <opcode id="079d" name="OP_ExpandedGuildInfo" updated="03/13/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="51b0" name="OP_Find" updated="02/21/24"> + <opcode id="6997" name="OP_Find" updated="03/13/24"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/branches/cn187_devel/configure.in =================================================================== --- showeq/branches/cn187_devel/configure.in 2024-03-13 22:18:49 UTC (rev 1456) +++ showeq/branches/cn187_devel/configure.in 2024-03-13 22:18:59 UTC (rev 1457) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.3.11) +AC_INIT(showeq, 6.3.12) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2024-03-13 22:18:49 UTC (rev 1456) +++ showeq/branches/cn187_devel/src/everquest.h 2024-03-13 22:18:59 UTC (rev 1457) @@ -1120,24 +1120,22 @@ struct { + signed y:19; // y coord (2nd loc value) + signed deltaX:13; // change in x + + unsigned heading:12; // heading signed z:19; // z coord (3rd loc value) - signed deltaY:13; // change in y + unsigned pad1:1; - signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + signed deltaHeading:10; // change in heading signed animation:10; // current animation - unsigned pad1:3; - signed deltaHeading:10; // change in heading - signed deltaX:13; // change in x - unsigned pad2:9; + signed deltaY:13; // change in y + unsigned pad3:19; - unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) - unsigned pad3:1; - + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - unsigned pitch:12; // pitch (up/down heading) - unsigned pad4:7; }; int32_t posData[5]; @@ -2398,24 +2396,22 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed y:19; // y coord (2nd loc value) + signed deltaX:13; // change in x +/*0008*/ + unsigned heading:12; // heading signed z:19; // z coord (3rd loc value) - signed deltaY:13; // change in y -/*0008*/ - signed x:19; // x coord (1st loc value) - signed animation:10; // current animation - unsigned pad1:3; + unsigned pad1:1; /*0012*/ + unsigned pitch:12; // pitch (up/down heading) signed deltaHeading:10; // change in heading - signed deltaX:13; // change in x - unsigned pad2:9; + signed animation:10; // current animation /*0016*/ - unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) - unsigned pad3:1; + signed deltaY:13; // change in y + unsigned pad3:19; /*0020*/ + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - unsigned pitch:12; // pitch (up/down heading) - unsigned pad4:7; /*0024*/ }; @@ -2430,25 +2426,25 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed animation:10; // current animation - signed deltaHeading:10; // change in heading - unsigned pad0:12; + float deltaX; // change in x /*0010*/ - float deltaZ; // change in z + float x; // x coord (1st loc value) /*0014*/ - float y; // y coord (2nd loc value) + float z; // z coord (3rd loc value) /*0018*/ + signed animation:10; // current animation + unsigned pitch:12; // pitch (up/down heading) + unsigned pad3:10; +/*0022*/ float deltaY; // change in y -/*0022*/ - float x; // x coord (1st loc value) /*0026*/ - float z; // z coord (3rd loc value) + float y; // y coord (2nd loc value) /*0030*/ - float deltaX; // change in x + signed deltaHeading:10; // change in heading + unsigned heading:12; // heading + unsigned pad6:10; /*0034*/ - unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned pad7:8; + float deltaZ; // change in z /*0038*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-13 22:18:52
|
Revision: 1456 http://sourceforge.net/p/seq/svn/1456 Author: cn187 Date: 2024-03-13 22:18:49 +0000 (Wed, 13 Mar 2024) Log Message: ----------- Fix action2 struct Modified Paths: -------------- showeq/branches/cn187_devel/src/everquest.h Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2024-03-13 22:07:40 UTC (rev 1455) +++ showeq/branches/cn187_devel/src/everquest.h 2024-03-13 22:18:49 UTC (rev 1456) @@ -2039,13 +2039,14 @@ { /*0000*/ uint16_t target; // Target ID /*0002*/ uint16_t source; // Source ID -/*0004*/ uint8_t unknown0004[16]; -/*0020*/ int16_t spell; // SpellID -/*0022*/ int32_t damage; -/*0026*/ uint8_t uknown0026[10]; -/*0036*/ uint8_t type; // Bash, kick, cast, etc. -/*0037*/ uint8_t unknown0037[19]; -/*0056*/ +/*0004*/ uint8_t unknown0004[4]; +/*0008*/ int32_t damage; +/*0012*/ int8_t unknown0012[8]; +/*0020*/ int32_t spell; // SpellID +/*0024*/ uint8_t uknown0024[16]; +/*0040*/ uint8_t type; // Bash, kick, cast, etc. +/*0041*/ uint8_t unknown0042[7]; +/*0048*/ }; // This can be used to gather info on spells cast on us This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-13 22:07:41
|
Revision: 1455 http://sourceforge.net/p/seq/svn/1455 Author: cn187 Date: 2024-03-13 22:07:40 +0000 (Wed, 13 Mar 2024) Log Message: ----------- Tag for release 6.3.12 Added Paths: ----------- showeq/tags/v6_3_12/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-13 22:04:28
|
Revision: 1454 http://sourceforge.net/p/seq/svn/1454 Author: cn187 Date: 2024-03-13 22:04:26 +0000 (Wed, 13 Mar 2024) Log Message: ----------- Release 6.3.12 - Update to version 6.3.12 - Support for EQ Patch 03/13/24 - Struct and opcode updates (Newby) - Miscellaneous fixes Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2024-03-13 21:54:51 UTC (rev 1453) +++ showeq/trunk/ChangeLog 2024-03-13 22:04:26 UTC (rev 1454) @@ -1,3 +1,10 @@ +cn187 (03/13/24) +---------------- +- Update to version 6.3.12 +- Support for EQ Patch 03/13/24 +- Struct and opcode updates (Newby) +- Miscellaneous fixes + BlueAdept (02/21/24) ---------------- - Update to version 6.3.11 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-03-13 21:54:51 UTC (rev 1453) +++ showeq/trunk/conf/zoneopcodes.xml 2024-03-13 22:04:26 UTC (rev 1454) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="64ba" name="OP_PlayerProfile" updated="02/21/24"> + <opcode id="1c76" name="OP_PlayerProfile" updated="03/13/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="51c2" name="OP_ZoneEntry" updated="02/21/24"> + <opcode id="784a" name="OP_ZoneEntry" updated="03/13/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2d6f" name="OP_TimeOfDay" updated="02/21/24"> + <opcode id="3736" name="OP_TimeOfDay" updated="03/13/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="448d" name="OP_NewZone" updated="02/21/24"> + <opcode id="4341" name="OP_NewZone" updated="03/13/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="676a" name="OP_SpawnDoor" updated="02/21/24"> + <opcode id="4273" name="OP_SpawnDoor" updated="03/13/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="6086" name="OP_GroundSpawn" updated="02/21/24"> + <opcode id="49c5" name="OP_GroundSpawn" updated="03/13/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="52ae" name="OP_SendZonePoints" updated="02/21/24"> + <opcode id="4eea" name="OP_SendZonePoints" updated="03/13/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="3921" name="OP_AAExpUpdate" updated="02/21/24"> + <opcode id="642f" name="OP_AAExpUpdate" updated="03/13/24"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> @@ -41,32 +41,32 @@ <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="4ac4" name="OP_GuildMOTD" updated="02/21/24"> + <opcode id="5a8d" name="OP_GuildMOTD" updated="03/13/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5ba3" name="OP_ClientUpdate" updated="02/21/24"> + <opcode id="3a4b" name="OP_ClientUpdate" updated="03/13/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="7d46" name="OP_NpcMoveUpdate" updated="02/21/24"> + <opcode id="52fb" name="OP_NpcMoveUpdate" updated="03/13/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="66f9" name="OP_MobUpdate" updated="02/21/24"> + <opcode id="39ef" name="OP_MobUpdate" updated="03/13/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="1e07" name="OP_DeleteSpawn" updated="02/21/24"> + <opcode id="7451" name="OP_DeleteSpawn" updated="03/13/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="46de" name="OP_RemoveSpawn" updated="02/21/24"> + <opcode id="7712" name="OP_RemoveSpawn" updated="03/13/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="0fe8" name="OP_Death" updated="02/21/24"> + <opcode id="429a" name="OP_Death" updated="03/13/24"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> @@ -74,7 +74,7 @@ <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="3e01" name="OP_SpawnAppearance" updated="02/21/24"> + <opcode id="2178" name="OP_SpawnAppearance" updated="03/13/24"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> @@ -86,28 +86,28 @@ <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="0c5b" name="OP_GuildMemberUpdate" updated="02/21/24"> + <opcode id="20aa" name="OP_GuildMemberUpdate" updated="03/13/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="1d5e" name="OP_ClickObject" updated="02/21/24"> + <opcode id="687e" name="OP_ClickObject" updated="03/13/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="7cdf" name="OP_Action" updated="02/21/24"> + <opcode id="4c13" name="OP_Action" updated="03/13/24"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="7bd3" name="OP_Action2" updated="02/21/24"> + <opcode id="5131" name="OP_Action2" updated="03/13/24"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="7c6e" name="OP_Consider" updated="02/21/24"> + <opcode id="53e3" name="OP_Consider" updated="03/13/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="66d5" name="OP_TargetMouse" updated="02/21/24"> + <opcode id="5741" name="OP_TargetMouse" updated="03/13/24"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> @@ -123,7 +123,7 @@ <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="4c6e" name="OP_ZoneChange" updated="02/21/24"> + <opcode id="17a3" name="OP_ZoneChange" updated="03/13/24"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -191,19 +191,19 @@ <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="7bea" name="OP_SimpleMessage" updated="02/21/24"> + <opcode id="7baa" name="OP_SimpleMessage" updated="03/13/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7d57" name="OP_FormattedMessage" updated="02/21/24"> + <opcode id="7f7f" name="OP_FormattedMessage" updated="03/13/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="34de" name="OP_CommonMessage" updated="02/21/24"> + <opcode id="6adc" name="OP_CommonMessage" updated="03/13/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="2304" name="OP_SpecialMesg" updated="02/21/24"> + <opcode id="7d93" name="OP_SpecialMesg" updated="03/13/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -307,7 +307,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="302d" name="OP_GuildMemberList" updated="02/21/24"> + <opcode id="43f7" name="OP_GuildMemberList" updated="03/13/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2c31" name="OP_ExpandedGuildInfo" updated="02/21/24"> + <opcode id="079d" name="OP_ExpandedGuildInfo" updated="03/13/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="51b0" name="OP_Find" updated="02/21/24"> + <opcode id="6997" name="OP_Find" updated="03/13/24"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2024-03-13 21:54:51 UTC (rev 1453) +++ showeq/trunk/configure.in 2024-03-13 22:04:26 UTC (rev 1454) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.3.11) +AC_INIT(showeq, 6.3.12) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2024-03-13 21:54:51 UTC (rev 1453) +++ showeq/trunk/src/everquest.h 2024-03-13 22:04:26 UTC (rev 1454) @@ -1120,24 +1120,22 @@ struct { + signed y:19; // y coord (2nd loc value) + signed deltaX:13; // change in x + + unsigned heading:12; // heading signed z:19; // z coord (3rd loc value) - signed deltaY:13; // change in y + unsigned pad1:1; - signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + signed deltaHeading:10; // change in heading signed animation:10; // current animation - unsigned pad1:3; - signed deltaHeading:10; // change in heading - signed deltaX:13; // change in x - unsigned pad2:9; + signed deltaY:13; // change in y + unsigned pad3:19; - unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) - unsigned pad3:1; - + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - unsigned pitch:12; // pitch (up/down heading) - unsigned pad4:7; }; int32_t posData[5]; @@ -2398,24 +2396,22 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed y:19; // y coord (2nd loc value) + signed deltaX:13; // change in x +/*0008*/ + unsigned heading:12; // heading signed z:19; // z coord (3rd loc value) - signed deltaY:13; // change in y -/*0008*/ - signed x:19; // x coord (1st loc value) - signed animation:10; // current animation - unsigned pad1:3; + unsigned pad1:1; /*0012*/ + unsigned pitch:12; // pitch (up/down heading) signed deltaHeading:10; // change in heading - signed deltaX:13; // change in x - unsigned pad2:9; + signed animation:10; // current animation /*0016*/ - unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) - unsigned pad3:1; + signed deltaY:13; // change in y + unsigned pad3:19; /*0020*/ + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - unsigned pitch:12; // pitch (up/down heading) - unsigned pad4:7; /*0024*/ }; @@ -2430,25 +2426,25 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed animation:10; // current animation - signed deltaHeading:10; // change in heading - unsigned pad0:12; + float deltaX; // change in x /*0010*/ - float deltaZ; // change in z + float x; // x coord (1st loc value) /*0014*/ - float y; // y coord (2nd loc value) + float z; // z coord (3rd loc value) /*0018*/ + signed animation:10; // current animation + unsigned pitch:12; // pitch (up/down heading) + unsigned pad3:10; +/*0022*/ float deltaY; // change in y -/*0022*/ - float x; // x coord (1st loc value) /*0026*/ - float z; // z coord (3rd loc value) + float y; // y coord (2nd loc value) /*0030*/ - float deltaX; // change in x + signed deltaHeading:10; // change in heading + unsigned heading:12; // heading + unsigned pad6:10; /*0034*/ - unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned pad7:8; + float deltaZ; // change in z /*0038*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-13 21:54:53
|
Revision: 1453 http://sourceforge.net/p/seq/svn/1453 Author: cn187 Date: 2024-03-13 21:54:51 +0000 (Wed, 13 Mar 2024) Log Message: ----------- Fix action2 struct Modified Paths: -------------- showeq/trunk/src/everquest.h Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2024-03-12 02:55:06 UTC (rev 1452) +++ showeq/trunk/src/everquest.h 2024-03-13 21:54:51 UTC (rev 1453) @@ -2039,13 +2039,14 @@ { /*0000*/ uint16_t target; // Target ID /*0002*/ uint16_t source; // Source ID -/*0004*/ uint8_t unknown0004[16]; -/*0020*/ int16_t spell; // SpellID -/*0022*/ int32_t damage; -/*0026*/ uint8_t uknown0026[10]; -/*0036*/ uint8_t type; // Bash, kick, cast, etc. -/*0037*/ uint8_t unknown0037[19]; -/*0056*/ +/*0004*/ uint8_t unknown0004[4]; +/*0008*/ int32_t damage; +/*0012*/ int8_t unknown0012[8]; +/*0020*/ int32_t spell; // SpellID +/*0024*/ uint8_t uknown0024[16]; +/*0040*/ uint8_t type; // Bash, kick, cast, etc. +/*0041*/ uint8_t unknown0042[7]; +/*0048*/ }; // This can be used to gather info on spells cast on us This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-12 02:55:08
|
Revision: 1452 http://sourceforge.net/p/seq/svn/1452 Author: cn187 Date: 2024-03-12 02:55:06 +0000 (Tue, 12 Mar 2024) Log Message: ----------- Do not alert on filtered spawns Thanks Xerces for reporting this. Modified Paths: -------------- showeq/trunk/src/filternotifications.cpp Modified: showeq/trunk/src/filternotifications.cpp =================================================================== --- showeq/trunk/src/filternotifications.cpp 2024-03-12 02:54:59 UTC (rev 1451) +++ showeq/trunk/src/filternotifications.cpp 2024-03-12 02:55:06 UTC (rev 1452) @@ -68,6 +68,10 @@ { uint32_t filterFlags = item->filterFlags(); + // ignore filtered spawns + if (filterFlags & FILTER_FLAG_FILTERED) + return; + // first handle alert if (filterFlags & FILTER_FLAG_ALERT) handleAlert(item, "SpawnAudioCommand", "Spawned"); @@ -85,6 +89,10 @@ void FilterNotifications::delItem(const Item* item) { + // ignore filtered spawns + if (item->filterFlags() & FILTER_FLAG_FILTERED) + return; + // first handle alert if (item->filterFlags() & FILTER_FLAG_ALERT) handleAlert(item, "DeSpawnAudioCommand", "Despawned"); @@ -92,6 +100,10 @@ void FilterNotifications::killSpawn(const Item* item) { + // ignore filtered spawns + if (item->filterFlags() & FILTER_FLAG_FILTERED) + return; + // first handle alert if (item->filterFlags() & FILTER_FLAG_ALERT) handleAlert(item, "DeathAudioCommand", "Died"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-12 02:55:01
|
Revision: 1451 http://sourceforge.net/p/seq/svn/1451 Author: cn187 Date: 2024-03-12 02:54:59 +0000 (Tue, 12 Mar 2024) Log Message: ----------- Update 'libICE not found' message to be more descriptive Modified Paths: -------------- showeq/trunk/configure.in Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2024-03-12 02:52:26 UTC (rev 1450) +++ showeq/trunk/configure.in 2024-03-12 02:54:59 UTC (rev 1451) @@ -163,7 +163,7 @@ AC_CHECK_LIB(X11, _init, [], AC_MSG_ERROR(cannot find X11 library. Install the X11 development package)) AC_CHECK_LIB(Xext, _init, [], AC_MSG_ERROR(cannot find Xext library. Install the Xext development package)) AC_CHECK_LIB(png, _init, [], AC_MSG_ERROR(cannot find PNG library. Install the png development package)) -AC_CHECK_LIB(ICE, _init, [], AC_MSG_ERROR(cannot find ICE library. Install the ICE development package)) +AC_CHECK_LIB(ICE, _init, [], AC_MSG_ERROR(cannot find ICE library. Install the X11 Inter-Client Exchange development package)) AC_PATH_QT_MOC AC_PATH_QT_UIC This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-12 02:52:27
|
Revision: 1450 http://sourceforge.net/p/seq/svn/1450 Author: cn187 Date: 2024-03-12 02:52:26 +0000 (Tue, 12 Mar 2024) Log Message: ----------- Increase WorldServerGeneralMaxPort to 9013 This should help with some of the session detection issues on some of the TLPs Modified Paths: -------------- showeq/trunk/src/packet.cpp Modified: showeq/trunk/src/packet.cpp =================================================================== --- showeq/trunk/src/packet.cpp 2024-03-12 02:48:21 UTC (rev 1449) +++ showeq/trunk/src/packet.cpp 2024-03-12 02:52:26 UTC (rev 1450) @@ -74,7 +74,7 @@ // constants const in_port_t WorldServerGeneralMinPort = 9000; -const in_port_t WorldServerGeneralMaxPort = 9007; +const in_port_t WorldServerGeneralMaxPort = 9013; const in_port_t WorldServerChatPort = 9876; const in_port_t WorldServerChat2Port = 9875; // xgame tells, mail const in_port_t LoginServerMinPort = 15900; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-12 02:48:24
|
Revision: 1449 http://sourceforge.net/p/seq/svn/1449 Author: cn187 Date: 2024-03-12 02:48:21 +0000 (Tue, 12 Mar 2024) Log Message: ----------- Increase WorldServerGeneralMaxPort to 9013 This should help with some of the session detection issues on some of the TLPs Modified Paths: -------------- showeq/branches/cn187_devel/src/packet.cpp Modified: showeq/branches/cn187_devel/src/packet.cpp =================================================================== --- showeq/branches/cn187_devel/src/packet.cpp 2024-03-10 18:38:51 UTC (rev 1448) +++ showeq/branches/cn187_devel/src/packet.cpp 2024-03-12 02:48:21 UTC (rev 1449) @@ -74,7 +74,7 @@ // constants const in_port_t WorldServerGeneralMinPort = 9000; -const in_port_t WorldServerGeneralMaxPort = 9007; +const in_port_t WorldServerGeneralMaxPort = 9013; const in_port_t WorldServerChatPort = 9876; const in_port_t WorldServerChat2Port = 9875; // xgame tells, mail const in_port_t LoginServerMinPort = 15900; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-10 18:38:55
|
Revision: 1448 http://sourceforge.net/p/seq/svn/1448 Author: cn187 Date: 2024-03-10 18:38:51 +0000 (Sun, 10 Mar 2024) Log Message: ----------- Move enumerateDevices out of interface into util Modified Paths: -------------- showeq/branches/cn187_devel/src/interface.cpp showeq/branches/cn187_devel/src/util.cpp showeq/branches/cn187_devel/src/util.h Modified: showeq/branches/cn187_devel/src/interface.cpp =================================================================== --- showeq/branches/cn187_devel/src/interface.cpp 2024-03-10 18:38:45 UTC (rev 1447) +++ showeq/branches/cn187_devel/src/interface.cpp 2024-03-10 18:38:51 UTC (rev 1448) @@ -71,7 +71,6 @@ #include <unistd.h> #include <cstdlib> #include <cstdio> -#include <ifaddrs.h> #include <QFont> #include <QApplication> @@ -156,7 +155,7 @@ m_netDiag(0), m_messageFilterDialog(0), m_guildListWindow(0), - m_deviceList(enumerateDevices()) + m_deviceList(enumerateNetworkDevices()) { setObjectName(name); setWindowFlags(Qt::Window); @@ -5256,35 +5255,10 @@ } } -QStringList EQInterface::enumerateDevices() -{ - struct ifaddrs *ifaddr, *ifa; - int n; - QStringList devices; - if (getifaddrs(&ifaddr) == -1) - { - seqWarn("Could not enumerate network devices"); - return QStringList(); - } - - for (ifa = ifaddr, n = 0; ifa != NULL; ifa = ifa->ifa_next, n++) - { - if (ifa->ifa_addr == NULL) - continue; - - if (ifa->ifa_addr->sa_family == AF_INET) - devices.append(ifa->ifa_name); - } - - freeifaddrs(ifaddr); - - return devices; -} - QString EQInterface::promptForNetDevice() { - m_deviceList = enumerateDevices(); + m_deviceList = enumerateNetworkDevices(); int current = 0; if (m_packet) Modified: showeq/branches/cn187_devel/src/util.cpp =================================================================== --- showeq/branches/cn187_devel/src/util.cpp 2024-03-10 18:38:45 UTC (rev 1447) +++ showeq/branches/cn187_devel/src/util.cpp 2024-03-10 18:38:51 UTC (rev 1448) @@ -29,6 +29,7 @@ #include <cstdio> #include <cstring> #include <sys/time.h> +#include <ifaddrs.h> #include <QColor> #include <QFileInfo> @@ -1044,3 +1045,32 @@ return crc ^ 0xffffffffL; } + +QStringList enumerateNetworkDevices() +{ + struct ifaddrs *ifaddr, *ifa; + int n; + QStringList devices; + + if (getifaddrs(&ifaddr) == -1) + { + seqWarn("Could not enumerate network devices"); + return QStringList(); + } + + for (ifa = ifaddr, n = 0; ifa != NULL; ifa = ifa->ifa_next, n++) + { + if (ifa->ifa_addr == NULL) + continue; + + if (ifa->ifa_addr->sa_family == AF_INET) + devices.append(ifa->ifa_name); + } + + freeifaddrs(ifaddr); + + return devices; +} + + + Modified: showeq/branches/cn187_devel/src/util.h =================================================================== --- showeq/branches/cn187_devel/src/util.h 2024-03-10 18:38:45 UTC (rev 1447) +++ showeq/branches/cn187_devel/src/util.h 2024-03-10 18:38:51 UTC (rev 1448) @@ -82,6 +82,8 @@ uint32_t calcCRC32(const uint8_t* p, uint32_t length); uint16_t calcCRC16(uint8_t* p, uint32_t length, uint32_t seed); +QStringList enumerateNetworkDevices(); + // Templatized function to generate a string representing the bit pattern // of the passed in value. // Note: For use with integral data types. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-10 18:38:47
|
Revision: 1447 http://sourceforge.net/p/seq/svn/1447 Author: cn187 Date: 2024-03-10 18:38:45 +0000 (Sun, 10 Mar 2024) Log Message: ----------- Set m_pcapFilter on start, too; not just on setFilter Modified Paths: -------------- showeq/branches/cn187_devel/src/packetcapture.cpp Modified: showeq/branches/cn187_devel/src/packetcapture.cpp =================================================================== --- showeq/branches/cn187_devel/src/packetcapture.cpp 2024-03-10 18:38:34 UTC (rev 1446) +++ showeq/branches/cn187_devel/src/packetcapture.cpp 2024-03-10 18:38:45 UTC (rev 1447) @@ -197,6 +197,8 @@ seqWarn("Failed to set capture thread realtime."); } } + + m_pcapFilter = filter_buf; } //------------------------------------------------------------------------ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-10 18:38:37
|
Revision: 1446 http://sourceforge.net/p/seq/svn/1446 Author: cn187 Date: 2024-03-10 18:38:34 +0000 (Sun, 10 Mar 2024) Log Message: ----------- Add null check for m_pcache_pcap Modified Paths: -------------- showeq/branches/cn187_devel/src/packetcapture.cpp Modified: showeq/branches/cn187_devel/src/packetcapture.cpp =================================================================== --- showeq/branches/cn187_devel/src/packetcapture.cpp 2024-03-10 18:38:25 UTC (rev 1445) +++ showeq/branches/cn187_devel/src/packetcapture.cpp 2024-03-10 18:38:34 UTC (rev 1446) @@ -40,6 +40,7 @@ // start and stop the thread // get packets to the processing engine(dispatchPacket) PacketCaptureThread::PacketCaptureThread() : PacketCaptureProviderThread(), + m_pcache_pcap(NULL), m_playbackSpeed(0) { } @@ -233,8 +234,11 @@ void PacketCaptureThread::stop() { // close the pcap session - pcap_close(m_pcache_pcap); - m_pcache_pcap = NULL; + if (m_pcache_pcap) + { + pcap_close(m_pcache_pcap); + m_pcache_pcap = NULL; + } } void* PacketCaptureThread::loop (void *param) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-03-04 18:41:44
|
Revision: 1444 http://sourceforge.net/p/seq/svn/1444 Author: cn187 Date: 2024-03-04 18:41:42 +0000 (Mon, 04 Mar 2024) Log Message: ----------- Historical checkin for 02/21/24 - Struct and opcode updates (Newby) Version to 6.3.11 Modified Paths: -------------- showeq/branches/cn187_devel/ChangeLog showeq/branches/cn187_devel/conf/zoneopcodes.xml showeq/branches/cn187_devel/configure.in showeq/branches/cn187_devel/src/everquest.h showeq/branches/cn187_devel/src/zonemgr.cpp Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2024-02-22 00:25:29 UTC (rev 1443) +++ showeq/branches/cn187_devel/ChangeLog 2024-03-04 18:41:42 UTC (rev 1444) @@ -1,3 +1,9 @@ +BlueAdept (02/21/24) +---------------- +- Update to version 6.3.11 +- Support for EQ Patch 02/21/24 +- Struct and opcode updates (Newby) + BlueAdept (01/17/24) ---------------- - Update to version 6.3.10 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-02-22 00:25:29 UTC (rev 1443) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-03-04 18:41:42 UTC (rev 1444) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="5b83" name="OP_PlayerProfile" updated="01/17/24"> + <opcode id="64ba" name="OP_PlayerProfile" updated="02/21/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7f93" name="OP_ZoneEntry" updated="01/17/24"> + <opcode id="51c2" name="OP_ZoneEntry" updated="02/21/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6905" name="OP_TimeOfDay" updated="01/17/24"> + <opcode id="2d6f" name="OP_TimeOfDay" updated="02/21/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="286a" name="OP_NewZone" updated="01/17/24"> + <opcode id="448d" name="OP_NewZone" updated="02/21/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3fbf" name="OP_SpawnDoor" updated="01/17/24"> + <opcode id="676a" name="OP_SpawnDoor" updated="02/21/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="4ba6" name="OP_GroundSpawn" updated="01/17/24"> + <opcode id="6086" name="OP_GroundSpawn" updated="02/21/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3638" name="OP_SendZonePoints" updated="01/17/24"> + <opcode id="52ae" name="OP_SendZonePoints" updated="02/21/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="6738" name="OP_AAExpUpdate" updated="01/17/24"> + <opcode id="3921" name="OP_AAExpUpdate" updated="02/21/24"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> @@ -41,32 +41,32 @@ <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7eab" name="OP_GuildMOTD" updated="01/17/24"> + <opcode id="4ac4" name="OP_GuildMOTD" updated="02/21/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="353e" name="OP_ClientUpdate" updated="01/17/24"> + <opcode id="5ba3" name="OP_ClientUpdate" updated="02/21/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="64d9" name="OP_NpcMoveUpdate" updated="01/17/24"> + <opcode id="7d46" name="OP_NpcMoveUpdate" updated="02/21/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="670a" name="OP_MobUpdate" updated="01/17/24"> + <opcode id="66f9" name="OP_MobUpdate" updated="02/21/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="4db6" name="OP_DeleteSpawn" updated="01/17/24"> + <opcode id="1e07" name="OP_DeleteSpawn" updated="02/21/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="0cd6" name="OP_RemoveSpawn" updated="01/17/24"> + <opcode id="46de" name="OP_RemoveSpawn" updated="02/21/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="09f6" name="OP_Death" updated="01/17/24"> + <opcode id="0fe8" name="OP_Death" updated="02/21/24"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> @@ -74,7 +74,7 @@ <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1926" name="OP_SpawnAppearance" updated="01/17/24"> + <opcode id="3e01" name="OP_SpawnAppearance" updated="02/21/24"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> @@ -86,28 +86,28 @@ <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="157c" name="OP_GuildMemberUpdate" updated="01/17/24"> + <opcode id="0c5b" name="OP_GuildMemberUpdate" updated="02/21/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="01b5" name="OP_ClickObject" updated="01/17/24"> + <opcode id="1d5e" name="OP_ClickObject" updated="02/21/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="7ecb" name="OP_Action" updated="01/17/24"> + <opcode id="7cdf" name="OP_Action" updated="02/21/24"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="47e9" name="OP_Action2" updated="01/17/24"> + <opcode id="7bd3" name="OP_Action2" updated="02/21/24"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="4b83" name="OP_Consider" updated="01/17/24"> + <opcode id="7c6e" name="OP_Consider" updated="02/21/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="041b" name="OP_TargetMouse" updated="01/17/24"> + <opcode id="66d5" name="OP_TargetMouse" updated="02/21/24"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> @@ -123,7 +123,7 @@ <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="00f8" name="OP_ZoneChange" updated="01/17/24"> + <opcode id="4c6e" name="OP_ZoneChange" updated="02/21/24"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -191,19 +191,19 @@ <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="47ac" name="OP_SimpleMessage" updated="01/17/24"> + <opcode id="7bea" name="OP_SimpleMessage" updated="02/21/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="2357" name="OP_FormattedMessage" updated="01/17/24"> + <opcode id="7d57" name="OP_FormattedMessage" updated="02/21/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0ba2" name="OP_CommonMessage" updated="01/17/24"> + <opcode id="34de" name="OP_CommonMessage" updated="02/21/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="31e1" name="OP_SpecialMesg" updated="01/17/24"> + <opcode id="2304" name="OP_SpecialMesg" updated="02/21/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -307,7 +307,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4b06" name="OP_GuildMemberList" updated="01/17/24"> + <opcode id="302d" name="OP_GuildMemberList" updated="02/21/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7fae" name="OP_ExpandedGuildInfo" updated="01/17/24"> + <opcode id="2c31" name="OP_ExpandedGuildInfo" updated="02/21/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="011c" name="OP_Find" updated="01/17/24"> + <opcode id="51b0" name="OP_Find" updated="02/21/24"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/branches/cn187_devel/configure.in =================================================================== --- showeq/branches/cn187_devel/configure.in 2024-02-22 00:25:29 UTC (rev 1443) +++ showeq/branches/cn187_devel/configure.in 2024-03-04 18:41:42 UTC (rev 1444) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.3.10) +AC_INIT(showeq, 6.3.11) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2024-02-22 00:25:29 UTC (rev 1443) +++ showeq/branches/cn187_devel/src/everquest.h 2024-03-04 18:41:42 UTC (rev 1444) @@ -467,7 +467,7 @@ /* * Used in charProfileStruct - * Size: 12 Octets + * Size: 13 Octets */ struct AA_Array { @@ -474,7 +474,8 @@ /*000*/ uint32_t AA; /*004*/ uint32_t value; /*008*/ uint32_t unknown008; -/*012*/ +/*012*/ uint8_t unknown012; +/*013*/ }; /** @@ -809,6 +810,10 @@ /*20284*/ float z; // Players z position /*20288*/ float heading; // Players heading /*20292*/ uint32_t standState; // 0x64 = stand +/*20296*/ uint32_t platinum_inventory; // Platinum Pieces in Inventory +/*20300*/ uint32_t gold_inventory; // Gold Pieces in Inventory +/*20304*/ uint32_t silver_inventory; // Silver Pieces in Inventory +/*20308*/ uint32_t copper_inventory; // Copper Pieces in Inventory /*20296*/ uint32_t platinum_bank; // Platinum Pieces in Bank /*20300*/ uint32_t gold_bank; // Gold Pieces in Bank /*20304*/ uint32_t silver_bank; // Silver Pieces in Bank @@ -1115,26 +1120,25 @@ struct { + signed z:19; // z coord (3rd loc value) + signed deltaY:13; // change in y + signed x:19; // x coord (1st loc value) signed animation:10; // current animation - unsigned pad0:3; + unsigned pad1:3; - unsigned pitch:12; // pitch (up/down heading) - signed z:19; // z coord (3rd loc value) - unsigned pad1:1; - + signed deltaHeading:10; // change in heading signed deltaX:13; // change in x - signed deltaZ:13; // change in z - unsigned pad2:6; + unsigned pad2:9; - signed deltaHeading:10; // change in heading - signed deltaY:13; // change in y - unsigned pad3:9; - + unsigned heading:12; // heading signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading - unsigned pad4:1; + unsigned pad3:1; + signed deltaZ:13; // change in z + unsigned pitch:12; // pitch (up/down heading) + unsigned pad4:7; + }; int32_t posData[5]; }; @@ -2393,31 +2397,30 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed z:19; // z coord (3rd loc value) + signed deltaY:13; // change in y +/*0008*/ signed x:19; // x coord (1st loc value) signed animation:10; // current animation - unsigned pad0:3; -/*0008*/ - unsigned pitch:12; // pitch (up/down heading) - signed z:19; // z coord (3rd loc value) - unsigned pad1:1; + unsigned pad1:3; /*0012*/ + signed deltaHeading:10; // change in heading signed deltaX:13; // change in x - signed deltaZ:13; // change in z - unsigned pad2:6; + unsigned pad2:9; /*0016*/ - signed deltaHeading:10; // change in heading - signed deltaY:13; // change in y - unsigned pad3:9; + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned pad3:1; /*0020*/ - signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading - unsigned pad4:1; + signed deltaZ:13; // change in z + unsigned pitch:12; // pitch (up/down heading) + unsigned pad4:7; /*0024*/ }; /* ** Self Position Update -** Length: 42 Octets +** Length: 38 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2426,28 +2429,26 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ + signed animation:10; // current animation + signed deltaHeading:10; // change in heading + unsigned pad0:12; +/*0010*/ float deltaZ; // change in z -/*0010*/ +/*0014*/ float y; // y coord (2nd loc value) -/*0014*/ - unsigned pitch:12; // pitch (up/down heading) - signed animation:10; // current animation - unsigned pad2:10; /*0018*/ + float deltaY; // change in y +/*0022*/ float x; // x coord (1st loc value) -/*0022*/ - unsigned heading:12; // heading - unsigned pad4:20; /*0026*/ - float deltaY; // change in y + float z; // z coord (3rd loc value) /*0030*/ - signed deltaHeading:10; // change in heading - unsigned pad6:22; + float deltaX; // change in x /*0034*/ - float deltaX; // change in x + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned pad7:8; /*0038*/ - float z; // z coord (3rd loc value) -/*0042*/ }; /* Modified: showeq/branches/cn187_devel/src/zonemgr.cpp =================================================================== --- showeq/branches/cn187_devel/src/zonemgr.cpp 2024-02-22 00:25:29 UTC (rev 1443) +++ showeq/branches/cn187_devel/src/zonemgr.cpp 2024-03-04 18:41:42 UTC (rev 1444) @@ -298,6 +298,7 @@ player->profile.aa_array[i].AA = netStream.readUInt32NC(); player->profile.aa_array[i].value = netStream.readUInt32NC(); player->profile.aa_array[i].unknown008 = netStream.readUInt32NC(); + player->profile.aa_array[i].unknown012 = netStream.readUInt8(); } // Number of SKills (100 ints) @@ -493,6 +494,10 @@ // Unknown netStream.skipBytes(2); + player->platinum_inventory = netStream.readUInt32NC(); + player->gold_inventory = netStream.readUInt32NC(); + player->silver_inventory = netStream.readUInt32NC(); + player->copper_inventory = netStream.readUInt32NC(); player->platinum_bank = netStream.readUInt32NC(); player->gold_bank = netStream.readUInt32NC(); player->silver_bank = netStream.readUInt32NC(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2024-02-22 00:25:30
|
Revision: 1443 http://sourceforge.net/p/seq/svn/1443 Author: theblueadept Date: 2024-02-22 00:25:29 +0000 (Thu, 22 Feb 2024) Log Message: ----------- Tag for release 6.3.11 Added Paths: ----------- showeq/tags/v6_3_11/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |