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: <the...@us...> - 2025-02-12 23:50:41
|
Revision: 1568 http://sourceforge.net/p/seq/svn/1568 Author: theblueadept Date: 2025-02-12 23:50:39 +0000 (Wed, 12 Feb 2025) Log Message: ----------- Historical checkin for 02/12/2025 - Struct and opcode updates (Newby) Version to 6.4.6 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 2025-01-17 00:07:18 UTC (rev 1567) +++ showeq/trunk/ChangeLog 2025-02-12 23:50:39 UTC (rev 1568) @@ -1,3 +1,10 @@ +BlueAdept (2/12/25) +---------------- +- Update to version 6.4.7 +- Support for EQ Patch 2/12/25 +- Struct and opcode updates (Newby) + + BlueAdept (1/16/25) ---------------- - Update to version 6.4.6 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2025-01-17 00:07:18 UTC (rev 1567) +++ showeq/trunk/conf/zoneopcodes.xml 2025-02-12 23:50:39 UTC (rev 1568) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="4e5f" name="OP_PlayerProfile" updated="01/15/25"> + <opcode id="675a" name="OP_PlayerProfile" updated="02/12/25"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1a19" name="OP_ZoneEntry" updated="01/15/25"> + <opcode id="2cd5" name="OP_ZoneEntry" updated="02/12/25"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0c76" name="OP_TimeOfDay" updated="01/15/25"> + <opcode id="0ec5" name="OP_TimeOfDay" updated="02/12/25"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="10e1" name="OP_NewZone" updated="01/15/25"> + <opcode id="43cf" name="OP_NewZone" updated="02/12/25"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2252" name="OP_SpawnDoor" updated="01/15/25"> + <opcode id="2758" name="OP_SpawnDoor" updated="02/12/25"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="36fb" name="OP_GroundSpawn" updated="01/15/25"> + <opcode id="1a38" name="OP_GroundSpawn" updated="02/12/25"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="160f" name="OP_SendZonePoints" updated="01/15/25"> + <opcode id="2f65" name="OP_SendZonePoints" updated="02/12/25"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="0334" name="OP_AAExpUpdate" updated="01/15/25"> + <opcode id="7ba4" name="OP_AAExpUpdate" updated="02/12/25"> <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="3b69" name="OP_GuildMOTD" updated="01/15/25"> + <opcode id="15c8" name="OP_GuildMOTD" updated="02/12/25"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="65d7" name="OP_ClientUpdate" updated="01/15/25"> + <opcode id="78c9" name="OP_ClientUpdate" updated="02/12/25"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="3bc7" name="OP_NpcMoveUpdate" updated="01/15/25"> + <opcode id="3f7e" name="OP_NpcMoveUpdate" updated="02/12/25"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0486" name="OP_MobUpdate" updated="01/15/25"> + <opcode id="3626" name="OP_MobUpdate" updated="02/12/25"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="5e27" name="OP_DeleteSpawn" updated="01/15/25"> + <opcode id="a5af" name="OP_DeleteSpawn" updated="02/12/25"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="19db" name="OP_RemoveSpawn" updated="01/15/25"> + <opcode id="6653" name="OP_RemoveSpawn" updated="02/12/25"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="3a6b" name="OP_Death" updated="01/15/25"> + <opcode id="4707" name="OP_Death" updated="02/12/25"> <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="1131" name="OP_SpawnAppearance" updated="01/15/25"> + <opcode id="3359" name="OP_SpawnAppearance" updated="02/12/25"> <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="27e5" name="OP_GuildMemberUpdate" updated="01/15/25"> + <opcode id="2391" name="OP_GuildMemberUpdate" updated="02/12/25"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="2a36" name="OP_ClickObject" updated="01/15/25"> + <opcode id="6c9c" name="OP_ClickObject" updated="02/12/25"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="24b4" name="OP_Action" updated="01/15/25"> + <opcode id="2003" name="OP_Action" updated="02/12/25"> <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="13c9" name="OP_Consider" updated="01/15/25"> + <opcode id="7671" name="OP_Consider" updated="02/12/25"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="1440" name="OP_TargetMouse" updated="01/15/25"> + <opcode id="5965" name="OP_TargetMouse" updated="02/12/25"> <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="31e1" name="OP_ZoneChange" updated="01/15/25"> + <opcode id="76b8" name="OP_ZoneChange" updated="02/12/25"> <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="1749" name="OP_SimpleMessage" updated="01/15/25"> + <opcode id="0070" name="OP_SimpleMessage" updated="02/12/25"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="40e7" name="OP_FormattedMessage" updated="01/15/25"> + <opcode id="2509" name="OP_FormattedMessage" updated="02/12/25"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="3535" name="OP_CommonMessage" updated="01/15/25"> + <opcode id="7374" name="OP_CommonMessage" updated="02/12/25"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="53f0" name="OP_SpecialMesg" updated="01/15/25"> + <opcode id="0df5" name="OP_SpecialMesg" updated="02/12/25"> <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="714a" name="OP_GuildMemberList" updated="01/15/25"> + <opcode id="4c9c" name="OP_GuildMemberList" updated="02/12/25"> <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="31cb" name="OP_ExpandedGuildInfo" updated="01/15/25"> + <opcode id="6e88" name="OP_ExpandedGuildInfo" updated="02/12/25"> <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="5f0a" name="OP_GuildsInZoneList" updated="01/15/25"> + <opcode id="5af6" name="OP_GuildsInZoneList" updated="02/12/25"> <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="6a6a" name="OP_Find" updated="01/15/25"> + <opcode id="34af" name="OP_Find" updated="02/12/25"> <comment>Find window data - variable length, 24 min</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2025-01-17 00:07:18 UTC (rev 1567) +++ showeq/trunk/configure.in 2025-02-12 23:50:39 UTC (rev 1568) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.6) +AC_INIT(showeq, 6.4.7) 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 2025-01-17 00:07:18 UTC (rev 1567) +++ showeq/trunk/src/everquest.h 2025-02-12 23:50:39 UTC (rev 1568) @@ -1119,29 +1119,28 @@ struct { - signed z:19; // z coord (3rd loc value) + signed animation:10; // current animation signed deltaZ:13; // change in z + unsigned padding00:9; - signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - unsigned padding01:10; - - signed deltaX:13; // change in x + signed z:19; // z coord (3rd loc value) signed deltaHeading:10; // change in heading - unsigned padding02:9; + unsigned padding01:3; + unsigned heading:12; // heading signed y:19; // y coord (2nd loc value) - unsigned padding03:13; + unsigned padding02:1; + unsigned pitch:12; // pitch (up/down heading) signed x:19; // x coord (1st loc value) - unsigned heading:12; // heading - unsigned padding04:1; + unsigned padding03:1; signed deltaY:13; // change in y - unsigned padding05:19; + signed deltaX:13; // change in x + unsigned padding04:6; }; - int32_t posData[6]; + int32_t posData[5]; }; /*0000*/ union @@ -2391,7 +2390,7 @@ /* ** Player Position Update -** Length: 28 Octets +** Length: 24 Octets ** OpCode: PlayerPosCode */ struct playerSpawnPosStruct @@ -2399,27 +2398,26 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed z:19; // z coord (3rd loc value) + signed animation:10; // current animation signed deltaZ:13; // change in z + unsigned padding00:9; /*0008*/ - signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - unsigned padding01:10; + signed z:19; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding01:3; /*0012*/ - signed deltaX:13; // change in x - signed deltaHeading:10; // change in heading - unsigned padding02:9; + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding02:1; /*0016*/ - signed y:19; // y coord (2nd loc value) - unsigned padding03:13; + unsigned pitch:12; // pitch (up/down heading) + signed x:19; // x coord (1st loc value) + unsigned padding03:1; /*0020*/ - signed x:19; // x coord (1st loc value) - unsigned heading:12; // heading - unsigned padding04:1; + signed deltaY:13; // change in y + signed deltaX:13; // change in x + unsigned padding04:6; /*0024*/ - signed deltaY:13; // change in y - unsigned padding05:19; -/*0028*/ }; /* @@ -2433,27 +2431,27 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ + float y; // y coord (2nd loc value) +/*0010*/ + unsigned heading:12; // heading signed animation:10; // current animation - unsigned heading:12; // heading - unsigned padding00:10; -/*0010*/ - float y; // y coord (2nd loc value) + unsigned padding01:10; /*0014*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding02:20; + float deltaY; // change in y /*0018*/ - float x; // x coord (1st loc value) + float z; // z coord (3rd loc value) /*0022*/ - float deltaY; // change in y + float deltaX; // change in x /*0026*/ - float deltaX; // change in x + unsigned pitch:12; // pitch (up/down heading) + unsigned padding05:20; /*0030*/ float deltaZ; // change in z /*0034*/ - float z; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding07:22; /*0038*/ - signed deltaHeading:10; // change in heading - unsigned padding08:22; + float x; // x coord (1st loc value) /*0042*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2025-01-17 00:07:20
|
Revision: 1567 http://sourceforge.net/p/seq/svn/1567 Author: theblueadept Date: 2025-01-17 00:07:18 +0000 (Fri, 17 Jan 2025) Log Message: ----------- Tag for release 6.4.6 Added Paths: ----------- showeq/tags/v6_4_6/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2025-01-17 00:06:35
|
Revision: 1566 http://sourceforge.net/p/seq/svn/1566 Author: theblueadept Date: 2025-01-17 00:06:34 +0000 (Fri, 17 Jan 2025) Log Message: ----------- Historical checkin for 1/16/25 - Struct and opcode updates (Newby) Version to 6.4.6 Modified Paths: -------------- showeq/trunk/ChangeLog Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2025-01-17 00:03:54 UTC (rev 1565) +++ showeq/trunk/ChangeLog 2025-01-17 00:06:34 UTC (rev 1566) @@ -1,7 +1,7 @@ -BlueAdept (1/16/24) +BlueAdept (1/16/25) ---------------- - Update to version 6.4.6 -- Support for EQ Patch 1/15/24 +- Support for EQ Patch 1/15/25 - Struct and opcode updates (Newby) cn187 (12/05/24) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2025-01-17 00:03:56
|
Revision: 1565 http://sourceforge.net/p/seq/svn/1565 Author: theblueadept Date: 2025-01-17 00:03:54 +0000 (Fri, 17 Jan 2025) Log Message: ----------- Historical checkin for 1/16/25 - Struct and opcode updates (Newby) Version to 6.4.6 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-12-06 00:20:14 UTC (rev 1564) +++ showeq/trunk/ChangeLog 2025-01-17 00:03:54 UTC (rev 1565) @@ -1,3 +1,9 @@ +BlueAdept (1/16/24) +---------------- +- Update to version 6.4.6 +- Support for EQ Patch 1/15/24 +- Struct and opcode updates (Newby) + cn187 (12/05/24) ---------------- - Update to version 6.4.5 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-12-06 00:20:14 UTC (rev 1564) +++ showeq/trunk/conf/zoneopcodes.xml 2025-01-17 00:03:54 UTC (rev 1565) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="06e2" name="OP_PlayerProfile" updated="12/05/24"> + <opcode id="4e5f" name="OP_PlayerProfile" updated="01/15/25"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2408" name="OP_ZoneEntry" updated="12/05/24"> + <opcode id="1a19" name="OP_ZoneEntry" updated="01/15/25"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7f08" name="OP_TimeOfDay" updated="12/05/24"> + <opcode id="0c76" name="OP_TimeOfDay" updated="01/15/25"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="549d" name="OP_NewZone" updated="12/05/24"> + <opcode id="10e1" name="OP_NewZone" updated="01/15/25"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="41cf" name="OP_SpawnDoor" updated="12/05/24"> + <opcode id="2252" name="OP_SpawnDoor" updated="01/15/25"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="2b23" name="OP_GroundSpawn" updated="12/05/24"> + <opcode id="36fb" name="OP_GroundSpawn" updated="01/15/25"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0d01" name="OP_SendZonePoints" updated="12/05/24"> + <opcode id="160f" name="OP_SendZonePoints" updated="01/15/25"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="1a2a" name="OP_AAExpUpdate" updated="12/05/24"> + <opcode id="0334" name="OP_AAExpUpdate" updated="01/15/25"> <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="4c05" name="OP_GuildMOTD" updated="12/05/24"> + <opcode id="3b69" name="OP_GuildMOTD" updated="01/15/25"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="635f" name="OP_ClientUpdate" updated="12/05/24"> + <opcode id="65d7" name="OP_ClientUpdate" updated="01/15/25"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="7ada" name="OP_NpcMoveUpdate" updated="12/05/24"> + <opcode id="3bc7" name="OP_NpcMoveUpdate" updated="01/15/25"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6633" name="OP_MobUpdate" updated="12/05/24"> + <opcode id="0486" name="OP_MobUpdate" updated="01/15/25"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="1454" name="OP_DeleteSpawn" updated="12/05/24"> + <opcode id="5e27" name="OP_DeleteSpawn" updated="01/15/25"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="572d" name="OP_RemoveSpawn" updated="12/05/24"> + <opcode id="19db" name="OP_RemoveSpawn" updated="01/15/25"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="576e" name="OP_Death" updated="12/05/24"> + <opcode id="3a6b" name="OP_Death" updated="01/15/25"> <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="0522" name="OP_SpawnAppearance" updated="12/05/24"> + <opcode id="1131" name="OP_SpawnAppearance" updated="01/15/25"> <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="3667" name="OP_GuildMemberUpdate" updated="12/05/24"> + <opcode id="27e5" name="OP_GuildMemberUpdate" updated="01/15/25"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="6581" name="OP_ClickObject" updated="12/05/24"> + <opcode id="2a36" name="OP_ClickObject" updated="01/15/25"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="4128" name="OP_Action" updated="12/05/24"> + <opcode id="24b4" name="OP_Action" updated="01/15/25"> <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="2f83" name="OP_Consider" updated="12/05/24"> + <opcode id="13c9" name="OP_Consider" updated="01/15/25"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="5d0e" name="OP_TargetMouse" updated="12/05/24"> + <opcode id="1440" name="OP_TargetMouse" updated="01/15/25"> <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="016a" name="OP_ZoneChange" updated="12/05/24"> + <opcode id="31e1" name="OP_ZoneChange" updated="01/15/25"> <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="0db6" name="OP_SimpleMessage" updated="12/05/24"> + <opcode id="1749" name="OP_SimpleMessage" updated="01/15/25"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="5c1e" name="OP_FormattedMessage" updated="12/05/24"> + <opcode id="40e7" name="OP_FormattedMessage" updated="01/15/25"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="36ee" name="OP_CommonMessage" updated="12/05/24"> + <opcode id="3535" name="OP_CommonMessage" updated="01/15/25"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="48ee" name="OP_SpecialMesg" updated="12/05/24"> + <opcode id="53f0" name="OP_SpecialMesg" updated="01/15/25"> <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="15b6" name="OP_GuildMemberList" updated="12/05/24"> + <opcode id="714a" name="OP_GuildMemberList" updated="01/15/25"> <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="5384" name="OP_ExpandedGuildInfo" updated="12/05/24"> + <opcode id="31cb" name="OP_ExpandedGuildInfo" updated="01/15/25"> <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="0091" name="OP_GuildsInZoneList" updated="12/05/24"> + <opcode id="5f0a" name="OP_GuildsInZoneList" updated="01/15/25"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -595,8 +595,8 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6556" name="OP_Find" updated="12/05/24"> - <comment>Find window data - 112 bytes</comment> + <opcode id="6a6a" name="OP_Find" updated="01/15/25"> + <comment>Find window data - variable length, 24 min</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> <opcode id="ffff" name="OP_ConsiderCorpse" updated="11/28/12"> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2024-12-06 00:20:14 UTC (rev 1564) +++ showeq/trunk/configure.in 2025-01-17 00:03:54 UTC (rev 1565) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.5) +AC_INIT(showeq, 6.4.6) 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-12-06 00:20:14 UTC (rev 1564) +++ showeq/trunk/src/everquest.h 2025-01-17 00:03:54 UTC (rev 1565) @@ -1119,27 +1119,29 @@ struct { - signed y:19; // y coord (2nd loc value) - signed deltaY:13; // change in y + signed z:19; // z coord (3rd loc value) + signed deltaZ:13; // change in z - signed x:19; // x coord (1st loc value) signed animation:10; // current animation - unsigned padding01:3; + unsigned pitch:12; // pitch (up/down heading) + unsigned padding01:10; signed deltaX:13; // change in x - signed deltaZ:13; // change in z - unsigned padding02:6; - signed deltaHeading:10; // change in heading - signed z:19; // z coord (3rd loc value) - unsigned padding03:3; + unsigned padding02:9; + signed y:19; // y coord (2nd loc value) + unsigned padding03:13; + + signed x:19; // x coord (1st loc value) unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding04:8; + unsigned padding04:1; + signed deltaY:13; // change in y + unsigned padding05:19; + }; - int32_t posData[5]; + int32_t posData[6]; }; /*0000*/ union @@ -2389,7 +2391,7 @@ /* ** Player Position Update -** Length: 24 Octets +** Length: 28 Octets ** OpCode: PlayerPosCode */ struct playerSpawnPosStruct @@ -2397,30 +2399,32 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed y:19; // y coord (2nd loc value) - signed deltaY:13; // change in y + signed z:19; // z coord (3rd loc value) + signed deltaZ:13; // change in z /*0008*/ - signed x:19; // x coord (1st loc value) signed animation:10; // current animation - unsigned padding01:3; + unsigned pitch:12; // pitch (up/down heading) + unsigned padding01:10; /*0012*/ signed deltaX:13; // change in x - signed deltaZ:13; // change in z - unsigned padding02:6; + signed deltaHeading:10; // change in heading + unsigned padding02:9; /*0016*/ - signed deltaHeading:10; // change in heading - signed z:19; // z coord (3rd loc value) - unsigned padding03:3; + signed y:19; // y coord (2nd loc value) + unsigned padding03:13; /*0020*/ + signed x:19; // x coord (1st loc value) unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding04:8; + unsigned padding04:1; /*0024*/ + signed deltaY:13; // change in y + unsigned padding05:19; +/*0028*/ }; /* ** Self Position Update -** Length: 46 Octets +** Length: 42 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2429,30 +2433,28 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float deltaX; // change in x + signed animation:10; // current animation + unsigned heading:12; // heading + unsigned padding00:10; /*0010*/ - signed deltaHeading:10; // change in heading - unsigned padding01:22; + float y; // y coord (2nd loc value) /*0014*/ - float deltaZ; // change in z + unsigned pitch:12; // pitch (up/down heading) + unsigned padding02:20; /*0018*/ - float y; // y coord (2nd loc value) + float x; // x coord (1st loc value) /*0022*/ - float x; // x coord (1st loc value) + float deltaY; // change in y /*0026*/ - unsigned heading:12; // heading - unsigned padding05:20; + float deltaX; // change in x /*0030*/ - float deltaY; // change in y + float deltaZ; // change in z /*0034*/ - signed animation:10; // current animation - unsigned padding07:22; + float z; // z coord (3rd loc value) /*0038*/ - float z; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding08:22; /*0042*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding09:20; -/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-12-06 00:20:16
|
Revision: 1564 http://sourceforge.net/p/seq/svn/1564 Author: cn187 Date: 2024-12-06 00:20:14 +0000 (Fri, 06 Dec 2024) Log Message: ----------- Release 6.4.5 - Update to version 6.4.5 - Support for EQ Patch 12/05/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 Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2024-12-06 00:15:40 UTC (rev 1563) +++ showeq/branches/cn187_devel/ChangeLog 2024-12-06 00:20:14 UTC (rev 1564) @@ -1,3 +1,9 @@ +cn187 (12/05/24) +---------------- +- Update to version 6.4.5 +- Support for EQ Patch 12/05/24 +- Struct and opcode updates (Newby) + cn187 (12/03/24) ---------------- - Update to version 6.4.4 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-12-06 00:15:40 UTC (rev 1563) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-12-06 00:20:14 UTC (rev 1564) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="3e9f" name="OP_PlayerProfile" updated="12/03/24"> + <opcode id="06e2" name="OP_PlayerProfile" updated="12/05/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="33c9" name="OP_ZoneEntry" updated="12/03/24"> + <opcode id="2408" name="OP_ZoneEntry" updated="12/05/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7d4a" name="OP_TimeOfDay" updated="12/03/24"> + <opcode id="7f08" name="OP_TimeOfDay" updated="12/05/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="609f" name="OP_NewZone" updated="12/03/24"> + <opcode id="549d" name="OP_NewZone" updated="12/05/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1aab" name="OP_SpawnDoor" updated="12/03/24"> + <opcode id="41cf" name="OP_SpawnDoor" updated="12/05/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="165e" name="OP_GroundSpawn" updated="12/03/24"> + <opcode id="2b23" name="OP_GroundSpawn" updated="12/05/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="219f" name="OP_SendZonePoints" updated="12/03/24"> + <opcode id="0d01" name="OP_SendZonePoints" updated="12/05/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="6edb" name="OP_AAExpUpdate" updated="12/03/24"> + <opcode id="1a2a" name="OP_AAExpUpdate" updated="12/05/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="0ecb" name="OP_GuildMOTD" updated="12/03/24"> + <opcode id="4c05" name="OP_GuildMOTD" updated="12/05/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5381" name="OP_ClientUpdate" updated="12/03/24"> + <opcode id="635f" name="OP_ClientUpdate" updated="12/05/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="746b" name="OP_NpcMoveUpdate" updated="12/03/24"> + <opcode id="7ada" name="OP_NpcMoveUpdate" updated="12/05/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="05d4" name="OP_MobUpdate" updated="12/03/24"> + <opcode id="6633" name="OP_MobUpdate" updated="12/05/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="479d" name="OP_DeleteSpawn" updated="12/03/24"> + <opcode id="1454" name="OP_DeleteSpawn" updated="12/05/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="3b7c" name="OP_RemoveSpawn" updated="12/03/24"> + <opcode id="572d" name="OP_RemoveSpawn" updated="12/05/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="6214" name="OP_Death" updated="12/03/24"> + <opcode id="576e" name="OP_Death" updated="12/05/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="1d39" name="OP_SpawnAppearance" updated="12/03/24"> + <opcode id="0522" name="OP_SpawnAppearance" updated="12/05/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="15d2" name="OP_GuildMemberUpdate" updated="12/03/24"> + <opcode id="3667" name="OP_GuildMemberUpdate" updated="12/05/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="2a06" name="OP_ClickObject" updated="12/03/24"> + <opcode id="6581" name="OP_ClickObject" updated="12/05/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="45cd" name="OP_Action" updated="12/03/24"> + <opcode id="4128" name="OP_Action" updated="12/05/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="6e3a" name="OP_Consider" updated="12/03/24"> + <opcode id="2f83" name="OP_Consider" updated="12/05/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="1673" name="OP_TargetMouse" updated="12/03/24"> + <opcode id="5d0e" name="OP_TargetMouse" updated="12/05/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="79d8" name="OP_ZoneChange" updated="12/03/24"> + <opcode id="016a" name="OP_ZoneChange" updated="12/05/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="2f83" name="OP_SimpleMessage" updated="12/03/24"> + <opcode id="0db6" name="OP_SimpleMessage" updated="12/05/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7331" name="OP_FormattedMessage" updated="12/03/24"> + <opcode id="5c1e" name="OP_FormattedMessage" updated="12/05/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="065e" name="OP_CommonMessage" updated="12/03/24"> + <opcode id="36ee" name="OP_CommonMessage" updated="12/05/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4437" name="OP_SpecialMesg" updated="12/03/24"> + <opcode id="48ee" name="OP_SpecialMesg" updated="12/05/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -315,7 +315,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0642" name="OP_GuildMemberList" updated="12/03/24"> + <opcode id="15b6" name="OP_GuildMemberList" updated="12/05/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -375,7 +375,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0164" name="OP_ExpandedGuildInfo" updated="12/03/24"> + <opcode id="5384" name="OP_ExpandedGuildInfo" updated="12/05/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -543,7 +543,7 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="532c" name="OP_GuildsInZoneList" updated="12/03/24"> + <opcode id="0091" name="OP_GuildsInZoneList" updated="12/05/24"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -603,7 +603,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1065" name="OP_Find" updated="12/03/24"> + <opcode id="6556" name="OP_Find" updated="12/05/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-12-06 00:15:40 UTC (rev 1563) +++ showeq/branches/cn187_devel/configure.in 2024-12-06 00:20:14 UTC (rev 1564) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.4) +AC_INIT(showeq, 6.4.5) 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-12-06 00:15:40 UTC (rev 1563) +++ showeq/branches/cn187_devel/src/everquest.h 2024-12-06 00:20:14 UTC (rev 1564) @@ -1119,25 +1119,25 @@ struct { + signed y:19; // y coord (2nd loc value) + signed deltaY:13; // change in y + + signed x:19; // x coord (1st loc value) + signed animation:10; // current animation + unsigned padding01:3; + + signed deltaX:13; // change in x signed deltaZ:13; // change in z - unsigned heading:12; // heading - unsigned padding00:7; + unsigned padding02:6; + signed deltaHeading:10; // change in heading signed z:19; // z coord (3rd loc value) - signed deltaHeading:10; // change in heading - unsigned padding01:3; + unsigned padding03:3; - signed x:19; // x coord (1st loc value) + unsigned heading:12; // heading unsigned pitch:12; // pitch (up/down heading) - unsigned padding02:1; + unsigned padding04:8; - signed animation:10; // current animation - signed deltaX:13; // change in x - unsigned padding03:9; - - signed y:19; // y coord (2nd loc value) - signed deltaY:13; // change in y - }; int32_t posData[5]; }; @@ -2397,24 +2397,24 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaZ:13; // change in z - unsigned heading:12; // heading - unsigned padding00:7; + signed y:19; // y coord (2nd loc value) + signed deltaY:13; // change in y /*0008*/ - signed z:19; // z coord (3rd loc value) - signed deltaHeading:10; // change in heading + signed x:19; // x coord (1st loc value) + signed animation:10; // current animation unsigned padding01:3; /*0012*/ - signed x:19; // x coord (1st loc value) - unsigned pitch:12; // pitch (up/down heading) - unsigned padding02:1; + signed deltaX:13; // change in x + signed deltaZ:13; // change in z + unsigned padding02:6; /*0016*/ - signed animation:10; // current animation - signed deltaX:13; // change in x - unsigned padding03:9; + signed deltaHeading:10; // change in heading + signed z:19; // z coord (3rd loc value) + unsigned padding03:3; /*0020*/ - signed y:19; // y coord (2nd loc value) - signed deltaY:13; // change in y + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding04:8; /*0024*/ }; @@ -2429,29 +2429,29 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - unsigned heading:12; // heading - unsigned padding00:20; + float deltaX; // change in x /*0010*/ - float z; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding01:22; /*0014*/ - signed animation:10; // current animation - unsigned padding02:22; + float deltaZ; // change in z /*0018*/ - float deltaY; // change in y + float y; // y coord (2nd loc value) /*0022*/ - float deltaZ; // change in z + float x; // x coord (1st loc value) /*0026*/ - unsigned pitch:12; // pitch (up/down heading) + unsigned heading:12; // heading unsigned padding05:20; /*0030*/ - float y; // y coord (2nd loc value) + float deltaY; // change in y /*0034*/ - float x; // x coord (1st loc value) + signed animation:10; // current animation + unsigned padding07:22; /*0038*/ - float deltaX; // change in x + float z; // z coord (3rd loc value) /*0042*/ - signed deltaHeading:10; // change in heading - unsigned padding09:22; + unsigned pitch:12; // pitch (up/down heading) + unsigned padding09:20; /*0046*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-12-06 00:15:42
|
Revision: 1563 http://sourceforge.net/p/seq/svn/1563 Author: cn187 Date: 2024-12-06 00:15:40 +0000 (Fri, 06 Dec 2024) Log Message: ----------- Tag for release 6.4.5 Added Paths: ----------- showeq/tags/v6_4_5/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-12-06 00:15:05
|
Revision: 1562 http://sourceforge.net/p/seq/svn/1562 Author: cn187 Date: 2024-12-06 00:15:03 +0000 (Fri, 06 Dec 2024) Log Message: ----------- Release 6.4.5 - Update to version 6.4.5 - Support for EQ Patch 12/05/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-12-04 01:27:37 UTC (rev 1561) +++ showeq/trunk/ChangeLog 2024-12-06 00:15:03 UTC (rev 1562) @@ -1,3 +1,9 @@ +cn187 (12/05/24) +---------------- +- Update to version 6.4.5 +- Support for EQ Patch 12/05/24 +- Struct and opcode updates (Newby) + cn187 (12/03/24) ---------------- - Update to version 6.4.4 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-12-04 01:27:37 UTC (rev 1561) +++ showeq/trunk/conf/zoneopcodes.xml 2024-12-06 00:15:03 UTC (rev 1562) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="3e9f" name="OP_PlayerProfile" updated="12/03/24"> + <opcode id="06e2" name="OP_PlayerProfile" updated="12/05/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="33c9" name="OP_ZoneEntry" updated="12/03/24"> + <opcode id="2408" name="OP_ZoneEntry" updated="12/05/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7d4a" name="OP_TimeOfDay" updated="12/03/24"> + <opcode id="7f08" name="OP_TimeOfDay" updated="12/05/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="609f" name="OP_NewZone" updated="12/03/24"> + <opcode id="549d" name="OP_NewZone" updated="12/05/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1aab" name="OP_SpawnDoor" updated="12/03/24"> + <opcode id="41cf" name="OP_SpawnDoor" updated="12/05/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="165e" name="OP_GroundSpawn" updated="12/03/24"> + <opcode id="2b23" name="OP_GroundSpawn" updated="12/05/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="219f" name="OP_SendZonePoints" updated="12/03/24"> + <opcode id="0d01" name="OP_SendZonePoints" updated="12/05/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="6edb" name="OP_AAExpUpdate" updated="12/03/24"> + <opcode id="1a2a" name="OP_AAExpUpdate" updated="12/05/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="0ecb" name="OP_GuildMOTD" updated="12/03/24"> + <opcode id="4c05" name="OP_GuildMOTD" updated="12/05/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5381" name="OP_ClientUpdate" updated="12/03/24"> + <opcode id="635f" name="OP_ClientUpdate" updated="12/05/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="746b" name="OP_NpcMoveUpdate" updated="12/03/24"> + <opcode id="7ada" name="OP_NpcMoveUpdate" updated="12/05/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="05d4" name="OP_MobUpdate" updated="12/03/24"> + <opcode id="6633" name="OP_MobUpdate" updated="12/05/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="479d" name="OP_DeleteSpawn" updated="12/03/24"> + <opcode id="1454" name="OP_DeleteSpawn" updated="12/05/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="3b7c" name="OP_RemoveSpawn" updated="12/03/24"> + <opcode id="572d" name="OP_RemoveSpawn" updated="12/05/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="6214" name="OP_Death" updated="12/03/24"> + <opcode id="576e" name="OP_Death" updated="12/05/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="1d39" name="OP_SpawnAppearance" updated="12/03/24"> + <opcode id="0522" name="OP_SpawnAppearance" updated="12/05/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="15d2" name="OP_GuildMemberUpdate" updated="12/03/24"> + <opcode id="3667" name="OP_GuildMemberUpdate" updated="12/05/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="2a06" name="OP_ClickObject" updated="12/03/24"> + <opcode id="6581" name="OP_ClickObject" updated="12/05/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="45cd" name="OP_Action" updated="12/03/24"> + <opcode id="4128" name="OP_Action" updated="12/05/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="6e3a" name="OP_Consider" updated="12/03/24"> + <opcode id="2f83" name="OP_Consider" updated="12/05/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="1673" name="OP_TargetMouse" updated="12/03/24"> + <opcode id="5d0e" name="OP_TargetMouse" updated="12/05/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="79d8" name="OP_ZoneChange" updated="12/03/24"> + <opcode id="016a" name="OP_ZoneChange" updated="12/05/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="2f83" name="OP_SimpleMessage" updated="12/03/24"> + <opcode id="0db6" name="OP_SimpleMessage" updated="12/05/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7331" name="OP_FormattedMessage" updated="12/03/24"> + <opcode id="5c1e" name="OP_FormattedMessage" updated="12/05/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="065e" name="OP_CommonMessage" updated="12/03/24"> + <opcode id="36ee" name="OP_CommonMessage" updated="12/05/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4437" name="OP_SpecialMesg" updated="12/03/24"> + <opcode id="48ee" name="OP_SpecialMesg" updated="12/05/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="0642" name="OP_GuildMemberList" updated="12/03/24"> + <opcode id="15b6" name="OP_GuildMemberList" updated="12/05/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="0164" name="OP_ExpandedGuildInfo" updated="12/03/24"> + <opcode id="5384" name="OP_ExpandedGuildInfo" updated="12/05/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="532c" name="OP_GuildsInZoneList" updated="12/03/24"> + <opcode id="0091" name="OP_GuildsInZoneList" updated="12/05/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="1065" name="OP_Find" updated="12/03/24"> + <opcode id="6556" name="OP_Find" updated="12/05/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-12-04 01:27:37 UTC (rev 1561) +++ showeq/trunk/configure.in 2024-12-06 00:15:03 UTC (rev 1562) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.4) +AC_INIT(showeq, 6.4.5) 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-12-04 01:27:37 UTC (rev 1561) +++ showeq/trunk/src/everquest.h 2024-12-06 00:15:03 UTC (rev 1562) @@ -1119,25 +1119,25 @@ struct { + signed y:19; // y coord (2nd loc value) + signed deltaY:13; // change in y + + signed x:19; // x coord (1st loc value) + signed animation:10; // current animation + unsigned padding01:3; + + signed deltaX:13; // change in x signed deltaZ:13; // change in z - unsigned heading:12; // heading - unsigned padding00:7; + unsigned padding02:6; + signed deltaHeading:10; // change in heading signed z:19; // z coord (3rd loc value) - signed deltaHeading:10; // change in heading - unsigned padding01:3; + unsigned padding03:3; - signed x:19; // x coord (1st loc value) + unsigned heading:12; // heading unsigned pitch:12; // pitch (up/down heading) - unsigned padding02:1; + unsigned padding04:8; - signed animation:10; // current animation - signed deltaX:13; // change in x - unsigned padding03:9; - - signed y:19; // y coord (2nd loc value) - signed deltaY:13; // change in y - }; int32_t posData[5]; }; @@ -2397,24 +2397,24 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaZ:13; // change in z - unsigned heading:12; // heading - unsigned padding00:7; + signed y:19; // y coord (2nd loc value) + signed deltaY:13; // change in y /*0008*/ - signed z:19; // z coord (3rd loc value) - signed deltaHeading:10; // change in heading + signed x:19; // x coord (1st loc value) + signed animation:10; // current animation unsigned padding01:3; /*0012*/ - signed x:19; // x coord (1st loc value) - unsigned pitch:12; // pitch (up/down heading) - unsigned padding02:1; + signed deltaX:13; // change in x + signed deltaZ:13; // change in z + unsigned padding02:6; /*0016*/ - signed animation:10; // current animation - signed deltaX:13; // change in x - unsigned padding03:9; + signed deltaHeading:10; // change in heading + signed z:19; // z coord (3rd loc value) + unsigned padding03:3; /*0020*/ - signed y:19; // y coord (2nd loc value) - signed deltaY:13; // change in y + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding04:8; /*0024*/ }; @@ -2429,29 +2429,29 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - unsigned heading:12; // heading - unsigned padding00:20; + float deltaX; // change in x /*0010*/ - float z; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding01:22; /*0014*/ - signed animation:10; // current animation - unsigned padding02:22; + float deltaZ; // change in z /*0018*/ - float deltaY; // change in y + float y; // y coord (2nd loc value) /*0022*/ - float deltaZ; // change in z + float x; // x coord (1st loc value) /*0026*/ - unsigned pitch:12; // pitch (up/down heading) + unsigned heading:12; // heading unsigned padding05:20; /*0030*/ - float y; // y coord (2nd loc value) + float deltaY; // change in y /*0034*/ - float x; // x coord (1st loc value) + signed animation:10; // current animation + unsigned padding07:22; /*0038*/ - float deltaX; // change in x + float z; // z coord (3rd loc value) /*0042*/ - signed deltaHeading:10; // change in heading - unsigned padding09:22; + unsigned pitch:12; // pitch (up/down heading) + unsigned padding09:20; /*0046*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-12-04 01:27:40
|
Revision: 1561 http://sourceforge.net/p/seq/svn/1561 Author: cn187 Date: 2024-12-04 01:27:37 +0000 (Wed, 04 Dec 2024) Log Message: ----------- Release 6.4.4 - Update to version 6.4.4 - Support for EQ Patch 12/03/24 - Struct and opcode updates (Newby) - Add new zones for TOB (Newby) - Add new races for TOB 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/races.h showeq/branches/cn187_devel/src/zonemgr.cpp showeq/branches/cn187_devel/src/zones.h Added Paths: ----------- showeq/branches/cn187_devel/scripts/dbstr2races.sh Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2024-12-04 01:27:26 UTC (rev 1560) +++ showeq/branches/cn187_devel/ChangeLog 2024-12-04 01:27:37 UTC (rev 1561) @@ -1,8 +1,21 @@ +cn187 (12/03/24) +---------------- +- Update to version 6.4.4 +- Support for EQ Patch 12/03/24 +- Struct and opcode updates (Newby) +- Add new zones for TOB (Newby) +- Add new races for TOB + BlueAdept (11/20/24) ---------------- - Update to version 6.4.3 - Support for EQ Patch 11/20/24 - Struct and opcode updates (Newby) +BlueAdept (11/20/24) +---------------- +- Update to version 6.4.3 +- Support for EQ Patch 11/20/24 +- Struct and opcode updates (Newby) BlueAdept (10/16/24) ---------------- Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-12-04 01:27:26 UTC (rev 1560) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-12-04 01:27:37 UTC (rev 1561) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="1a1b" name="OP_PlayerProfile" updated="11/20/24"> + <opcode id="3e9f" name="OP_PlayerProfile" updated="12/03/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="46bd" name="OP_ZoneEntry" updated="11/20/24"> + <opcode id="33c9" name="OP_ZoneEntry" updated="12/03/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1f62" name="OP_TimeOfDay" updated="11/20/24"> + <opcode id="7d4a" name="OP_TimeOfDay" updated="12/03/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="2a5b" name="OP_NewZone" updated="11/20/24"> + <opcode id="609f" name="OP_NewZone" updated="12/03/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6013" name="OP_SpawnDoor" updated="11/20/24"> + <opcode id="1aab" name="OP_SpawnDoor" updated="12/03/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="53d0" name="OP_GroundSpawn" updated="11/20/24"> + <opcode id="165e" name="OP_GroundSpawn" updated="12/03/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6042" name="OP_SendZonePoints" updated="11/20/24"> + <opcode id="219f" name="OP_SendZonePoints" updated="12/03/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="749a" name="OP_AAExpUpdate" updated="11/20/24"> + <opcode id="6edb" name="OP_AAExpUpdate" updated="12/03/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="3f16" name="OP_GuildMOTD" updated="11/20/24"> + <opcode id="0ecb" name="OP_GuildMOTD" updated="12/03/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="293e" name="OP_ClientUpdate" updated="11/20/24"> + <opcode id="5381" name="OP_ClientUpdate" updated="12/03/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="6b11" name="OP_NpcMoveUpdate" updated="11/20/24"> + <opcode id="746b" name="OP_NpcMoveUpdate" updated="12/03/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="27c9" name="OP_MobUpdate" updated="11/20/24"> + <opcode id="05d4" name="OP_MobUpdate" updated="12/03/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="1a75" name="OP_DeleteSpawn" updated="11/20/24"> + <opcode id="479d" name="OP_DeleteSpawn" updated="12/03/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="1332" name="OP_RemoveSpawn" updated="11/20/24"> + <opcode id="3b7c" name="OP_RemoveSpawn" updated="12/03/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="3b92" name="OP_Death" updated="11/20/24"> + <opcode id="6214" name="OP_Death" updated="12/03/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="297c" name="OP_SpawnAppearance" updated="11/20/24"> + <opcode id="1d39" name="OP_SpawnAppearance" updated="12/03/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="33ae" name="OP_GuildMemberUpdate" updated="11/20/24"> + <opcode id="15d2" name="OP_GuildMemberUpdate" updated="12/03/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="1761" name="OP_ClickObject" updated="11/20/24"> + <opcode id="2a06" name="OP_ClickObject" updated="12/03/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="1d5b" name="OP_Action" updated="11/20/24"> + <opcode id="45cd" name="OP_Action" updated="12/03/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="596e" name="OP_Consider" updated="11/20/24"> + <opcode id="6e3a" name="OP_Consider" updated="12/03/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="52ee" name="OP_TargetMouse" updated="11/20/24"> + <opcode id="1673" name="OP_TargetMouse" updated="12/03/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="3824" name="OP_ZoneChange" updated="11/20/24"> + <opcode id="79d8" name="OP_ZoneChange" updated="12/03/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="1b69" name="OP_SimpleMessage" updated="11/20/24"> + <opcode id="2f83" name="OP_SimpleMessage" updated="12/03/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="123c" name="OP_FormattedMessage" updated="11/20/24"> + <opcode id="7331" name="OP_FormattedMessage" updated="12/03/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="3b50" name="OP_CommonMessage" updated="11/20/24"> + <opcode id="065e" name="OP_CommonMessage" updated="12/03/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4b7b" name="OP_SpecialMesg" updated="11/20/24"> + <opcode id="4437" name="OP_SpecialMesg" updated="12/03/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -315,7 +315,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7bc9" name="OP_GuildMemberList" updated="11/20/24"> + <opcode id="0642" name="OP_GuildMemberList" updated="12/03/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -375,7 +375,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="783e" name="OP_ExpandedGuildInfo" updated="11/20/24"> + <opcode id="0164" name="OP_ExpandedGuildInfo" updated="12/03/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -543,7 +543,7 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1de0" name="OP_GuildsInZoneList" updated="11/20/24"> + <opcode id="532c" name="OP_GuildsInZoneList" updated="12/03/24"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -603,7 +603,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3fa2" name="OP_Find" updated="11/20/24"> + <opcode id="1065" name="OP_Find" updated="12/03/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-12-04 01:27:26 UTC (rev 1560) +++ showeq/branches/cn187_devel/configure.in 2024-12-04 01:27:37 UTC (rev 1561) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.3) +AC_INIT(showeq, 6.4.4) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Added: showeq/branches/cn187_devel/scripts/dbstr2races.sh =================================================================== --- showeq/branches/cn187_devel/scripts/dbstr2races.sh (rev 0) +++ showeq/branches/cn187_devel/scripts/dbstr2races.sh 2024-12-04 01:27:37 UTC (rev 1561) @@ -0,0 +1,31 @@ +#!/bin/bash +# +# dbstr2races.sh +# Copyright 2020, cn187 <cn...@us...> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +if [[ $# != 1 ]]; then + echo "Usage: $0 <path to dbstr_us.txt>" + exit +fi + +dbstr=$1 + +grep -E "^[[:digit:]]+\^11\^[^\^]+\^.*" "$dbstr" | \ + cut -d'^' -s -f1,3 | \ + sed -r 's/([[:digit:]]+)\^([^\^]+)/"\2", \/\/\1/g' + Property changes on: showeq/branches/cn187_devel/scripts/dbstr2races.sh ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2024-12-04 01:27:26 UTC (rev 1560) +++ showeq/branches/cn187_devel/src/everquest.h 2024-12-04 01:27:37 UTC (rev 1561) @@ -1119,24 +1119,24 @@ struct { - signed animation:10; // current animation + signed deltaZ:13; // change in z + unsigned heading:12; // heading + unsigned padding00:7; + + signed z:19; // z coord (3rd loc value) signed deltaHeading:10; // change in heading - unsigned padding00:12; + unsigned padding01:3; signed x:19; // x coord (1st loc value) unsigned pitch:12; // pitch (up/down heading) - unsigned padding01:1; - - signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading unsigned padding02:1; - signed z:19; // z coord (3rd loc value) + signed animation:10; // current animation signed deltaX:13; // change in x + unsigned padding03:9; - signed deltaZ:13; // change in z + signed y:19; // y coord (2nd loc value) signed deltaY:13; // change in y - unsigned padding04:6; }; int32_t posData[5]; @@ -2397,30 +2397,30 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed animation:10; // current animation + signed deltaZ:13; // change in z + unsigned heading:12; // heading + unsigned padding00:7; +/*0008*/ + signed z:19; // z coord (3rd loc value) signed deltaHeading:10; // change in heading - unsigned padding00:12; -/*0008*/ + unsigned padding01:3; +/*0012*/ signed x:19; // x coord (1st loc value) unsigned pitch:12; // pitch (up/down heading) - unsigned padding01:1; -/*0012*/ - signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading unsigned padding02:1; /*0016*/ - signed z:19; // z coord (3rd loc value) + signed animation:10; // current animation signed deltaX:13; // change in x + unsigned padding03:9; /*0020*/ - signed deltaZ:13; // change in z + signed y:19; // y coord (2nd loc value) signed deltaY:13; // change in y - unsigned padding04:6; /*0024*/ }; /* ** Self Position Update -** Length: 42 Octets +** Length: 46 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2429,28 +2429,30 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float y; // y coord (2nd loc value) + unsigned heading:12; // heading + unsigned padding00:20; /*0010*/ - float deltaY; // change in y + float z; // z coord (3rd loc value) /*0014*/ - float deltaZ; // change in z + signed animation:10; // current animation + unsigned padding02:22; /*0018*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding03:20; + float deltaY; // change in y /*0022*/ - float deltaX; // change in x + float deltaZ; // change in z /*0026*/ - float z; // z coord (3rd loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding05:20; /*0030*/ - signed animation:10; // current animation - unsigned padding06:22; + float y; // y coord (2nd loc value) /*0034*/ float x; // x coord (1st loc value) /*0038*/ - unsigned heading:12; // heading + float deltaX; // change in x +/*0042*/ signed deltaHeading:10; // change in heading - unsigned padding08:10; -/*0042*/ + unsigned padding09:22; +/*0046*/ }; /* Modified: showeq/branches/cn187_devel/src/races.h =================================================================== --- showeq/branches/cn187_devel/src/races.h 2024-12-04 01:27:26 UTC (rev 1560) +++ showeq/branches/cn187_devel/src/races.h 2024-12-04 01:27:37 UTC (rev 1561) @@ -962,4 +962,23 @@ "Sheep", // 938 "Ogre NPC Rallosian", // 939 "Goblin", // 940 + "Leviathan Wing Right", //941 + "Leviathan Wing Left", //942 + "Leviathan Tail", //943 + "Outer Brood Dragon - Gold", //944 + "Scalewrought Monitor", //945 + "Hippocampus", //946 + "Scalewrought Flyer", //947 + "Scalewrought Manipulator", //948 + "Scalewrought Ground Attacker",//949 + "Leviathan", //950 + "Leviathan Transport", //951 + "Leviathan Mount", //952 + "Scalewrought Mount", //953 + "Otter Mount", //954 + "Web Tendon", //955 + "Long Tendon", //956 + "Polyp", //957 + "Bovoch", //958 + #endif Modified: showeq/branches/cn187_devel/src/zonemgr.cpp =================================================================== --- showeq/branches/cn187_devel/src/zonemgr.cpp 2024-12-04 01:27:26 UTC (rev 1560) +++ showeq/branches/cn187_devel/src/zonemgr.cpp 2024-12-04 01:27:37 UTC (rev 1561) @@ -442,7 +442,7 @@ player->profile.endurance = netStream.readUInt32NC(); // Unknown - netStream.skipBytes(58); + netStream.skipBytes(64); // Name int firstName = netStream.readUInt32NC(); Modified: showeq/branches/cn187_devel/src/zones.h =================================================================== --- showeq/branches/cn187_devel/src/zones.h 2024-12-04 01:27:26 UTC (rev 1560) +++ showeq/branches/cn187_devel/src/zones.h 2024-12-04 01:27:37 UTC (rev 1561) @@ -891,12 +891,12 @@ { NULL, NULL }, // 867 { NULL, NULL }, // 868 { "anniversarytower", "Tides of Time" }, // 869 -{ NULL, NULL }, // 870 -{ NULL, NULL }, // 871 -{ NULL, NULL }, // 872 -{ NULL, NULL }, // 873 -{ NULL, NULL }, // 874 -{ NULL, NULL }, // 875 +{ "hodstock", "Hodstock Hills" }, // 870 +{ "toe", "The Theater of Eternity" }, // 871 +{ "aureatecovert", "Aureate Covert" }, // 872 +{ "harbingerscradle", "The Harbinger's Cradle" }, // 873 +{ "puissance", "The Chambers of Puissance" }, // 874 +{ "gildedspire", "The Gilded Spire" }, // 875 { "clz-25anniversary", "clz-25anniversary" }, // 876 { NULL, NULL }, // 877 { NULL, NULL }, // 878 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-12-04 01:27:30
|
Revision: 1560 http://sourceforge.net/p/seq/svn/1560 Author: cn187 Date: 2024-12-04 01:27:26 +0000 (Wed, 04 Dec 2024) Log Message: ----------- Historical checkin for 11/20/24 - Struct and opcode updates (Newby) Version to 6.4.3 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-12-04 01:27:18 UTC (rev 1559) +++ showeq/branches/cn187_devel/ChangeLog 2024-12-04 01:27:26 UTC (rev 1560) @@ -1,3 +1,9 @@ +BlueAdept (11/20/24) +---------------- +- Update to version 6.4.3 +- Support for EQ Patch 11/20/24 +- Struct and opcode updates (Newby) + BlueAdept (10/16/24) ---------------- - Update to version 6.4.2 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-12-04 01:27:18 UTC (rev 1559) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-12-04 01:27:26 UTC (rev 1560) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="030c" name="OP_PlayerProfile" updated="10/16/24"> + <opcode id="1a1b" name="OP_PlayerProfile" updated="11/20/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2373" name="OP_ZoneEntry" updated="10/16/24"> + <opcode id="46bd" name="OP_ZoneEntry" updated="11/20/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0b62" name="OP_TimeOfDay" updated="10/16/24"> + <opcode id="1f62" name="OP_TimeOfDay" updated="11/20/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="5fb5" name="OP_NewZone" updated="10/16/24"> + <opcode id="2a5b" name="OP_NewZone" updated="11/20/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="621a" name="OP_SpawnDoor" updated="10/16/24"> + <opcode id="6013" name="OP_SpawnDoor" updated="11/20/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="02ba" name="OP_GroundSpawn" updated="10/16/24"> + <opcode id="53d0" name="OP_GroundSpawn" updated="11/20/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="25e5" name="OP_SendZonePoints" updated="10/16/24"> + <opcode id="6042" name="OP_SendZonePoints" updated="11/20/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="13cf" name="OP_AAExpUpdate" updated="10/16/24"> + <opcode id="749a" name="OP_AAExpUpdate" updated="11/20/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="4578" name="OP_GuildMOTD" updated="10/16/24"> + <opcode id="3f16" name="OP_GuildMOTD" updated="11/20/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="664e" name="OP_ClientUpdate" updated="10/16/24"> + <opcode id="293e" name="OP_ClientUpdate" updated="11/20/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="4ae5" name="OP_NpcMoveUpdate" updated="10/16/24"> + <opcode id="6b11" name="OP_NpcMoveUpdate" updated="11/20/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4e9e" name="OP_MobUpdate" updated="10/16/24"> + <opcode id="27c9" name="OP_MobUpdate" updated="11/20/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="177a" name="OP_DeleteSpawn" updated="10/16/24"> + <opcode id="1a75" name="OP_DeleteSpawn" updated="11/20/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="1284" name="OP_RemoveSpawn" updated="10/16/24"> + <opcode id="1332" name="OP_RemoveSpawn" updated="11/20/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="0f1a" name="OP_Death" updated="10/16/24"> + <opcode id="3b92" name="OP_Death" updated="11/20/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="bd8b" name="OP_SpawnAppearance" updated="10/16/24"> + <opcode id="297c" name="OP_SpawnAppearance" updated="11/20/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="0a9e" name="OP_GuildMemberUpdate" updated="10/16/24"> + <opcode id="33ae" name="OP_GuildMemberUpdate" updated="11/20/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="54f8" name="OP_ClickObject" updated="10/16/24"> + <opcode id="1761" name="OP_ClickObject" updated="11/20/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="4dc3" name="OP_Action" updated="10/16/24"> + <opcode id="1d5b" name="OP_Action" updated="11/20/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="2771" name="OP_Consider" updated="10/16/24"> + <opcode id="596e" name="OP_Consider" updated="11/20/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="0ca0" name="OP_TargetMouse" updated="10/16/24"> + <opcode id="52ee" name="OP_TargetMouse" updated="11/20/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="2a38" name="OP_ZoneChange" updated="10/16/24"> + <opcode id="3824" name="OP_ZoneChange" updated="11/20/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="014f" name="OP_SimpleMessage" updated="10/16/24"> + <opcode id="1b69" name="OP_SimpleMessage" updated="11/20/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="339f" name="OP_FormattedMessage" updated="10/16/24"> + <opcode id="123c" name="OP_FormattedMessage" updated="11/20/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="2151" name="OP_CommonMessage" updated="10/16/24"> + <opcode id="3b50" name="OP_CommonMessage" updated="11/20/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="1685" name="OP_SpecialMesg" updated="10/16/24"> + <opcode id="4b7b" name="OP_SpecialMesg" updated="11/20/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -315,7 +315,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0563" name="OP_GuildMemberList" updated="10/16/24"> + <opcode id="7bc9" name="OP_GuildMemberList" updated="11/20/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -375,7 +375,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2086" name="OP_ExpandedGuildInfo" updated="10/16/24"> + <opcode id="783e" name="OP_ExpandedGuildInfo" updated="11/20/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -543,7 +543,7 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="03cd" name="OP_GuildsInZoneList" updated="10/16/24"> + <opcode id="1de0" name="OP_GuildsInZoneList" updated="11/20/24"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -603,7 +603,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6334" name="OP_Find" updated="10/16/24"> + <opcode id="3fa2" name="OP_Find" updated="11/20/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-12-04 01:27:18 UTC (rev 1559) +++ showeq/branches/cn187_devel/configure.in 2024-12-04 01:27:26 UTC (rev 1560) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.2) +AC_INIT(showeq, 6.4.3) 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-12-04 01:27:18 UTC (rev 1559) +++ showeq/branches/cn187_devel/src/everquest.h 2024-12-04 01:27:26 UTC (rev 1560) @@ -1119,24 +1119,24 @@ struct { + signed animation:10; // current animation + signed deltaHeading:10; // change in heading + unsigned padding00:12; + + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding01:1; + + signed y:19; // y coord (2nd loc value) unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) - unsigned padding00:1; + unsigned padding02:1; signed z:19; // z coord (3rd loc value) signed deltaX:13; // change in x - signed deltaHeading:10; // change in heading signed deltaZ:13; // change in z - unsigned padding02:9; - - signed x:19; // x coord (1st loc value) - unsigned pitch:12; // pitch (up/down heading) - unsigned padding03:1; - - signed animation:10; // current animation signed deltaY:13; // change in y - unsigned padding04:9; + unsigned padding04:6; }; int32_t posData[5]; @@ -2397,30 +2397,30 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed animation:10; // current animation + signed deltaHeading:10; // change in heading + unsigned padding00:12; +/*0008*/ + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding01:1; +/*0012*/ + signed y:19; // y coord (2nd loc value) unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) - unsigned padding00:1; -/*0008*/ + unsigned padding02:1; +/*0016*/ signed z:19; // z coord (3rd loc value) signed deltaX:13; // change in x -/*0012*/ - signed deltaHeading:10; // change in heading +/*0020*/ signed deltaZ:13; // change in z - unsigned padding02:9; -/*0016*/ - signed x:19; // x coord (1st loc value) - unsigned pitch:12; // pitch (up/down heading) - unsigned padding03:1; -/*0020*/ - signed animation:10; // current animation signed deltaY:13; // change in y - unsigned padding04:9; + unsigned padding04:6; /*0024*/ }; /* ** Self Position Update -** Length: 46 Octets +** Length: 42 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2429,30 +2429,28 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float z; // z coord (3rd loc value) + float y; // y coord (2nd loc value) /*0010*/ - float deltaX; // change in x + float deltaY; // change in y /*0014*/ - signed animation:10; // current animation - unsigned padding02:22; + float deltaZ; // change in z /*0018*/ - float x; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding03:20; /*0022*/ - float deltaY; // change in y + float deltaX; // change in x /*0026*/ - unsigned heading:12; // heading - unsigned padding05:20; + float z; // z coord (3rd loc value) /*0030*/ - float deltaZ; // change in z + signed animation:10; // current animation + unsigned padding06:22; /*0034*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding07:20; + float x; // x coord (1st loc value) /*0038*/ - float y; // y coord (2nd loc value) + unsigned heading:12; // heading + signed deltaHeading:10; // change in heading + unsigned padding08:10; /*0042*/ - signed deltaHeading:10; // change in heading - unsigned padding09:22; -/*0046*/ }; /* Modified: showeq/branches/cn187_devel/src/zonemgr.cpp =================================================================== --- showeq/branches/cn187_devel/src/zonemgr.cpp 2024-12-04 01:27:18 UTC (rev 1559) +++ showeq/branches/cn187_devel/src/zonemgr.cpp 2024-12-04 01:27:26 UTC (rev 1560) @@ -464,6 +464,9 @@ player->expansions = netStream.readUInt32NC(); + // Unknown + netStream.skipBytes(4); + // MAX_KNOWN_LANGS (32 ints) int langCount = netStream.readUInt32NC(); for (int i = 0; i < langCount; i++) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-12-04 01:27:20
|
Revision: 1559 http://sourceforge.net/p/seq/svn/1559 Author: cn187 Date: 2024-12-04 01:27:18 +0000 (Wed, 04 Dec 2024) Log Message: ----------- Historical checkin for 10/16/24 - Support for EQ Patch 10/16/24 - Struct and opcode updates (Newby) Version to 6.4.2 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-12-04 01:21:46 UTC (rev 1558) +++ showeq/branches/cn187_devel/ChangeLog 2024-12-04 01:27:18 UTC (rev 1559) @@ -1,3 +1,9 @@ +BlueAdept (10/16/24) +---------------- +- Update to version 6.4.2 +- Support for EQ Patch 10/16/24 +- Struct and opcode updates (Newby) + cn187 (09/18/24) ---------------- - Update to version 6.4.1 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-12-04 01:21:46 UTC (rev 1558) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-12-04 01:27:18 UTC (rev 1559) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="42dd" name="OP_PlayerProfile" updated="09/18/24"> + <opcode id="030c" name="OP_PlayerProfile" updated="10/16/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0e04" name="OP_ZoneEntry" updated="09/18/24"> + <opcode id="2373" name="OP_ZoneEntry" updated="10/16/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="02c8" name="OP_TimeOfDay" updated="09/18/24"> + <opcode id="0b62" name="OP_TimeOfDay" updated="10/16/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="2ec3" name="OP_NewZone" updated="09/18/24"> + <opcode id="5fb5" name="OP_NewZone" updated="10/16/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2f85" name="OP_SpawnDoor" updated="09/18/24"> + <opcode id="621a" name="OP_SpawnDoor" updated="10/16/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7b43" name="OP_GroundSpawn" updated="09/18/24"> + <opcode id="02ba" name="OP_GroundSpawn" updated="10/16/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3e69" name="OP_SendZonePoints" updated="09/18/24"> + <opcode id="25e5" name="OP_SendZonePoints" updated="10/16/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="33e4" name="OP_AAExpUpdate" updated="09/18/24"> + <opcode id="13cf" name="OP_AAExpUpdate" updated="10/16/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="0783" name="OP_GuildMOTD" updated="09/18/24"> + <opcode id="4578" name="OP_GuildMOTD" updated="10/16/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="146f" name="OP_ClientUpdate" updated="09/18/24"> + <opcode id="664e" name="OP_ClientUpdate" updated="10/16/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="6f96" name="OP_NpcMoveUpdate" updated="09/18/24"> + <opcode id="4ae5" name="OP_NpcMoveUpdate" updated="10/16/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0ac5" name="OP_MobUpdate" updated="09/18/24"> + <opcode id="4e9e" name="OP_MobUpdate" updated="10/16/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="3e61" name="OP_DeleteSpawn" updated="09/18/24"> + <opcode id="177a" name="OP_DeleteSpawn" updated="10/16/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="6f62" name="OP_RemoveSpawn" updated="09/18/24"> + <opcode id="1284" name="OP_RemoveSpawn" updated="10/16/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="399d" name="OP_Death" updated="09/18/24"> + <opcode id="0f1a" name="OP_Death" updated="10/16/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="0e9b" name="OP_SpawnAppearance" updated="09/18/24"> + <opcode id="bd8b" name="OP_SpawnAppearance" updated="10/16/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="0bc9" name="OP_GuildMemberUpdate" updated="09/18/24"> + <opcode id="0a9e" name="OP_GuildMemberUpdate" updated="10/16/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="1d25" name="OP_ClickObject" updated="09/18/24"> + <opcode id="54f8" name="OP_ClickObject" updated="10/16/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="1971" name="OP_Action" updated="09/18/24"> + <opcode id="4dc3" name="OP_Action" updated="10/16/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="5f2f" name="OP_Consider" updated="09/18/24"> + <opcode id="2771" name="OP_Consider" updated="10/16/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="32e9" name="OP_TargetMouse" updated="09/18/24"> + <opcode id="0ca0" name="OP_TargetMouse" updated="10/16/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="1f2b" name="OP_ZoneChange" updated="09/18/24"> + <opcode id="2a38" name="OP_ZoneChange" updated="10/16/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="77f9" name="OP_SimpleMessage" updated="09/18/24"> + <opcode id="014f" name="OP_SimpleMessage" updated="10/16/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="1343" name="OP_FormattedMessage" updated="09/18/24"> + <opcode id="339f" name="OP_FormattedMessage" updated="10/16/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0e32" name="OP_CommonMessage" updated="09/18/24"> + <opcode id="2151" name="OP_CommonMessage" updated="10/16/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="486e" name="OP_SpecialMesg" updated="09/18/24"> + <opcode id="1685" name="OP_SpecialMesg" updated="10/16/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -315,7 +315,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="352e" name="OP_GuildMemberList" updated="09/18/24"> + <opcode id="0563" name="OP_GuildMemberList" updated="10/16/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -375,7 +375,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5869" name="OP_ExpandedGuildInfo" updated="09/18/24"> + <opcode id="2086" name="OP_ExpandedGuildInfo" updated="10/16/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -543,7 +543,7 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="338a" name="OP_GuildsInZoneList" updated="09/18/24"> + <opcode id="03cd" name="OP_GuildsInZoneList" updated="10/16/24"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -603,7 +603,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="50cd" name="OP_Find" updated="09/18/24"> + <opcode id="6334" name="OP_Find" updated="10/16/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-12-04 01:21:46 UTC (rev 1558) +++ showeq/branches/cn187_devel/configure.in 2024-12-04 01:27:18 UTC (rev 1559) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.1) +AC_INIT(showeq, 6.4.2) 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-12-04 01:21:46 UTC (rev 1558) +++ showeq/branches/cn187_devel/src/everquest.h 2024-12-04 01:27:18 UTC (rev 1559) @@ -1119,22 +1119,24 @@ struct { - signed deltaY:13; // change in y - signed x:19; // x coord (1st loc value) + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding00:1; + signed z:19; // z coord (3rd loc value) + signed deltaX:13; // change in x + + signed deltaHeading:10; // change in heading signed deltaZ:13; // change in z - unsigned padding01:19; + unsigned padding02:9; - signed deltaX:13; // change in x - signed z:19; // z coord (3rd loc value) - - unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) unsigned padding03:1; signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading + signed deltaY:13; // change in y + unsigned padding04:9; }; int32_t posData[5]; @@ -2395,22 +2397,24 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaY:13; // change in y - signed x:19; // x coord (1st loc value) + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding00:1; /*0008*/ + signed z:19; // z coord (3rd loc value) + signed deltaX:13; // change in x +/*0012*/ + signed deltaHeading:10; // change in heading signed deltaZ:13; // change in z - unsigned padding01:19; -/*0012*/ - signed deltaX:13; // change in x - signed z:19; // z coord (3rd loc value) + unsigned padding02:9; /*0016*/ - unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) unsigned padding03:1; /*0020*/ signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading + signed deltaY:13; // change in y + unsigned padding04:9; /*0024*/ }; @@ -2425,29 +2429,29 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed deltaHeading:10; // change in heading - unsigned padding00:22; + float z; // z coord (3rd loc value) /*0010*/ - float deltaZ; // change in z + float deltaX; // change in x /*0014*/ - float y; // y coord (2nd loc value) + signed animation:10; // current animation + unsigned padding02:22; /*0018*/ - unsigned heading:12; // heading - unsigned padding03:20; + float x; // x coord (1st loc value) /*0022*/ - float x; // x coord (1st loc value) + float deltaY; // change in y /*0026*/ - signed animation:10; // current animation - unsigned padding05:22; + unsigned heading:12; // heading + unsigned padding05:20; /*0030*/ - float z; // z coord (3rd loc value) + float deltaZ; // change in z /*0034*/ - float deltaX; // change in x + unsigned pitch:12; // pitch (up/down heading) + unsigned padding07:20; /*0038*/ - float deltaY; // change in y + float y; // y coord (2nd loc value) /*0042*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding09:20; + signed deltaHeading:10; // change in heading + unsigned padding09:22; /*0046*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-12-04 01:21:48
|
Revision: 1558 http://sourceforge.net/p/seq/svn/1558 Author: cn187 Date: 2024-12-04 01:21:46 +0000 (Wed, 04 Dec 2024) Log Message: ----------- Tag for release 6.4.4 Added Paths: ----------- showeq/tags/v6_4_4/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-12-04 01:21:05
|
Revision: 1557 http://sourceforge.net/p/seq/svn/1557 Author: cn187 Date: 2024-12-04 01:21:03 +0000 (Wed, 04 Dec 2024) Log Message: ----------- Release 6.4.4 - Update to version 6.4.4 - Support for EQ Patch 12/03/24 - Struct and opcode updates (Newby) - Add new zones for TOB (Newby) - Add new races for TOB Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/races.h showeq/trunk/src/zonemgr.cpp showeq/trunk/src/zones.h Added Paths: ----------- showeq/trunk/scripts/dbstr2races.sh Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2024-11-21 00:37:24 UTC (rev 1556) +++ showeq/trunk/ChangeLog 2024-12-04 01:21:03 UTC (rev 1557) @@ -1,8 +1,21 @@ +cn187 (12/03/24) +---------------- +- Update to version 6.4.4 +- Support for EQ Patch 12/03/24 +- Struct and opcode updates (Newby) +- Add new zones for TOB (Newby) +- Add new races for TOB + BlueAdept (11/20/24) ---------------- - Update to version 6.4.3 - Support for EQ Patch 11/20/24 - Struct and opcode updates (Newby) +BlueAdept (11/20/24) +---------------- +- Update to version 6.4.3 +- Support for EQ Patch 11/20/24 +- Struct and opcode updates (Newby) BlueAdept (10/16/24) ---------------- Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-11-21 00:37:24 UTC (rev 1556) +++ showeq/trunk/conf/zoneopcodes.xml 2024-12-04 01:21:03 UTC (rev 1557) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="1a1b" name="OP_PlayerProfile" updated="11/20/24"> + <opcode id="3e9f" name="OP_PlayerProfile" updated="12/03/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="46bd" name="OP_ZoneEntry" updated="11/20/24"> + <opcode id="33c9" name="OP_ZoneEntry" updated="12/03/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1f62" name="OP_TimeOfDay" updated="11/20/24"> + <opcode id="7d4a" name="OP_TimeOfDay" updated="12/03/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="2a5b" name="OP_NewZone" updated="11/20/24"> + <opcode id="609f" name="OP_NewZone" updated="12/03/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6013" name="OP_SpawnDoor" updated="11/20/24"> + <opcode id="1aab" name="OP_SpawnDoor" updated="12/03/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="53d0" name="OP_GroundSpawn" updated="11/20/24"> + <opcode id="165e" name="OP_GroundSpawn" updated="12/03/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6042" name="OP_SendZonePoints" updated="11/20/24"> + <opcode id="219f" name="OP_SendZonePoints" updated="12/03/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="749a" name="OP_AAExpUpdate" updated="11/20/24"> + <opcode id="6edb" name="OP_AAExpUpdate" updated="12/03/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="3f16" name="OP_GuildMOTD" updated="11/20/24"> + <opcode id="0ecb" name="OP_GuildMOTD" updated="12/03/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="293e" name="OP_ClientUpdate" updated="11/20/24"> + <opcode id="5381" name="OP_ClientUpdate" updated="12/03/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="6b11" name="OP_NpcMoveUpdate" updated="11/20/24"> + <opcode id="746b" name="OP_NpcMoveUpdate" updated="12/03/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="27c9" name="OP_MobUpdate" updated="11/20/24"> + <opcode id="05d4" name="OP_MobUpdate" updated="12/03/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="1a75" name="OP_DeleteSpawn" updated="11/20/24"> + <opcode id="479d" name="OP_DeleteSpawn" updated="12/03/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="1332" name="OP_RemoveSpawn" updated="11/20/24"> + <opcode id="3b7c" name="OP_RemoveSpawn" updated="12/03/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="3b92" name="OP_Death" updated="11/20/24"> + <opcode id="6214" name="OP_Death" updated="12/03/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="297c" name="OP_SpawnAppearance" updated="11/20/24"> + <opcode id="1d39" name="OP_SpawnAppearance" updated="12/03/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="33ae" name="OP_GuildMemberUpdate" updated="11/20/24"> + <opcode id="15d2" name="OP_GuildMemberUpdate" updated="12/03/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="1761" name="OP_ClickObject" updated="11/20/24"> + <opcode id="2a06" name="OP_ClickObject" updated="12/03/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="1d5b" name="OP_Action" updated="11/20/24"> + <opcode id="45cd" name="OP_Action" updated="12/03/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="596e" name="OP_Consider" updated="11/20/24"> + <opcode id="6e3a" name="OP_Consider" updated="12/03/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="52ee" name="OP_TargetMouse" updated="11/20/24"> + <opcode id="1673" name="OP_TargetMouse" updated="12/03/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="3824" name="OP_ZoneChange" updated="11/20/24"> + <opcode id="79d8" name="OP_ZoneChange" updated="12/03/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="1b69" name="OP_SimpleMessage" updated="11/20/24"> + <opcode id="2f83" name="OP_SimpleMessage" updated="12/03/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="123c" name="OP_FormattedMessage" updated="11/20/24"> + <opcode id="7331" name="OP_FormattedMessage" updated="12/03/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="3b50" name="OP_CommonMessage" updated="11/20/24"> + <opcode id="065e" name="OP_CommonMessage" updated="12/03/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4b7b" name="OP_SpecialMesg" updated="11/20/24"> + <opcode id="4437" name="OP_SpecialMesg" updated="12/03/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="7bc9" name="OP_GuildMemberList" updated="11/20/24"> + <opcode id="0642" name="OP_GuildMemberList" updated="12/03/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="783e" name="OP_ExpandedGuildInfo" updated="11/20/24"> + <opcode id="0164" name="OP_ExpandedGuildInfo" updated="12/03/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="1de0" name="OP_GuildsInZoneList" updated="11/20/24"> + <opcode id="532c" name="OP_GuildsInZoneList" updated="12/03/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="3fa2" name="OP_Find" updated="11/20/24"> + <opcode id="1065" name="OP_Find" updated="12/03/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-11-21 00:37:24 UTC (rev 1556) +++ showeq/trunk/configure.in 2024-12-04 01:21:03 UTC (rev 1557) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.3) +AC_INIT(showeq, 6.4.4) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Added: showeq/trunk/scripts/dbstr2races.sh =================================================================== --- showeq/trunk/scripts/dbstr2races.sh (rev 0) +++ showeq/trunk/scripts/dbstr2races.sh 2024-12-04 01:21:03 UTC (rev 1557) @@ -0,0 +1,31 @@ +#!/bin/bash +# +# dbstr2races.sh +# Copyright 2020, cn187 <cn...@us...> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +if [[ $# != 1 ]]; then + echo "Usage: $0 <path to dbstr_us.txt>" + exit +fi + +dbstr=$1 + +grep -E "^[[:digit:]]+\^11\^[^\^]+\^.*" "$dbstr" | \ + cut -d'^' -s -f1,3 | \ + sed -r 's/([[:digit:]]+)\^([^\^]+)/"\2", \/\/\1/g' + Property changes on: showeq/trunk/scripts/dbstr2races.sh ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2024-11-21 00:37:24 UTC (rev 1556) +++ showeq/trunk/src/everquest.h 2024-12-04 01:21:03 UTC (rev 1557) @@ -1119,24 +1119,24 @@ struct { - signed animation:10; // current animation + signed deltaZ:13; // change in z + unsigned heading:12; // heading + unsigned padding00:7; + + signed z:19; // z coord (3rd loc value) signed deltaHeading:10; // change in heading - unsigned padding00:12; + unsigned padding01:3; signed x:19; // x coord (1st loc value) unsigned pitch:12; // pitch (up/down heading) - unsigned padding01:1; - - signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading unsigned padding02:1; - signed z:19; // z coord (3rd loc value) + signed animation:10; // current animation signed deltaX:13; // change in x + unsigned padding03:9; - signed deltaZ:13; // change in z + signed y:19; // y coord (2nd loc value) signed deltaY:13; // change in y - unsigned padding04:6; }; int32_t posData[5]; @@ -2397,30 +2397,30 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed animation:10; // current animation + signed deltaZ:13; // change in z + unsigned heading:12; // heading + unsigned padding00:7; +/*0008*/ + signed z:19; // z coord (3rd loc value) signed deltaHeading:10; // change in heading - unsigned padding00:12; -/*0008*/ + unsigned padding01:3; +/*0012*/ signed x:19; // x coord (1st loc value) unsigned pitch:12; // pitch (up/down heading) - unsigned padding01:1; -/*0012*/ - signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading unsigned padding02:1; /*0016*/ - signed z:19; // z coord (3rd loc value) + signed animation:10; // current animation signed deltaX:13; // change in x + unsigned padding03:9; /*0020*/ - signed deltaZ:13; // change in z + signed y:19; // y coord (2nd loc value) signed deltaY:13; // change in y - unsigned padding04:6; /*0024*/ }; /* ** Self Position Update -** Length: 42 Octets +** Length: 46 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2429,28 +2429,30 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float y; // y coord (2nd loc value) + unsigned heading:12; // heading + unsigned padding00:20; /*0010*/ - float deltaY; // change in y + float z; // z coord (3rd loc value) /*0014*/ - float deltaZ; // change in z + signed animation:10; // current animation + unsigned padding02:22; /*0018*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding03:20; + float deltaY; // change in y /*0022*/ - float deltaX; // change in x + float deltaZ; // change in z /*0026*/ - float z; // z coord (3rd loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding05:20; /*0030*/ - signed animation:10; // current animation - unsigned padding06:22; + float y; // y coord (2nd loc value) /*0034*/ float x; // x coord (1st loc value) /*0038*/ - unsigned heading:12; // heading + float deltaX; // change in x +/*0042*/ signed deltaHeading:10; // change in heading - unsigned padding08:10; -/*0042*/ + unsigned padding09:22; +/*0046*/ }; /* Modified: showeq/trunk/src/races.h =================================================================== --- showeq/trunk/src/races.h 2024-11-21 00:37:24 UTC (rev 1556) +++ showeq/trunk/src/races.h 2024-12-04 01:21:03 UTC (rev 1557) @@ -962,4 +962,23 @@ "Sheep", // 938 "Ogre NPC Rallosian", // 939 "Goblin", // 940 + "Leviathan Wing Right", //941 + "Leviathan Wing Left", //942 + "Leviathan Tail", //943 + "Outer Brood Dragon - Gold", //944 + "Scalewrought Monitor", //945 + "Hippocampus", //946 + "Scalewrought Flyer", //947 + "Scalewrought Manipulator", //948 + "Scalewrought Ground Attacker",//949 + "Leviathan", //950 + "Leviathan Transport", //951 + "Leviathan Mount", //952 + "Scalewrought Mount", //953 + "Otter Mount", //954 + "Web Tendon", //955 + "Long Tendon", //956 + "Polyp", //957 + "Bovoch", //958 + #endif Modified: showeq/trunk/src/zonemgr.cpp =================================================================== --- showeq/trunk/src/zonemgr.cpp 2024-11-21 00:37:24 UTC (rev 1556) +++ showeq/trunk/src/zonemgr.cpp 2024-12-04 01:21:03 UTC (rev 1557) @@ -437,7 +437,7 @@ player->profile.endurance = netStream.readUInt32NC(); // Unknown - netStream.skipBytes(58); + netStream.skipBytes(64); // Name int firstName = netStream.readUInt32NC(); Modified: showeq/trunk/src/zones.h =================================================================== --- showeq/trunk/src/zones.h 2024-11-21 00:37:24 UTC (rev 1556) +++ showeq/trunk/src/zones.h 2024-12-04 01:21:03 UTC (rev 1557) @@ -891,12 +891,12 @@ { NULL, NULL }, // 867 { NULL, NULL }, // 868 { "anniversarytower", "Tides of Time" }, // 869 -{ NULL, NULL }, // 870 -{ NULL, NULL }, // 871 -{ NULL, NULL }, // 872 -{ NULL, NULL }, // 873 -{ NULL, NULL }, // 874 -{ NULL, NULL }, // 875 +{ "hodstock", "Hodstock Hills" }, // 870 +{ "toe", "The Theater of Eternity" }, // 871 +{ "aureatecovert", "Aureate Covert" }, // 872 +{ "harbingerscradle", "The Harbinger's Cradle" }, // 873 +{ "puissance", "The Chambers of Puissance" }, // 874 +{ "gildedspire", "The Gilded Spire" }, // 875 { "clz-25anniversary", "clz-25anniversary" }, // 876 { NULL, NULL }, // 877 { NULL, NULL }, // 878 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2024-11-21 00:37:26
|
Revision: 1556 http://sourceforge.net/p/seq/svn/1556 Author: theblueadept Date: 2024-11-21 00:37:24 +0000 (Thu, 21 Nov 2024) Log Message: ----------- Tag for release 6.4.3 Added Paths: ----------- showeq/tags/v6_4_3/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2024-11-21 00:36:44
|
Revision: 1555 http://sourceforge.net/p/seq/svn/1555 Author: theblueadept Date: 2024-11-21 00:36:25 +0000 (Thu, 21 Nov 2024) Log Message: ----------- Historical checkin for 11/20/24 - Struct and opcode updates (Newby) Version to 6.4.3 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-10-17 02:40:04 UTC (rev 1554) +++ showeq/trunk/ChangeLog 2024-11-21 00:36:25 UTC (rev 1555) @@ -1,3 +1,9 @@ +BlueAdept (11/20/24) +---------------- +- Update to version 6.4.3 +- Support for EQ Patch 11/20/24 +- Struct and opcode updates (Newby) + BlueAdept (10/16/24) ---------------- - Update to version 6.4.2 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-10-17 02:40:04 UTC (rev 1554) +++ showeq/trunk/conf/zoneopcodes.xml 2024-11-21 00:36:25 UTC (rev 1555) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="030c" name="OP_PlayerProfile" updated="10/16/24"> + <opcode id="1a1b" name="OP_PlayerProfile" updated="11/20/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2373" name="OP_ZoneEntry" updated="10/16/24"> + <opcode id="46bd" name="OP_ZoneEntry" updated="11/20/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0b62" name="OP_TimeOfDay" updated="10/16/24"> + <opcode id="1f62" name="OP_TimeOfDay" updated="11/20/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="5fb5" name="OP_NewZone" updated="10/16/24"> + <opcode id="2a5b" name="OP_NewZone" updated="11/20/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="621a" name="OP_SpawnDoor" updated="10/16/24"> + <opcode id="6013" name="OP_SpawnDoor" updated="11/20/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="02ba" name="OP_GroundSpawn" updated="10/16/24"> + <opcode id="53d0" name="OP_GroundSpawn" updated="11/20/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="25e5" name="OP_SendZonePoints" updated="10/16/24"> + <opcode id="6042" name="OP_SendZonePoints" updated="11/20/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="13cf" name="OP_AAExpUpdate" updated="10/16/24"> + <opcode id="749a" name="OP_AAExpUpdate" updated="11/20/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="4578" name="OP_GuildMOTD" updated="10/16/24"> + <opcode id="3f16" name="OP_GuildMOTD" updated="11/20/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="664e" name="OP_ClientUpdate" updated="10/16/24"> + <opcode id="293e" name="OP_ClientUpdate" updated="11/20/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="4ae5" name="OP_NpcMoveUpdate" updated="10/16/24"> + <opcode id="6b11" name="OP_NpcMoveUpdate" updated="11/20/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4e9e" name="OP_MobUpdate" updated="10/16/24"> + <opcode id="27c9" name="OP_MobUpdate" updated="11/20/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="177a" name="OP_DeleteSpawn" updated="10/16/24"> + <opcode id="1a75" name="OP_DeleteSpawn" updated="11/20/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="1284" name="OP_RemoveSpawn" updated="10/16/24"> + <opcode id="1332" name="OP_RemoveSpawn" updated="11/20/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="0f1a" name="OP_Death" updated="10/16/24"> + <opcode id="3b92" name="OP_Death" updated="11/20/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="bd8b" name="OP_SpawnAppearance" updated="10/16/24"> + <opcode id="297c" name="OP_SpawnAppearance" updated="11/20/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="0a9e" name="OP_GuildMemberUpdate" updated="10/16/24"> + <opcode id="33ae" name="OP_GuildMemberUpdate" updated="11/20/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="54f8" name="OP_ClickObject" updated="10/16/24"> + <opcode id="1761" name="OP_ClickObject" updated="11/20/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="4dc3" name="OP_Action" updated="10/16/24"> + <opcode id="1d5b" name="OP_Action" updated="11/20/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="2771" name="OP_Consider" updated="10/16/24"> + <opcode id="596e" name="OP_Consider" updated="11/20/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="0ca0" name="OP_TargetMouse" updated="10/16/24"> + <opcode id="52ee" name="OP_TargetMouse" updated="11/20/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="2a38" name="OP_ZoneChange" updated="10/16/24"> + <opcode id="3824" name="OP_ZoneChange" updated="11/20/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="014f" name="OP_SimpleMessage" updated="10/16/24"> + <opcode id="1b69" name="OP_SimpleMessage" updated="11/20/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="339f" name="OP_FormattedMessage" updated="10/16/24"> + <opcode id="123c" name="OP_FormattedMessage" updated="11/20/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="2151" name="OP_CommonMessage" updated="10/16/24"> + <opcode id="3b50" name="OP_CommonMessage" updated="11/20/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="1685" name="OP_SpecialMesg" updated="10/16/24"> + <opcode id="4b7b" name="OP_SpecialMesg" updated="11/20/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="0563" name="OP_GuildMemberList" updated="10/16/24"> + <opcode id="7bc9" name="OP_GuildMemberList" updated="11/20/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="2086" name="OP_ExpandedGuildInfo" updated="10/16/24"> + <opcode id="783e" name="OP_ExpandedGuildInfo" updated="11/20/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="03cd" name="OP_GuildsInZoneList" updated="10/16/24"> + <opcode id="1de0" name="OP_GuildsInZoneList" updated="11/20/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="6334" name="OP_Find" updated="10/16/24"> + <opcode id="3fa2" name="OP_Find" updated="11/20/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-10-17 02:40:04 UTC (rev 1554) +++ showeq/trunk/configure.in 2024-11-21 00:36:25 UTC (rev 1555) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.2) +AC_INIT(showeq, 6.4.3) 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-10-17 02:40:04 UTC (rev 1554) +++ showeq/trunk/src/everquest.h 2024-11-21 00:36:25 UTC (rev 1555) @@ -1119,24 +1119,24 @@ struct { + signed animation:10; // current animation + signed deltaHeading:10; // change in heading + unsigned padding00:12; + + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding01:1; + + signed y:19; // y coord (2nd loc value) unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) - unsigned padding00:1; + unsigned padding02:1; signed z:19; // z coord (3rd loc value) signed deltaX:13; // change in x - signed deltaHeading:10; // change in heading signed deltaZ:13; // change in z - unsigned padding02:9; - - signed x:19; // x coord (1st loc value) - unsigned pitch:12; // pitch (up/down heading) - unsigned padding03:1; - - signed animation:10; // current animation signed deltaY:13; // change in y - unsigned padding04:9; + unsigned padding04:6; }; int32_t posData[5]; @@ -2397,30 +2397,30 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed animation:10; // current animation + signed deltaHeading:10; // change in heading + unsigned padding00:12; +/*0008*/ + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding01:1; +/*0012*/ + signed y:19; // y coord (2nd loc value) unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) - unsigned padding00:1; -/*0008*/ + unsigned padding02:1; +/*0016*/ signed z:19; // z coord (3rd loc value) signed deltaX:13; // change in x -/*0012*/ - signed deltaHeading:10; // change in heading +/*0020*/ signed deltaZ:13; // change in z - unsigned padding02:9; -/*0016*/ - signed x:19; // x coord (1st loc value) - unsigned pitch:12; // pitch (up/down heading) - unsigned padding03:1; -/*0020*/ - signed animation:10; // current animation signed deltaY:13; // change in y - unsigned padding04:9; + unsigned padding04:6; /*0024*/ }; /* ** Self Position Update -** Length: 46 Octets +** Length: 42 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2429,30 +2429,28 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float z; // z coord (3rd loc value) + float y; // y coord (2nd loc value) /*0010*/ - float deltaX; // change in x + float deltaY; // change in y /*0014*/ - signed animation:10; // current animation - unsigned padding02:22; + float deltaZ; // change in z /*0018*/ - float x; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding03:20; /*0022*/ - float deltaY; // change in y + float deltaX; // change in x /*0026*/ - unsigned heading:12; // heading - unsigned padding05:20; + float z; // z coord (3rd loc value) /*0030*/ - float deltaZ; // change in z + signed animation:10; // current animation + unsigned padding06:22; /*0034*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding07:20; + float x; // x coord (1st loc value) /*0038*/ - float y; // y coord (2nd loc value) + unsigned heading:12; // heading + signed deltaHeading:10; // change in heading + unsigned padding08:10; /*0042*/ - signed deltaHeading:10; // change in heading - unsigned padding09:22; -/*0046*/ }; /* Modified: showeq/trunk/src/zonemgr.cpp =================================================================== --- showeq/trunk/src/zonemgr.cpp 2024-10-17 02:40:04 UTC (rev 1554) +++ showeq/trunk/src/zonemgr.cpp 2024-11-21 00:36:25 UTC (rev 1555) @@ -459,6 +459,9 @@ player->expansions = netStream.readUInt32NC(); + // Unknown + netStream.skipBytes(4); + // MAX_KNOWN_LANGS (32 ints) int langCount = netStream.readUInt32NC(); for (int i = 0; i < langCount; i++) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2024-10-17 02:40:05
|
Revision: 1554 http://sourceforge.net/p/seq/svn/1554 Author: theblueadept Date: 2024-10-17 02:40:04 +0000 (Thu, 17 Oct 2024) Log Message: ----------- Tag for release 6.4.2 Added Paths: ----------- showeq/tags/v6_4_2/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2024-10-17 02:38:14
|
Revision: 1553 http://sourceforge.net/p/seq/svn/1553 Author: theblueadept Date: 2024-10-17 02:38:12 +0000 (Thu, 17 Oct 2024) Log Message: ----------- Historical checkin for 10/16/24 - Support for EQ Patch 10/16/24 - Struct and opcode updates (Newby) Version to 6.4.2 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-09-19 03:06:10 UTC (rev 1552) +++ showeq/trunk/ChangeLog 2024-10-17 02:38:12 UTC (rev 1553) @@ -1,3 +1,9 @@ +BlueAdept (10/16/24) +---------------- +- Update to version 6.4.2 +- Support for EQ Patch 10/16/24 +- Struct and opcode updates (Newby) + cn187 (09/18/24) ---------------- - Update to version 6.4.1 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-09-19 03:06:10 UTC (rev 1552) +++ showeq/trunk/conf/zoneopcodes.xml 2024-10-17 02:38:12 UTC (rev 1553) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="42dd" name="OP_PlayerProfile" updated="09/18/24"> + <opcode id="030c" name="OP_PlayerProfile" updated="10/16/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0e04" name="OP_ZoneEntry" updated="09/18/24"> + <opcode id="2373" name="OP_ZoneEntry" updated="10/16/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="02c8" name="OP_TimeOfDay" updated="09/18/24"> + <opcode id="0b62" name="OP_TimeOfDay" updated="10/16/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="2ec3" name="OP_NewZone" updated="09/18/24"> + <opcode id="5fb5" name="OP_NewZone" updated="10/16/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2f85" name="OP_SpawnDoor" updated="09/18/24"> + <opcode id="621a" name="OP_SpawnDoor" updated="10/16/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7b43" name="OP_GroundSpawn" updated="09/18/24"> + <opcode id="02ba" name="OP_GroundSpawn" updated="10/16/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3e69" name="OP_SendZonePoints" updated="09/18/24"> + <opcode id="25e5" name="OP_SendZonePoints" updated="10/16/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="33e4" name="OP_AAExpUpdate" updated="09/18/24"> + <opcode id="13cf" name="OP_AAExpUpdate" updated="10/16/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="0783" name="OP_GuildMOTD" updated="09/18/24"> + <opcode id="4578" name="OP_GuildMOTD" updated="10/16/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="146f" name="OP_ClientUpdate" updated="09/18/24"> + <opcode id="664e" name="OP_ClientUpdate" updated="10/16/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="6f96" name="OP_NpcMoveUpdate" updated="09/18/24"> + <opcode id="4ae5" name="OP_NpcMoveUpdate" updated="10/16/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0ac5" name="OP_MobUpdate" updated="09/18/24"> + <opcode id="4e9e" name="OP_MobUpdate" updated="10/16/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="3e61" name="OP_DeleteSpawn" updated="09/18/24"> + <opcode id="177a" name="OP_DeleteSpawn" updated="10/16/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="6f62" name="OP_RemoveSpawn" updated="09/18/24"> + <opcode id="1284" name="OP_RemoveSpawn" updated="10/16/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="399d" name="OP_Death" updated="09/18/24"> + <opcode id="0f1a" name="OP_Death" updated="10/16/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="0e9b" name="OP_SpawnAppearance" updated="09/18/24"> + <opcode id="bd8b" name="OP_SpawnAppearance" updated="10/16/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="0bc9" name="OP_GuildMemberUpdate" updated="09/18/24"> + <opcode id="0a9e" name="OP_GuildMemberUpdate" updated="10/16/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="1d25" name="OP_ClickObject" updated="09/18/24"> + <opcode id="54f8" name="OP_ClickObject" updated="10/16/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="1971" name="OP_Action" updated="09/18/24"> + <opcode id="4dc3" name="OP_Action" updated="10/16/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="5f2f" name="OP_Consider" updated="09/18/24"> + <opcode id="2771" name="OP_Consider" updated="10/16/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="32e9" name="OP_TargetMouse" updated="09/18/24"> + <opcode id="0ca0" name="OP_TargetMouse" updated="10/16/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="1f2b" name="OP_ZoneChange" updated="09/18/24"> + <opcode id="2a38" name="OP_ZoneChange" updated="10/16/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="77f9" name="OP_SimpleMessage" updated="09/18/24"> + <opcode id="014f" name="OP_SimpleMessage" updated="10/16/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="1343" name="OP_FormattedMessage" updated="09/18/24"> + <opcode id="339f" name="OP_FormattedMessage" updated="10/16/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0e32" name="OP_CommonMessage" updated="09/18/24"> + <opcode id="2151" name="OP_CommonMessage" updated="10/16/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="486e" name="OP_SpecialMesg" updated="09/18/24"> + <opcode id="1685" name="OP_SpecialMesg" updated="10/16/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="352e" name="OP_GuildMemberList" updated="09/18/24"> + <opcode id="0563" name="OP_GuildMemberList" updated="10/16/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="5869" name="OP_ExpandedGuildInfo" updated="09/18/24"> + <opcode id="2086" name="OP_ExpandedGuildInfo" updated="10/16/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="338a" name="OP_GuildsInZoneList" updated="09/18/24"> + <opcode id="03cd" name="OP_GuildsInZoneList" updated="10/16/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="50cd" name="OP_Find" updated="09/18/24"> + <opcode id="6334" name="OP_Find" updated="10/16/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-09-19 03:06:10 UTC (rev 1552) +++ showeq/trunk/configure.in 2024-10-17 02:38:12 UTC (rev 1553) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.1) +AC_INIT(showeq, 6.4.2) 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-09-19 03:06:10 UTC (rev 1552) +++ showeq/trunk/src/everquest.h 2024-10-17 02:38:12 UTC (rev 1553) @@ -1119,22 +1119,24 @@ struct { - signed deltaY:13; // change in y - signed x:19; // x coord (1st loc value) + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding00:1; + signed z:19; // z coord (3rd loc value) + signed deltaX:13; // change in x + + signed deltaHeading:10; // change in heading signed deltaZ:13; // change in z - unsigned padding01:19; + unsigned padding02:9; - signed deltaX:13; // change in x - signed z:19; // z coord (3rd loc value) - - unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) unsigned padding03:1; signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading + signed deltaY:13; // change in y + unsigned padding04:9; }; int32_t posData[5]; @@ -2395,22 +2397,24 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaY:13; // change in y - signed x:19; // x coord (1st loc value) + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding00:1; /*0008*/ + signed z:19; // z coord (3rd loc value) + signed deltaX:13; // change in x +/*0012*/ + signed deltaHeading:10; // change in heading signed deltaZ:13; // change in z - unsigned padding01:19; -/*0012*/ - signed deltaX:13; // change in x - signed z:19; // z coord (3rd loc value) + unsigned padding02:9; /*0016*/ - unsigned heading:12; // heading - signed y:19; // y coord (2nd loc value) + signed x:19; // x coord (1st loc value) + unsigned pitch:12; // pitch (up/down heading) unsigned padding03:1; /*0020*/ signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - signed deltaHeading:10; // change in heading + signed deltaY:13; // change in y + unsigned padding04:9; /*0024*/ }; @@ -2425,29 +2429,29 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed deltaHeading:10; // change in heading - unsigned padding00:22; + float z; // z coord (3rd loc value) /*0010*/ - float deltaZ; // change in z + float deltaX; // change in x /*0014*/ - float y; // y coord (2nd loc value) + signed animation:10; // current animation + unsigned padding02:22; /*0018*/ - unsigned heading:12; // heading - unsigned padding03:20; + float x; // x coord (1st loc value) /*0022*/ - float x; // x coord (1st loc value) + float deltaY; // change in y /*0026*/ - signed animation:10; // current animation - unsigned padding05:22; + unsigned heading:12; // heading + unsigned padding05:20; /*0030*/ - float z; // z coord (3rd loc value) + float deltaZ; // change in z /*0034*/ - float deltaX; // change in x + unsigned pitch:12; // pitch (up/down heading) + unsigned padding07:20; /*0038*/ - float deltaY; // change in y + float y; // y coord (2nd loc value) /*0042*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding09:20; + signed deltaHeading:10; // change in heading + unsigned padding09:22; /*0046*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-09-19 03:06:15
|
Revision: 1552 http://sourceforge.net/p/seq/svn/1552 Author: cn187 Date: 2024-09-19 03:06:10 +0000 (Thu, 19 Sep 2024) Log Message: ----------- Release 6.4.1 - Update to version 6.4.1 - Support for EQ Patch 09/18/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 Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2024-09-19 02:58:10 UTC (rev 1551) +++ showeq/branches/cn187_devel/ChangeLog 2024-09-19 03:06:10 UTC (rev 1552) @@ -1,3 +1,9 @@ +cn187 (09/18/24) +---------------- +- Update to version 6.4.1 +- Support for EQ Patch 09/18/24 +- Struct and opcode updates (Newby) + cn187 (08/21/24) ---------------- - Update to version 6.4.0 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-09-19 02:58:10 UTC (rev 1551) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2024-09-19 03:06:10 UTC (rev 1552) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="6acb" name="OP_PlayerProfile" updated="08/21/24"> + <opcode id="42dd" name="OP_PlayerProfile" updated="09/18/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6bee" name="OP_ZoneEntry" updated="08/21/24"> + <opcode id="0e04" name="OP_ZoneEntry" updated="09/18/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7a78" name="OP_TimeOfDay" updated="08/21/24"> + <opcode id="02c8" name="OP_TimeOfDay" updated="09/18/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="461c" name="OP_NewZone" updated="08/21/24"> + <opcode id="2ec3" name="OP_NewZone" updated="09/18/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3aa8" name="OP_SpawnDoor" updated="08/21/24"> + <opcode id="2f85" name="OP_SpawnDoor" updated="09/18/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="24ad" name="OP_GroundSpawn" updated="08/21/24"> + <opcode id="7b43" name="OP_GroundSpawn" updated="09/18/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4dc1" name="OP_SendZonePoints" updated="08/21/24"> + <opcode id="3e69" name="OP_SendZonePoints" updated="09/18/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="35d1" name="OP_AAExpUpdate" updated="08/21/24"> + <opcode id="33e4" name="OP_AAExpUpdate" updated="09/18/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="198f" name="OP_GuildMOTD" updated="08/21/24"> + <opcode id="0783" name="OP_GuildMOTD" updated="09/18/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="441b" name="OP_ClientUpdate" updated="08/21/24"> + <opcode id="146f" name="OP_ClientUpdate" updated="09/18/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="5332" name="OP_NpcMoveUpdate" updated="08/21/24"> + <opcode id="6f96" name="OP_NpcMoveUpdate" updated="09/18/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6f8e" name="OP_MobUpdate" updated="08/21/24"> + <opcode id="0ac5" name="OP_MobUpdate" updated="09/18/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="6447" name="OP_DeleteSpawn" updated="08/21/24"> + <opcode id="3e61" name="OP_DeleteSpawn" updated="09/18/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="4d80" name="OP_RemoveSpawn" updated="08/21/24"> + <opcode id="6f62" name="OP_RemoveSpawn" updated="09/18/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="3054" name="OP_Death" updated="08/21/24"> + <opcode id="399d" name="OP_Death" updated="09/18/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="44c3" name="OP_SpawnAppearance" updated="08/21/24"> + <opcode id="0e9b" name="OP_SpawnAppearance" updated="09/18/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="169c" name="OP_GuildMemberUpdate" updated="08/21/24"> + <opcode id="0bc9" name="OP_GuildMemberUpdate" updated="09/18/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="6cec" name="OP_ClickObject" updated="08/21/24"> + <opcode id="1d25" name="OP_ClickObject" updated="09/18/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="38ad" name="OP_Action" updated="08/21/24"> + <opcode id="1971" name="OP_Action" updated="09/18/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="6fc1" name="OP_Consider" updated="08/21/24"> + <opcode id="5f2f" name="OP_Consider" updated="09/18/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="13f6" name="OP_TargetMouse" updated="08/21/24"> + <opcode id="32e9" name="OP_TargetMouse" updated="09/18/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="343e" name="OP_ZoneChange" updated="08/21/24"> + <opcode id="1f2b" name="OP_ZoneChange" updated="09/18/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="7a7a" name="OP_SimpleMessage" updated="08/21/24"> + <opcode id="77f9" name="OP_SimpleMessage" updated="09/18/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="01b6" name="OP_FormattedMessage" updated="08/21/24"> + <opcode id="1343" name="OP_FormattedMessage" updated="09/18/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="41ec" name="OP_CommonMessage" updated="08/21/24"> + <opcode id="0e32" name="OP_CommonMessage" updated="09/18/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="24fe" name="OP_SpecialMesg" updated="08/21/24"> + <opcode id="486e" name="OP_SpecialMesg" updated="09/18/24"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> @@ -315,7 +315,7 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0ae8" name="OP_GuildMemberList" updated="08/21/24"> + <opcode id="352e" name="OP_GuildMemberList" updated="09/18/24"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -375,7 +375,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="ffff" name="OP_ExpandedGuildInfo" updated="07/17/24"> + <opcode id="5869" name="OP_ExpandedGuildInfo" updated="09/18/24"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -543,7 +543,7 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4a89" name="OP_GuildsInZoneList" updated="08/21/24"> + <opcode id="338a" name="OP_GuildsInZoneList" updated="09/18/24"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> @@ -603,7 +603,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="56f4" name="OP_Find" updated="08/21/24"> + <opcode id="50cd" name="OP_Find" updated="09/18/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-09-19 02:58:10 UTC (rev 1551) +++ showeq/branches/cn187_devel/configure.in 2024-09-19 03:06:10 UTC (rev 1552) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.0) +AC_INIT(showeq, 6.4.1) 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-09-19 02:58:10 UTC (rev 1551) +++ showeq/branches/cn187_devel/src/everquest.h 2024-09-19 03:06:10 UTC (rev 1552) @@ -1119,23 +1119,23 @@ struct { - unsigned heading:12; // heading - signed animation:10; // current animation - unsigned padding00:10; + signed deltaY:13; // change in y + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - signed y:19; // y coord (2nd loc value) + unsigned padding01:19; signed deltaX:13; // change in x signed z:19; // z coord (3rd loc value) + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding03:1; + + signed animation:10; // current animation unsigned pitch:12; // pitch (up/down heading) signed deltaHeading:10; // change in heading - unsigned padding03:10; - signed deltaY:13; // change in y - signed x:19; // x coord (1st loc value) - }; int32_t posData[5]; }; @@ -2395,28 +2395,28 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - unsigned heading:12; // heading - signed animation:10; // current animation - unsigned padding00:10; + signed deltaY:13; // change in y + signed x:19; // x coord (1st loc value) /*0008*/ signed deltaZ:13; // change in z - signed y:19; // y coord (2nd loc value) + unsigned padding01:19; /*0012*/ signed deltaX:13; // change in x signed z:19; // z coord (3rd loc value) /*0016*/ + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding03:1; +/*0020*/ + signed animation:10; // current animation unsigned pitch:12; // pitch (up/down heading) signed deltaHeading:10; // change in heading - unsigned padding03:10; -/*0020*/ - signed deltaY:13; // change in y - signed x:19; // x coord (1st loc value) /*0024*/ }; /* ** Self Position Update -** Length: 42 Octets +** Length: 46 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2425,28 +2425,30 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float z; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding00:22; /*0010*/ + float deltaZ; // change in z +/*0014*/ float y; // y coord (2nd loc value) -/*0014*/ +/*0018*/ unsigned heading:12; // heading - unsigned padding02:20; -/*0018*/ - float deltaX; // change in x + unsigned padding03:20; /*0022*/ float x; // x coord (1st loc value) /*0026*/ signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - unsigned padding05:10; + unsigned padding05:22; /*0030*/ - float deltaY; // change in y + float z; // z coord (3rd loc value) /*0034*/ - signed deltaHeading:10; // change in heading - unsigned padding07:22; + float deltaX; // change in x /*0038*/ - float deltaZ; // change in z + float deltaY; // change in y /*0042*/ + unsigned pitch:12; // pitch (up/down heading) + unsigned padding09:20; +/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-09-19 02:58:12
|
Revision: 1551 http://sourceforge.net/p/seq/svn/1551 Author: cn187 Date: 2024-09-19 02:58:10 +0000 (Thu, 19 Sep 2024) Log Message: ----------- Tag for release 6.4.1 Added Paths: ----------- showeq/tags/v6_4_1/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-09-19 02:57:27
|
Revision: 1550 http://sourceforge.net/p/seq/svn/1550 Author: cn187 Date: 2024-09-19 02:57:25 +0000 (Thu, 19 Sep 2024) Log Message: ----------- Release 6.4.1 - Update to version 6.4.1 - Support for EQ Patch 09/18/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-08-27 01:40:38 UTC (rev 1549) +++ showeq/trunk/ChangeLog 2024-09-19 02:57:25 UTC (rev 1550) @@ -1,4 +1,11 @@ +cn187 (09/18/24) +---------------- +- Update to version 6.4.1 +- Support for EQ Patch 09/18/24 +- Struct and opcode updates (Newby) + cn187 (08/21/24) +---------------- - Update to version 6.4.0 - Support for EQ Patch 08/21/24 - Struct and opcode updates Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2024-08-27 01:40:38 UTC (rev 1549) +++ showeq/trunk/conf/zoneopcodes.xml 2024-09-19 02:57:25 UTC (rev 1550) @@ -3,37 +3,37 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="6acb" name="OP_PlayerProfile" updated="08/21/24"> + <opcode id="42dd" name="OP_PlayerProfile" updated="09/18/24"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6bee" name="OP_ZoneEntry" updated="08/21/24"> + <opcode id="0e04" name="OP_ZoneEntry" updated="09/18/24"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7a78" name="OP_TimeOfDay" updated="08/21/24"> + <opcode id="02c8" name="OP_TimeOfDay" updated="09/18/24"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="461c" name="OP_NewZone" updated="08/21/24"> + <opcode id="2ec3" name="OP_NewZone" updated="09/18/24"> <comment>NewZoneCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3aa8" name="OP_SpawnDoor" updated="08/21/24"> + <opcode id="2f85" name="OP_SpawnDoor" updated="09/18/24"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="24ad" name="OP_GroundSpawn" updated="08/21/24"> + <opcode id="7b43" name="OP_GroundSpawn" updated="09/18/24"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4dc1" name="OP_SendZonePoints" updated="08/21/24"> + <opcode id="3e69" name="OP_SendZonePoints" updated="09/18/24"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="35d1" name="OP_AAExpUpdate" updated="08/21/24"> + <opcode id="33e4" name="OP_AAExpUpdate" updated="09/18/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="198f" name="OP_GuildMOTD" updated="08/21/24"> + <opcode id="0783" name="OP_GuildMOTD" updated="09/18/24"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="441b" name="OP_ClientUpdate" updated="08/21/24"> + <opcode id="146f" name="OP_ClientUpdate" updated="09/18/24"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="5332" name="OP_NpcMoveUpdate" updated="08/21/24"> + <opcode id="6f96" name="OP_NpcMoveUpdate" updated="09/18/24"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6f8e" name="OP_MobUpdate" updated="08/21/24"> + <opcode id="0ac5" name="OP_MobUpdate" updated="09/18/24"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="6447" name="OP_DeleteSpawn" updated="08/21/24"> + <opcode id="3e61" name="OP_DeleteSpawn" updated="09/18/24"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="4d80" name="OP_RemoveSpawn" updated="08/21/24"> + <opcode id="6f62" name="OP_RemoveSpawn" updated="09/18/24"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="3054" name="OP_Death" updated="08/21/24"> + <opcode id="399d" name="OP_Death" updated="09/18/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="44c3" name="OP_SpawnAppearance" updated="08/21/24"> + <opcode id="0e9b" name="OP_SpawnAppearance" updated="09/18/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="169c" name="OP_GuildMemberUpdate" updated="08/21/24"> + <opcode id="0bc9" name="OP_GuildMemberUpdate" updated="09/18/24"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="6cec" name="OP_ClickObject" updated="08/21/24"> + <opcode id="1d25" name="OP_ClickObject" updated="09/18/24"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="38ad" name="OP_Action" updated="08/21/24"> + <opcode id="1971" name="OP_Action" updated="09/18/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="6fc1" name="OP_Consider" updated="08/21/24"> + <opcode id="5f2f" name="OP_Consider" updated="09/18/24"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="13f6" name="OP_TargetMouse" updated="08/21/24"> + <opcode id="32e9" name="OP_TargetMouse" updated="09/18/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="343e" name="OP_ZoneChange" updated="08/21/24"> + <opcode id="1f2b" name="OP_ZoneChange" updated="09/18/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="7a7a" name="OP_SimpleMessage" updated="08/21/24"> + <opcode id="77f9" name="OP_SimpleMessage" updated="09/18/24"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="01b6" name="OP_FormattedMessage" updated="08/21/24"> + <opcode id="1343" name="OP_FormattedMessage" updated="09/18/24"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="41ec" name="OP_CommonMessage" updated="08/21/24"> + <opcode id="0e32" name="OP_CommonMessage" updated="09/18/24"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="24fe" name="OP_SpecialMesg" updated="08/21/24"> + <opcode id="486e" name="OP_SpecialMesg" updated="09/18/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="0ae8" name="OP_GuildMemberList" updated="08/21/24"> + <opcode id="352e" name="OP_GuildMemberList" updated="09/18/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="ffff" name="OP_ExpandedGuildInfo" updated="07/17/24"> + <opcode id="5869" name="OP_ExpandedGuildInfo" updated="09/18/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="4a89" name="OP_GuildsInZoneList" updated="08/21/24"> + <opcode id="338a" name="OP_GuildsInZoneList" updated="09/18/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="56f4" name="OP_Find" updated="08/21/24"> + <opcode id="50cd" name="OP_Find" updated="09/18/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-08-27 01:40:38 UTC (rev 1549) +++ showeq/trunk/configure.in 2024-09-19 02:57:25 UTC (rev 1550) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.4.0) +AC_INIT(showeq, 6.4.1) 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-08-27 01:40:38 UTC (rev 1549) +++ showeq/trunk/src/everquest.h 2024-09-19 02:57:25 UTC (rev 1550) @@ -1119,23 +1119,23 @@ struct { - unsigned heading:12; // heading - signed animation:10; // current animation - unsigned padding00:10; + signed deltaY:13; // change in y + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - signed y:19; // y coord (2nd loc value) + unsigned padding01:19; signed deltaX:13; // change in x signed z:19; // z coord (3rd loc value) + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding03:1; + + signed animation:10; // current animation unsigned pitch:12; // pitch (up/down heading) signed deltaHeading:10; // change in heading - unsigned padding03:10; - signed deltaY:13; // change in y - signed x:19; // x coord (1st loc value) - }; int32_t posData[5]; }; @@ -2395,28 +2395,28 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - unsigned heading:12; // heading - signed animation:10; // current animation - unsigned padding00:10; + signed deltaY:13; // change in y + signed x:19; // x coord (1st loc value) /*0008*/ signed deltaZ:13; // change in z - signed y:19; // y coord (2nd loc value) + unsigned padding01:19; /*0012*/ signed deltaX:13; // change in x signed z:19; // z coord (3rd loc value) /*0016*/ + unsigned heading:12; // heading + signed y:19; // y coord (2nd loc value) + unsigned padding03:1; +/*0020*/ + signed animation:10; // current animation unsigned pitch:12; // pitch (up/down heading) signed deltaHeading:10; // change in heading - unsigned padding03:10; -/*0020*/ - signed deltaY:13; // change in y - signed x:19; // x coord (1st loc value) /*0024*/ }; /* ** Self Position Update -** Length: 42 Octets +** Length: 46 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2425,28 +2425,30 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float z; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding00:22; /*0010*/ + float deltaZ; // change in z +/*0014*/ float y; // y coord (2nd loc value) -/*0014*/ +/*0018*/ unsigned heading:12; // heading - unsigned padding02:20; -/*0018*/ - float deltaX; // change in x + unsigned padding03:20; /*0022*/ float x; // x coord (1st loc value) /*0026*/ signed animation:10; // current animation - unsigned pitch:12; // pitch (up/down heading) - unsigned padding05:10; + unsigned padding05:22; /*0030*/ - float deltaY; // change in y + float z; // z coord (3rd loc value) /*0034*/ - signed deltaHeading:10; // change in heading - unsigned padding07:22; + float deltaX; // change in x /*0038*/ - float deltaZ; // change in z + float deltaY; // change in y /*0042*/ + unsigned pitch:12; // pitch (up/down heading) + unsigned padding09:20; +/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-08-27 01:40:40
|
Revision: 1549 http://sourceforge.net/p/seq/svn/1549 Author: cn187 Date: 2024-08-27 01:40:38 +0000 (Tue, 27 Aug 2024) Log Message: ----------- Add license to zone script Modified Paths: -------------- showeq/branches/cn187_devel/scripts/ida/gen_zones_h.py Modified: showeq/branches/cn187_devel/scripts/ida/gen_zones_h.py =================================================================== --- showeq/branches/cn187_devel/scripts/ida/gen_zones_h.py 2024-08-27 01:40:27 UTC (rev 1548) +++ showeq/branches/cn187_devel/scripts/ida/gen_zones_h.py 2024-08-27 01:40:38 UTC (rev 1549) @@ -1,3 +1,20 @@ +# gen_zones_h.py +# Copyright 2022-2024, cn187 <cn...@us...> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# import datetime import sys This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-08-27 01:40:29
|
Revision: 1548 http://sourceforge.net/p/seq/svn/1548 Author: cn187 Date: 2024-08-27 01:40:27 +0000 (Tue, 27 Aug 2024) Log Message: ----------- Add license to zone script Modified Paths: -------------- showeq/trunk/scripts/ida/gen_zones_h.py Modified: showeq/trunk/scripts/ida/gen_zones_h.py =================================================================== --- showeq/trunk/scripts/ida/gen_zones_h.py 2024-08-26 22:40:07 UTC (rev 1547) +++ showeq/trunk/scripts/ida/gen_zones_h.py 2024-08-27 01:40:27 UTC (rev 1548) @@ -1,3 +1,20 @@ +# gen_zones_h.py +# Copyright 2022-2024, cn187 <cn...@us...> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# import datetime import sys This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-08-26 22:40:10
|
Revision: 1547 http://sourceforge.net/p/seq/svn/1547 Author: cn187 Date: 2024-08-26 22:40:07 +0000 (Mon, 26 Aug 2024) Log Message: ----------- Regenerate zones.h from current client files Modified Paths: -------------- showeq/branches/cn187_devel/src/zones.h Modified: showeq/branches/cn187_devel/src/zones.h =================================================================== --- showeq/branches/cn187_devel/src/zones.h 2024-08-26 22:40:00 UTC (rev 1546) +++ showeq/branches/cn187_devel/src/zones.h 2024-08-26 22:40:07 UTC (rev 1547) @@ -1,6 +1,6 @@ /* * zones.h - * Copyright 2003-2009, 2011-2012, 2014-2015, 2017-2019 by the respective ShowEQ Developers + * Copyright 2003-2024 by the respective ShowEQ Developers * * This file is part of ShowEQ. * http://www.sourceforge.net/projects/seq @@ -19,6 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + /* Maps zoneId numbers to strings, used in util.cpp */ { NULL, NULL }, // 0 { "qeynos", "South Qeynos" }, // 1 @@ -31,14 +32,14 @@ { "freportn", "North Freeport" }, // 8 { "freportw", "West Freeport" }, // 9 { "freporte", "East Freeport" }, // 10 -{ "runnyeye", "Clan Runnyeye" }, // 11 -{ "qey2hh1", "West Karana" }, // 12 -{ "northkarana", "North Karana" }, // 13 -{ "southkarana", "South Karana" }, // 14 -{ "eastkarana", "East Karana" }, // 15 -{ "beholder", "Gorge of King Xorbb" }, // 16 -{ "blackburrow", "BlackBurrow" }, // 17 -{ "paw", "Infected Paw" }, // 18 +{ "runnyeye", "The Liberated Citadel of Runnyeye" }, // 11 +{ "qey2hh1", "The Western Plains of Karana" }, // 12 +{ "northkarana", "The Northern Plains of Karana" }, // 13 +{ "southkarana", "The Southern Plains of Karana" }, // 14 +{ "eastkarana", "The Eastern Plains of Karana" }, // 15 +{ "beholder", "The Gorge of King Xorbb" }, // 16 +{ "blackburrow", "Blackburrow" }, // 17 +{ "paw", "The Lair of the Splitpaw" }, // 18 { "rivervale", "Rivervale" }, // 19 { "kithicor", "Kithicor Forest" }, // 20 { "commons", "West Commonlands" }, // 21 @@ -47,18 +48,18 @@ { "erudnext", "Erudin" }, // 24 { "nektulos", "Nektulos Forest" }, // 25 { "cshome", "Sunset Home" }, // 26 -{ "lavastorm", "Lavastorm Mountains" }, // 27 -{ "nektropos", "Nektropos" }, // 28 +{ "lavastorm", "The Lavastorm Mountains" }, // 27 +{ "nektropos", "nektropos" }, // 28 { "halas", "Halas" }, // 29 { "everfrost", "Everfrost Peaks" }, // 30 { "soldunga", "Solusek's Eye" }, // 31 { "soldungb", "Nagafen's Lair" }, // 32 -{ "misty", "Misty Thicket" }, // 33 -{ "nro", "North Ro" }, // 34 -{ "sro", "South Ro" }, // 35 +{ "misty", "misty" }, // 33 +{ "nro", "The Northern Desert of Ro" }, // 34 +{ "sro", "The Southern Desert of Ro" }, // 35 { "befallen", "Befallen" }, // 36 -{ "oasis", "Oasis of Marr" }, // 37 -{ "tox", "Toxxulia Forest" }, // 38 +{ "oasis", "The Oasis of Marr" }, // 37 +{ "tox", "tox" }, // 38 { "hole", "The Ruins of Old Paineel" }, // 39 { "neriaka", "Neriak - Foreign Quarter" }, // 40 { "neriakb", "Neriak - Commons" }, // 41 @@ -65,53 +66,53 @@ { "neriakc", "Neriak - Third Gate" }, // 42 { "neriakd", "Neriak - Fourth Gate" }, // 43 { "najena", "Najena" }, // 44 -{ "qcat", "Qeynos Catacombs" }, // 45 -{ "innothule", "Innothule Swamp" }, // 46 +{ "qcat", "The Qeynos Aqueduct System" }, // 45 +{ "innothule", "innothule" }, // 46 { "feerrott", "The Feerrott" }, // 47 -{ "cazicthule", "Cazic-Thule" }, // 48 +{ "cazicthule", "Temple of Cazic-Thule" }, // 48 { "oggok", "Oggok" }, // 49 -{ "rathemtn", "Mountains of Rathe" }, // 50 +{ "rathemtn", "The Rathe Mountains" }, // 50 { "lakerathe", "Lake Rathetear" }, // 51 { "grobb", "Grobb" }, // 52 -{ "aviak", "Aviak Village" }, // 53 -{ "gfaydark", "Greater Faydark" }, // 54 +{ "aviak", "Aviak" }, // 53 +{ "gfaydark", "The Greater Faydark" }, // 54 { "akanon", "Ak'Anon" }, // 55 -{ "steamfont", "Steamfont Mountains" }, // 56 -{ "lfaydark", "Lesser Faydark" }, // 57 +{ "steamfont", "steamfont" }, // 56 +{ "lfaydark", "The Lesser Faydark" }, // 57 { "crushbone", "Clan Crushbone" }, // 58 -{ "mistmoore", "Castle Mistmoore" }, // 59 -{ "kaladima", "Kaladim" }, // 60 -{ "felwithea", "Felwithe" }, // 61 -{ "felwitheb", "Felwithe" }, // 62 -{ "unrest", "Estate of Unrest" }, // 63 +{ "mistmoore", "The Castle of Mistmoore" }, // 59 +{ "kaladima", "South Kaladim" }, // 60 +{ "felwithea", "Northern Felwithe" }, // 61 +{ "felwitheb", "Southern Felwithe" }, // 62 +{ "unrest", "The Estate of Unrest" }, // 63 { "kedge", "Kedge Keep" }, // 64 -{ "guktop", "Upper Guk" }, // 65 -{ "gukbottom", "Lower Guk" }, // 66 -{ "kaladimb", "Kaladim" }, // 67 +{ "guktop", "The City of Guk" }, // 65 +{ "gukbottom", "The Ruins of Old Guk" }, // 66 +{ "kaladimb", "North Kaladim" }, // 67 { "butcher", "Butcherblock Mountains" }, // 68 -{ "oot", "Ocean of Tears" }, // 69 +{ "oot", "The Ocean of Tears" }, // 69 { "cauldron", "Dagnor's Cauldron" }, // 70 -{ "airplane", "Plane of Sky" }, // 71 -{ "fearplane", "Plane of Fear" }, // 72 +{ "airplane", "The Plane of Sky" }, // 71 +{ "fearplane", "The Plane of Fear" }, // 72 { "permafrost", "Permafrost Keep" }, // 73 -{ "kerraridge", "Kerra Isle" }, // 74 +{ "kerraridge", "kerraridge" }, // 74 { "paineel", "Paineel" }, // 75 { "hateplane", "The Plane of Hate" }, // 76 { "arena", "The Arena" }, // 77 { "fieldofbone", "The Field of Bone" }, // 78 -{ "warslikswood", "Warsliks Woods" }, // 79 -{ "soltemple", "Temple of Solusek Ro" }, // 80 -{ "droga", "Temple of Droga" }, // 81 -{ "cabwest", "West Cabilis" }, // 82 -{ "swampofnohope", "Swamp of No Hope" }, // 83 +{ "warslikswood", "The Warsliks Woods" }, // 79 +{ "soltemple", "The Temple of Solusek Ro" }, // 80 +{ "droga", "The Temple of Droga" }, // 81 +{ "cabwest", "Cabilis West" }, // 82 +{ "swampofnohope", "The Swamp of No Hope" }, // 83 { "firiona", "Firiona Vie" }, // 84 { "lakeofillomen", "Lake of Ill Omen" }, // 85 -{ "dreadlands", "Dreadlands" }, // 86 -{ "burningwood", "Burning Woods" }, // 87 +{ "dreadlands", "The Dreadlands" }, // 86 +{ "burningwood", "The Burning Woods" }, // 87 { "kaesora", "Kaesora" }, // 88 -{ "sebilis", "Old Sebilis" }, // 89 -{ "citymist", "City of Mist" }, // 90 -{ "skyfire", "Skyfire Mountains" }, // 91 +{ "sebilis", "The Ruins of Sebilis" }, // 89 +{ "citymist", "The City of Mist" }, // 90 +{ "skyfire", "The Skyfire Mountains" }, // 91 { "frontiermtns", "Frontier Mountains" }, // 92 { "overthere", "The Overthere" }, // 93 { "emeraldjungle", "The Emerald Jungle" }, // 94 @@ -120,37 +121,37 @@ { "kurn", "Kurn's Tower" }, // 97 { "erudsxing", "Erud's Crossing" }, // 98 { NULL, NULL }, // 99 -{ "stonebrunt", "Stonebrunt Mountains" }, // 100 +{ "stonebrunt", "The Stonebrunt Mountains" }, // 100 { "warrens", "The Warrens" }, // 101 { "karnor", "Karnor's Castle" }, // 102 { "chardok", "Chardok" }, // 103 -{ "dalnir", "Dalnir" }, // 104 +{ "dalnir", "The Crypt of Dalnir" }, // 104 { "charasis", "Howling Stones" }, // 105 -{ "cabeast", "East Cabilis" }, // 106 -{ "nurga", "Mines of Nurga" }, // 107 +{ "cabeast", "Cabilis East" }, // 106 +{ "nurga", "The Mines of Nurga" }, // 107 { "veeshan", "Veeshan's Peak" }, // 108 { "veksar", "Veksar" }, // 109 -{ "iceclad", "Iceclad Ocean" }, // 110 -{ "frozenshadow", "Tower of Frozen Shadow" }, // 111 +{ "iceclad", "The Iceclad Ocean" }, // 110 +{ "frozenshadow", "The Tower of Frozen Shadow" }, // 111 { "velketor", "Velketor's Labyrinth" }, // 112 { "kael", "Kael Drakkel" }, // 113 { "skyshrine", "Skyshrine" }, // 114 -{ "thurgadina", "Thurgadin" }, // 115 +{ "thurgadina", "The City of Thurgadin" }, // 115 { "eastwastes", "Eastern Wastes" }, // 116 { "cobaltscar", "Cobalt Scar" }, // 117 -{ "greatdivide", "Great Divide" }, // 118 +{ "greatdivide", "The Great Divide" }, // 118 { "wakening", "The Wakening Land" }, // 119 -{ "westwastes", "Western Wastes" }, // 120 +{ "westwastes", "The Western Wastes" }, // 120 { "crystal", "Crystal Caverns" }, // 121 { NULL, NULL }, // 122 { "necropolis", "Dragon Necropolis" }, // 123 -{ "templeveeshan", "Temple of Veeshan" }, // 124 +{ "templeveeshan", "The Temple of Veeshan" }, // 124 { "sirens", "Siren's Grotto" }, // 125 -{ "mischiefplane", "Plane of Mischief" }, // 126 -{ "growthplane", "Plane of Growth" }, // 127 -{ "sleeper", "Sleeper's Tomb" }, // 128 +{ "mischiefplane", "The Plane of Mischief" }, // 126 +{ "growthplane", "The Plane of Growth" }, // 127 +{ "sleeper", "The Sleeper's Tomb" }, // 128 { "thurgadinb", "Icewell Keep" }, // 129 -{ "erudsxing2", "Marauder's Mire" }, // 130 +{ "erudsxing2", "erudsxing2" }, // 130 { NULL, NULL }, // 131 { NULL, NULL }, // 132 { NULL, NULL }, // 133 @@ -177,7 +178,7 @@ { "acrylia", "Acrylia Caverns" }, // 154 { "sharvahl", "Shar Vahl" }, // 155 { "paludal", "Paludal Caverns" }, // 156 -{ "fungusgrove", "Fungus Grove" }, // 157 +{ "fungusgrove", "The Fungus Grove" }, // 157 { "vexthal", "Vex Thal" }, // 158 { "sseru", "Sanctus Seru" }, // 159 { "katta", "Katta Castellum" }, // 160 @@ -199,18 +200,18 @@ { "umbral", "The Umbral Plains" }, // 176 { NULL, NULL }, // 177 { NULL, NULL }, // 178 -{ "akheva", "Akheva Ruins" }, // 179 -{ "arena2", "The Arena" }, // 180 -{ "jaggedpine", "The Jaggedpine Forest" }, // 181 +{ "akheva", "The Akheva Ruins" }, // 179 +{ "arena2", "arena2" }, // 180 +{ "jaggedpine", "Jaggedpine Forest" }, // 181 { "nedaria", "Nedaria's Landing" }, // 182 -{ "tutorial", "Tutorial Zone" }, // 183 -{ "load", "Loading" }, // 184 -{ "load2", "Loading" }, // 185 +{ "tutorial", "tutorial" }, // 183 +{ "load", "load" }, // 184 +{ "load2", "load2" }, // 185 { "hateplaneb", "The Plane of Hate" }, // 186 { "shadowrest", "Shadowrest" }, // 187 -{ "tutoriala", "The Mines of Gloomingdeep" }, // 188 -{ "tutorialb", "The Mines of Gloomingdeep" }, // 189 -{ "clz", "Loading" }, // 190 +{ "tutoriala", "tutoriala" }, // 188 +{ "tutorialb", "tutorialb" }, // 189 +{ "clz", "clz" }, // 190 { NULL, NULL }, // 191 { NULL, NULL }, // 192 { NULL, NULL }, // 193 @@ -221,115 +222,115 @@ { NULL, NULL }, // 198 { NULL, NULL }, // 199 { "codecay", "Ruins of Lxanvom" }, // 200 -{ "pojustice", "Plane of Justice" }, // 201 -{ "poknowledge", "Plane of Knowledge" }, // 202 -{ "potranquility", "Plane of Tranquility" }, // 203 -{ "ponightmare", "Plane of Nightmare" }, // 204 -{ "podisease", "Plane of Disease" }, // 205 -{ "poinnovation", "Plane of Innovation" }, // 206 -{ "potorment", "Plane of Torment" }, // 207 -{ "povalor", "Plane of Valor" }, // 208 -{ "bothunder", "Torden, The Bastion of Thunder" }, // 209 -{ "postorms", "Plane of Storms" }, // 210 -{ "hohonora", "Halls of Honor" }, // 211 -{ "solrotower", "Solusek Ro's Tower" }, // 212 -{ "powar", "Plane of War" }, // 213 -{ "potactics", "Drunder, Fortress of Zek" }, // 214 +{ "pojustice", "The Plane of Justice" }, // 201 +{ "poknowledge", "The Plane of Knowledge" }, // 202 +{ "potranquility", "The Plane of Tranquility" }, // 203 +{ "ponightmare", "The Plane of Nightmare" }, // 204 +{ "podisease", "The Plane of Disease" }, // 205 +{ "poinnovation", "The Plane of Innovation" }, // 206 +{ "potorment", "Torment, the Plane of Pain" }, // 207 +{ "povalor", "The Plane of Valor" }, // 208 +{ "bothunder", "Torden, the Bastion of Thunder" }, // 209 +{ "postorms", "The Plane of Storms" }, // 210 +{ "hohonora", "The Halls of Honor" }, // 211 +{ "solrotower", "The Tower of Solusek Ro" }, // 212 +{ "powar", "The Plane of War" }, // 213 +{ "potactics", "Drunder, the Fortress of Zek" }, // 214 { "poair", "Eryslai, the Kingdom of Wind" }, // 215 -{ "powater", "Reef of Coirnav" }, // 216 -{ "pofire", "Doomfire, The Burning Lands" }, // 217 +{ "powater", "The Reef of Coirnav" }, // 216 +{ "pofire", "Doomfire, the Burning Lands" }, // 217 { "poeartha", "Vegarlson, The Earthen Badlands" }, // 218 -{ "potimea", "Plane of Time" }, // 219 -{ "hohonorb", "Temple of Marr" }, // 220 -{ "nightmareb", "Lair of Terris Thule" }, // 221 -{ "poearthb", "Stronghold of the Twelve" }, // 222 -{ "potimeb", "Plane of Time" }, // 223 -{ "gunthak", "Gulf of Gunthak" }, // 224 +{ "potimea", "The Plane of Time" }, // 219 +{ "hohonorb", "The Temple of Marr" }, // 220 +{ "nightmareb", "The Lair of Terris-Thule" }, // 221 +{ "poearthb", "Ragrax, Stronghold of the Twelve" }, // 222 +{ "potimeb", "The Prison of the Forsaken" }, // 223 +{ "gunthak", "The Gulf of Gunthak" }, // 224 { "dulak", "Dulak's Harbor" }, // 225 -{ "torgiran", "Torgiran Mines" }, // 226 -{ "nadox", "Crypt of Nadox" }, // 227 -{ "hatesfury", "Hate's Fury, The Scorned Maiden" }, // 228 -{ "guka", "The Cauldron of Lost Souls" }, // 229 -{ "ruja", "The Bloodied Quarries" }, // 230 -{ "taka", "The Sunken Library" }, // 231 -{ "mira", "The Silent Gallery" }, // 232 -{ "mmca", "The Forlorn Caverns" }, // 233 -{ "gukb", "The Drowning Crypt" }, // 234 -{ "rujb", "The Halls of War" }, // 235 -{ "takb", "The Shifting Tower" }, // 236 -{ "mirb", "The Maw of the Menagerie" }, // 237 -{ "mmcb", "The Dreary Grotto" }, // 238 -{ "gukc", "The Ancient Aqueducts" }, // 239 -{ "rujc", "The Wind Bridges" }, // 240 -{ "takc", "The Fading Temple" }, // 241 -{ "mirc", "The Spider Den" }, // 242 -{ "mmcc", "The Asylum of Invoked Stone" }, // 243 -{ "gukd", "The Mushroom Grove" }, // 244 -{ "rujd", "The Gladiator Pits" }, // 245 -{ "takd", "The Royal Observatory" }, // 246 -{ "mird", "The Hushed Banquet" }, // 247 -{ "mmcd", "The Chambers of Eternal Affliction" }, // 248 -{ "guke", "The Foreboding Prison" }, // 249 -{ "ruje", "The Drudge Hollows" }, // 250 -{ "take", "The River of Recollection" }, // 251 -{ "mire", "The Frosted Halls" }, // 252 -{ "mmce", "The Sepulcher of the Damned" }, // 253 -{ "gukf", "The Chapel of the Witnesses" }, // 254 -{ "rujf", "The Fortified Lair of the Taskmasters" }, // 255 -{ "takf", "The Sandfall Corridors" }, // 256 -{ "mirf", "The Forgotten Wastes" }, // 257 -{ "mmcf", "The Ritualistic Summoning Grounds" }, // 258 -{ "gukg", "The Root Garden" }, // 259 -{ "rujg", "The Hidden Vale" }, // 260 -{ "takg", "The Balancing Chamber" }, // 261 -{ "mirg", "The Heart of the Menagerie" }, // 262 -{ "mmcg", "The Cesspits of Putrescence" }, // 263 -{ "gukh", "The Accursed Sanctuary" }, // 264 -{ "rujh", "The Blazing Forge" }, // 265 -{ "takh", "The Sweeping Tides" }, // 266 -{ "mirh", "The Morbid Laboratory" }, // 267 -{ "mmch", "The Aisles of Blood" }, // 268 -{ "ruji", "The Arena of Chance" }, // 269 -{ "taki", "The Antiquated Palace" }, // 270 -{ "miri", "The Theater of Imprisoned Horrors" }, // 271 -{ "mmci", "The Halls of Sanguinary Rites" }, // 272 -{ "rujj", "The Barracks of War" }, // 273 -{ "takj", "The Prismatic Corridors" }, // 274 -{ "mirj", "The Grand Library" }, // 275 -{ "mmcj", "The Infernal Sanctuary" }, // 276 -{ "chardokb", "The Halls of Betrayal" }, // 277 +{ "torgiran", "The Torgiran Mines" }, // 226 +{ "nadox", "The Crypt of Nadox" }, // 227 +{ "hatesfury", "Hate's Fury" }, // 228 +{ "guka", "Deepest Guk: Cauldron of Lost Souls" }, // 229 +{ "ruja", "The Rujarkian Hills: Bloodied Quarries" }, // 230 +{ "taka", "Takish-Hiz: Sunken Library" }, // 231 +{ "mira", "Miragul's Menagerie: Silent Gallery" }, // 232 +{ "mmca", "Mistmoore's Catacombs: Forlorn Caverns" }, // 233 +{ "gukb", "Deepest Guk: Drowning Crypt" }, // 234 +{ "rujb", "The Rujarkian Hills: Halls of War" }, // 235 +{ "takb", "Takish-Hiz: Shifting Tower" }, // 236 +{ "mirb", "Miragul's Menagerie: Maw of the Menagerie" }, // 237 +{ "mmcb", "Mistmoore's Catacombs: Dreary Grotto" }, // 238 +{ "gukc", "Deepest Guk: Ancient Aqueducts" }, // 239 +{ "rujc", "The Rujarkian Hills: Wind Bridges" }, // 240 +{ "takc", "Takish-Hiz: Fading Temple" }, // 241 +{ "mirc", "Miragul's Menagerie: Spider Den" }, // 242 +{ "mmcc", "Mistmoore's Catacombs: Asylum of Invoked Stone" }, // 243 +{ "gukd", "Deepest Guk: Mushroom Grove" }, // 244 +{ "rujd", "The Rujarkian Hills: Gladiator Pits" }, // 245 +{ "takd", "Takish-Hiz: Royal Observatory" }, // 246 +{ "mird", "Miragul's Menagerie: Hushed Banquet" }, // 247 +{ "mmcd", "Mistmoore's Catacombs: Chambers of Eternal Affliction" }, // 248 +{ "guke", "Deepest Guk: Foreboding Prison" }, // 249 +{ "ruje", "The Rujarkian Hills: Drudge Hollows" }, // 250 +{ "take", "Takish-Hiz: River of Recollection" }, // 251 +{ "mire", "Miragul's Menagerie: Frosted Halls" }, // 252 +{ "mmce", "Mistmoore's Catacombs: Sepulcher of the Damned" }, // 253 +{ "gukf", "Deepest Guk: Chapel of the Witnesses" }, // 254 +{ "rujf", "The Rujarkian Hills: Fortified Lair of the Taskmasters" }, // 255 +{ "takf", "Takish-Hiz: Sandfall Corridors" }, // 256 +{ "mirf", "Miragul's Menagerie: Forgotten Wastes" }, // 257 +{ "mmcf", "Mistmoore's Catacombs: Ritualistic Summoning Grounds" }, // 258 +{ "gukg", "Deepest Guk: Root Garden" }, // 259 +{ "rujg", "The Rujarkian Hills: Hidden Vale" }, // 260 +{ "takg", "Takish-Hiz: Balancing Chamber" }, // 261 +{ "mirg", "Miragul's Menagerie: Heart of the Menagerie" }, // 262 +{ "mmcg", "Mistmoore's Catacombs: Cesspits of Putrescence" }, // 263 +{ "gukh", "Deepest Guk: Accursed Sanctuary" }, // 264 +{ "rujh", "The Rujarkian Hills: Blazing Forge" }, // 265 +{ "takh", "Takish-Hiz: Sweeping Tides" }, // 266 +{ "mirh", "Miragul's Menagerie: Morbid Laboratory" }, // 267 +{ "mmch", "Mistmoore's Catacombs: Aisles of Blood" }, // 268 +{ "ruji", "The Rujarkian Hills: Arena of Chance" }, // 269 +{ "taki", "Takish-Hiz: Antiquated Palace" }, // 270 +{ "miri", "Miragul's Menagerie: Theater of Imprisoned Horrors" }, // 271 +{ "mmci", "Mistmoore's Catacombs: Halls of Sanguinary Rites" }, // 272 +{ "rujj", "The Rujarkian Hills: Barracks of War" }, // 273 +{ "takj", "Takish-Hiz: Prismatic Corridors" }, // 274 +{ "mirj", "Miragul's Menagerie: Grand Library" }, // 275 +{ "mmcj", "Mistmoore's Catacombs: Infernal Sanctuary" }, // 276 +{ "chardokb", "Chardok: The Halls of Betrayal" }, // 277 { "soldungc", "The Caverns of Exile" }, // 278 -{ "abysmal", "Abysmal Sea" }, // 279 -{ "natimbi", "Natimbi, The Broken Shores" }, // 280 +{ "abysmal", "The Abysmal Sea" }, // 279 +{ "natimbi", "Natimbi, the Broken Shores" }, // 280 { "qinimi", "Qinimi, Court of Nihilia" }, // 281 { "riwwi", "Riwwi, Coliseum of Games" }, // 282 { "barindu", "Barindu, Hanging Gardens" }, // 283 { "ferubi", "Ferubi, Forgotten Temple of Taelosia" }, // 284 { "snpool", "Sewers of Nihilia, Pool of Sludge" }, // 285 -{ "snlair", "Sewers of Nihilia, Lair of Trapped Ones..." }, // 286 +{ "snlair", "Sewers of Nihilia, Lair of Trapped Ones" }, // 286 { "snplant", "Sewers of Nihilia, Purifying Plant" }, // 287 -{ "sncrematory", "Sewers of Nihilia, the Crematory" }, // 288 +{ "sncrematory", "Sewers of Nihilia, Emanating Crematory" }, // 288 { "tipt", "Tipt, Treacherous Crags" }, // 289 -{ "vxed", "Vxed, The Crumbling Caverns" }, // 290 +{ "vxed", "Vxed, the Crumbling Caverns" }, // 290 { "yxtta", "Yxtta, Pulpit of Exiles" }, // 291 -{ "uqua", "Uqua, The Ocean God Chantry" }, // 292 +{ "uqua", "Uqua, the Ocean God Chantry" }, // 292 { "kodtaz", "Kod'Taz, Broken Trial Grounds" }, // 293 { "ikkinz", "Ikkinz, Chambers of Destruction" }, // 294 { "qvic", "Qvic, Prayer Grounds of Calling" }, // 295 -{ "inktuta", "Inktu`Ta, The Unmasked Chapel" }, // 296 +{ "inktuta", "Inktu'Ta, the Unmasked Chapel" }, // 296 { "txevu", "Txevu, Lair of the Elite" }, // 297 -{ "tacvi", "Tacvi, Seat of the Slaver" }, // 298 -{ "qvicb", "Qvic, the Hidden Vault" }, // 299 +{ "tacvi", "Tacvi, the Broken Temple" }, // 298 +{ "qvicb", "qvicb" }, // 299 { "wallofslaughter", "Wall of Slaughter" }, // 300 { "bloodfields", "The Bloodfields" }, // 301 { "draniksscar", "Dranik's Scar" }, // 302 { "causeway", "Nobles' Causeway" }, // 303 -{ "chambersa", "Muramite Proving Grounds" }, // 304 -{ "chambersb", "Muramite Proving Grounds" }, // 305 -{ "chambersc", "Muramite Proving Grounds" }, // 306 -{ "chambersd", "Muramite Proving Grounds" }, // 307 -{ "chamberse", "Muramite Proving Grounds" }, // 308 -{ "chambersf", "Muramite Proving Grounds" }, // 309 +{ "chambersa", "Proving Grounds" }, // 304 +{ "chambersb", "Proving Grounds" }, // 305 +{ "chambersc", "Proving Grounds" }, // 306 +{ "chambersd", "Proving Grounds" }, // 307 +{ "chamberse", "Proving Grounds" }, // 308 +{ "chambersf", "Proving Grounds" }, // 309 { NULL, NULL }, // 310 { NULL, NULL }, // 311 { NULL, NULL }, // 312 @@ -338,9 +339,9 @@ { NULL, NULL }, // 315 { "provinggrounds", "Muramite Proving Grounds" }, // 316 { "anguish", "Anguish, the Fallen Palace" }, // 317 -{ "dranikhollowsa", "Dranik's Hollows" }, // 318 -{ "dranikhollowsb", "Dranik's Hollows" }, // 319 -{ "dranikhollowsc", "Dranik's Hollows" }, // 320 +{ "dranikhollowsa", "Dranik's Hollows: Watering Hole" }, // 318 +{ "dranikhollowsb", "Dranik's Hollows: Fire Pit" }, // 319 +{ "dranikhollowsc", "Dranik's Hollows: Murkglider Hive" }, // 320 { "dranikhollowsd", "Dranik's Hollows" }, // 321 { "dranikhollowse", "Dranik's Hollows" }, // 322 { "dranikhollowsf", "Dranik's Hollows" }, // 323 @@ -355,7 +356,7 @@ { "draniksewersb", "Sewers of Dranik" }, // 332 { "draniksewersc", "Sewers of Dranik" }, // 333 { "riftseekers", "Riftseekers' Sanctum" }, // 334 -{ "harbingers", "Harbingers' Spire" }, // 335 +{ "harbingers", "Harbinger's Spire" }, // 335 { "dranik", "The Ruined City of Dranik" }, // 336 { "broodlands", "The Broodlands" }, // 337 { "stillmoona", "Stillmoon Temple" }, // 338 @@ -364,25 +365,25 @@ { "delvea", "Lavaspinner's Lair" }, // 341 { "delveb", "Tirranun's Delve" }, // 342 { "thenest", "The Accursed Nest" }, // 343 -{ "guildlobby", "The Guild Lobby" }, // 344 +{ "guildlobby", "Guild Lobby" }, // 344 { "guildhall", "Guild Hall" }, // 345 -{ "barter", "The Barter Hall" }, // 346 +{ "barter", "barter" }, // 346 { "illsalin", "Ruins of Illsalin" }, // 347 -{ "illsalina", "Imperial Bazaar" }, // 348 +{ "illsalina", "Illsalin Marketplace" }, // 348 { "illsalinb", "Temple of the Korlach" }, // 349 { "illsalinc", "The Nargilor Pits" }, // 350 { "dreadspire", "Dreadspire Keep" }, // 351 -{ "dreadspirea", "The Torture Chamber" }, // 352 -{ "dreadspireb", "The Artifact Room" }, // 353 +{ NULL, NULL }, // 352 +{ NULL, NULL }, // 353 { "drachnidhive", "The Hive" }, // 354 -{ "drachnidhivea", "Living Larder" }, // 355 -{ "drachnidhiveb", "Coven of the Skinwalkers" }, // 356 -{ "drachnidhivec", "Queen Sendaii's Lair" }, // 357 +{ "drachnidhivea", "The Hatchery" }, // 355 +{ "drachnidhiveb", "The Cocoons" }, // 356 +{ "drachnidhivec", "The Queen's Lair" }, // 357 { "westkorlach", "Stoneroot Falls" }, // 358 { "westkorlacha", "Chambers of Xill" }, // 359 { "westkorlachb", "Caverns of the Lost" }, // 360 { "westkorlachc", "Lair of the Korlach" }, // 361 -{ "eastkorlach", "Undershore" }, // 362 +{ "eastkorlach", "The Undershore" }, // 362 { "eastkorlacha", "Snarlstone Dens" }, // 363 { "shadowspine", "Shadowspine" }, // 364 { "corathus", "Corathus Creep" }, // 365 @@ -389,8 +390,8 @@ { "corathusa", "Sporali Caverns" }, // 366 { "corathusb", "Corathus Lair" }, // 367 { "nektulosa", "Shadowed Grove" }, // 368 -{ "arcstone", "Arcstone" }, // 369 -{ "relic", "Relic" }, // 370 +{ "arcstone", "Arcstone, Isle of Spirits" }, // 369 +{ "relic", "Relic, the Artifact City" }, // 370 { "skylance", "Skylance" }, // 371 { "devastation", "The Devastation" }, // 372 { "devastationa", "The Seething Wall" }, // 373 @@ -412,8 +413,8 @@ { "freeportcityhall", "City Hall" }, // 389 { "freeporttheater", "Theater" }, // 390 { "freeporthall", "Hall of Truth" }, // 391 -{ "northro", "North Ro" }, // 392 -{ "southro", "South Ro" }, // 393 +{ "northro", "North Desert of Ro" }, // 392 +{ "southro", "South Desert of Ro" }, // 393 { "crescent", "Crescent Reach" }, // 394 { "moors", "Blightfire Moors" }, // 395 { "stonehive", "Stone Hive" }, // 396 @@ -428,11 +429,11 @@ { "direwind", "Direwind Cliffs" }, // 405 { "ashengate", "Ashengate, Reliquary of the Scale" }, // 406 { "highpasshold", "Highpass Hold" }, // 407 -{ "commonlands", "Commonlands" }, // 408 -{ "oceanoftears", "Ocean of Tears" }, // 409 -{ "kithforest", "Kithicor Forest" }, // 410 -{ "befallenb", "Befallen" }, // 411 -{ "highpasskeep", "High Keep" }, // 412 +{ "commonlands", "The Commonlands" }, // 408 +{ "oceanoftears", "The Ocean of Tears" }, // 409 +{ "kithforest", "kithforest" }, // 410 +{ "befallenb", "befallenb" }, // 411 +{ "highpasskeep", "highpasskeep" }, // 412 { "innothuleb", "Innothule Swamp" }, // 413 { "toxxulia", "Toxxulia Forest" }, // 414 { "mistythicket", "Misty Thicket" }, // 415 @@ -468,17 +469,17 @@ { "bloodmoon", "Bloodmoon Keep" }, // 445 { "crystallos", "Crystallos, Lair of the Awakened" }, // 446 { "guardian", "The Mechamatic Guardian" }, // 447 -{ "steamfontmts", "Steamfont Mountains" }, // 448 +{ "steamfontmts", "The Steamfont Mountains" }, // 448 { "cryptofshade", "Crypt of Shade" }, // 449 { "dragonscalea", "Tinmizer's Wunderwerks" }, // 450 { "dragonscaleb", "Deepscar's Den" }, // 451 { "oldfieldofbone", "Field of Scale" }, // 452 { "oldkaesoraa", "Kaesora Library" }, // 453 -{ "oldkaesorab", "Hatchery Wing" }, // 454 +{ "oldkaesorab", "Kaesora Hatchery" }, // 454 { "oldkurn", "Kurn's Tower" }, // 455 { "oldkithicor", "Bloody Kithicor" }, // 456 { "oldcommons", "Old Commonlands" }, // 457 -{ "oldhighpass", "Highpass Hold" }, // 458 +{ "oldhighpass", "oldhighpass" }, // 458 { "thevoida", "The Void" }, // 459 { "thevoidb", "The Void" }, // 460 { "thevoidc", "The Void" }, // 461 @@ -493,18 +494,18 @@ { "discord", "Korafax, Home of the Riders" }, // 470 { "discordtower", "Citadel of the Worldslayer" }, // 471 { "oldbloodfield", "Old Bloodfields" }, // 472 -{ "precipiceofwar", "The Precipice of War" }, // 473 +{ "precipiceofwar", "Precipice of War" }, // 473 { "olddranik", "City of Dranik" }, // 474 { "toskirakk", "Toskirakk" }, // 475 { "korascian", "Korascian Warrens" }, // 476 -{ "rathechamber", "Rathe Council Chambers" }, // 477 +{ "rathechamber", "Rathe Council Chamber" }, // 477 { "oldfieldofboneb", "Field of Scale" }, // 478 -{ "crafthalls", "Ngreth's Den" }, // 479 +{ "crafthalls", "crafthalls" }, // 479 { "brellsrest", "Brell's Rest" }, // 480 { "fungalforest", "Fungal Forest" }, // 481 { "underquarry", "The Underquarry" }, // 482 { "coolingchamber", "The Cooling Chamber" }, // 483 -{ "shiningcity", "Kernagir, The Shining City" }, // 484 +{ "shiningcity", "Kernagir, the Shining City" }, // 484 { "arthicrex", "Arthicrex" }, // 485 { "foundation", "The Foundation" }, // 486 { "lichencreep", "Lichen Creep" }, // 487 @@ -734,16 +735,16 @@ { "thuledream", "Fear Itself" }, // 711 { "neighborhood", "Sunrise Hills" }, // 712 { "phylactery", "Miragul's Phylactery" }, // 713 -{ "phinterior3a1", "House Interior" }, // 714 -{ "phinterior1a1", "House Interior" }, // 715 -{ "phinterior3a2", "House Interior" }, // 716 -{ "phinterior3a3", "House Interior" }, // 717 -{ "phinterior1a2", "House Interior" }, // 718 -{ "phinterior1a3", "House Interior" }, // 719 -{ "phinterior1b1", "Dragon House Interior" }, // 720 +{ "phinterior3a1", "Three Room House Interior" }, // 714 +{ "phinterior1a1", "One Room House Interior" }, // 715 +{ "phinterior3a2", "Three Room House Interior" }, // 716 +{ "phinterior3a3", "Three Room House Interior" }, // 717 +{ "phinterior1a2", "One Room House Interior" }, // 718 +{ "phinterior1a3", "One Room House Interior" }, // 719 +{ "phinterior1b1", "One Room House Interior" }, // 720 { NULL, NULL }, // 721 { NULL, NULL }, // 722 -{ "phinterior1d1", "Dragon House Interior" }, // 723 +{ "phinterior1d1", "Hermit's Hideaway Interior" }, // 723 { "argath", "Argath, Bastion of Illdaera" }, // 724 { "arelis", "Valley of Lunanyn" }, // 725 { "sarithcity", "Sarith, City of Tides" }, // 726 @@ -779,15 +780,15 @@ { "crystalshard", "The Crystal Caverns: Fragment of Fear" }, // 756 { "breedinggrounds", "The Breeding Grounds" }, // 757 { "eviltree", "Evantil, the Vile Oak" }, // 758 -{ "grelleth", "Grelleth's Palace, the Chateau of Filth..." }, // 759 +{ "grelleth", "Grelleth's Palace, the Chateau of Filth" }, // 759 { "chapterhouse", "Chapterhouse of the Fallen" }, // 760 -{ "pomischief", "The Plane of Mischief" }, // 761 -{ "burnedwoods", "The Burned Woods" }, // 762 +{ "pomischief", "pomischief" }, // 761 +{ "burnedwoods", "burnedwoods" }, // 762 { "chelsithreborn", "Chelsith Reborn" }, // 763 { "poshadow", "Plane of Shadow" }, // 764 { "heartoffear", "Heart of Fear: The Threshold" }, // 765 { "phinteriortree", "Evantil's Abode" }, // 766 -{ "interiorwalltest", "Wall Wall Wall" }, // 767 +{ "interiorwalltest", "interiorwalltest" }, // 767 { "heartoffearb", "Heart of Fear: The Rebirth" }, // 768 { "heartoffearc", "Heart of Fear: The Epicenter" }, // 769 { "bixiewarfront", "Bixie Warfront" }, // 770 @@ -806,11 +807,11 @@ { "thuliasaur", "Thuliasaur Island" }, // 783 { "degmar", "Degmar, the Lost Castle" }, // 784 { "tempesttemple", "Tempest Temple" }, // 785 -{ "plhpirateshipint", "Pirate Ship" }, // 786 +{ "plhpirateshipint", "The Wayward Lady" }, // 786 { "gnomemtn", "Gnome Memorial Mountain" }, // 787 { "drogab", "The Temple of Droga" }, // 788 { "charasisb", "Sathir's Tomb" }, // 789 -{ "scorchedwoods", "Scorched Woods" }, // 790 +{ "scorchedwoods", "The Scorched Woods" }, // 790 { "frontiermtnsb", "Frontier Mountains" }, // 791 { "gorowyn", "Gorowyn" }, // 792 { "korshaext", "Gates of Kor-Sha" }, // 793 @@ -834,16 +835,16 @@ { NULL, NULL }, // 811 { NULL, NULL }, // 812 { "charasistwo", "Howling Stones" }, // 813 -{ "skyfiretwo", "Skyfire Mountains" }, // 814 +{ "skyfiretwo", "The Skyfire Mountains" }, // 814 { "overtheretwo", "The Overthere" }, // 815 { "veeshantwo", "Veeshan's Peak" }, // 816 { "trialsofsmoke", "Plane of Smoke" }, // 817 { "stratos", "Stratos: Zephyr's Flight" }, // 818 -{ "aalishai", "Aslishai: Palace of Embers" }, // 819 +{ "aalishai", "Aalishai: Palace of Embers" }, // 819 { "empyr", "Empyr: Realms of Ash" }, // 820 { "esianti", "Esianti: Palace of the Winds" }, // 821 { "mearatas", "Mearatas: The Stone Demesne" }, // 822 -{ "chamberoftears", "The Chamber of Tears" }, // 823 +{ "chamberoftears", "Chamber of Tears" }, // 823 { "eastwastestwo", "The Eastern Wastes" }, // 824 { "frozenshadowtwo", "The Tower of Frozen Shadow" }, // 825 { "crystaltwoa", "The Ry`Gorr Mines" }, // 826 @@ -856,14 +857,14 @@ { "cobaltscartwo", "Cobalt Scar" }, // 833 { "westwastestwo", "The Western Wastes" }, // 834 { "skyshrinetwo", "Skyshrine" }, // 835 -{ "templeveeshantwo", "Temple of Veeshan" }, // 836 -{ NULL, NULL }, // 837 -{ NULL, NULL }, // 838 -{ NULL, NULL }, // 839 -{ NULL, NULL }, // 840 -{ NULL, NULL }, // 841 -{ NULL, NULL }, // 842 -{ "maidentwo", "The Maiden's Eye" }, // 843 +{ "templeveeshantwo", "The Temple of Veeshan" }, // 836 +{ "clz-winter", "Winter" }, // 837 +{ "clz-anniversary", "Anniversary" }, // 838 +{ "clz-spring", "Spring" }, // 839 +{ "clz-autumn", "Autumn" }, // 840 +{ "clz-frostfell", "Frostfell" }, // 841 +{ "clz-af", "April Fools" }, // 842 +{ "maidentwo", "Maiden's Eye" }, // 843 { "umbraltwo", "Umbral Plains" }, // 844 { "akhevatwo", "Ka Vethan" }, // 845 { "vexthaltwo", "Vex Thal" }, // 846 @@ -886,10 +887,10 @@ { "moorsofnokk", "Moors of Nokk" }, // 863 { "unkemptwoods", "Unkempt Woods" }, // 864 { "timorousfalls", "Timorous Falls" }, // 865 -{ NULL, NULL }, // 866 +{ "clz-tempest", "Tempest Festival" }, // 866 { NULL, NULL }, // 867 { NULL, NULL }, // 868 -{ NULL, NULL }, // 869 +{ "anniversarytower", "Tides of Time" }, // 869 { NULL, NULL }, // 870 { NULL, NULL }, // 871 { NULL, NULL }, // 872 @@ -896,7 +897,7 @@ { NULL, NULL }, // 873 { NULL, NULL }, // 874 { NULL, NULL }, // 875 -{ NULL, NULL }, // 876 +{ "clz-25anniversary", "clz-25anniversary" }, // 876 { NULL, NULL }, // 877 { NULL, NULL }, // 878 { NULL, NULL }, // 879 @@ -1016,7 +1017,7 @@ { NULL, NULL }, // 993 { NULL, NULL }, // 994 { NULL, NULL }, // 995 -{ "arttest", "Art Testing Domain" }, // 996 +{ "arttest", "The Pit of Rathpher" }, // 996 { NULL, NULL }, // 997 { "fhalls", "The Forgotten Halls" }, // 998 -{ "apprentice", "Designer Apprentice" }, // 999 +{ "apprentice", "apprentice" }, // 999 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-08-26 22:40:01
|
Revision: 1546 http://sourceforge.net/p/seq/svn/1546 Author: cn187 Date: 2024-08-26 22:40:00 +0000 (Mon, 26 Aug 2024) Log Message: ----------- Add ida helper script for generating zones.h Added Paths: ----------- showeq/branches/cn187_devel/scripts/ida/ showeq/branches/cn187_devel/scripts/ida/gen_zones_h.py Added: showeq/branches/cn187_devel/scripts/ida/gen_zones_h.py =================================================================== --- showeq/branches/cn187_devel/scripts/ida/gen_zones_h.py (rev 0) +++ showeq/branches/cn187_devel/scripts/ida/gen_zones_h.py 2024-08-26 22:40:00 UTC (rev 1546) @@ -0,0 +1,294 @@ + +import datetime +import sys +import idautils + +""" Generate ShowEQ's zones.h from eggame.exe and Resources/ZoneNames.txt + + NOTE: Requires IDA and python3 + + To use this script: + 1. Open eqgame.exe in IDA, and let IDA complete its analysis. + 2. Select View->Recent Scripts + 3. In the Recent Scripts tab, press Insert, and browse to the location + of this script. Select this script and click "Open". + 4. An entry for this script now appears in the list of scripts. + Double-click it to load it. + 5. (optional) right click in the output window and select "Clear". This + will reduce the extra stuff you have to delete when you copy/paste + 6. At the idapython command line, run + + dump_zones('/path/to/ZoneNames.txt') + + Note: ZoneNames.txt is found in your EQ client directory, under the + Resources subdirectory. If you want you can copy it to somewhere + convenient (e.g., /tmp), then pass that path to dump_zones. + 7. Create a new file (e.g. zones.h.new) + 8. Right-click in the output window, select "Select All", then "Copy". + 9. Paste into the file you created in step 7 + 10. There will be a couple of lines (or more if you skipped step 5) at + the top of the file (before the start of the block comment containing + the copyright/license info) that need to be deleted. Basically, + delete everything before the line consisting of "/*" + 11. Save the file + 12. As a sanity check, diff with zones.h to see what changed. This is + important in case the way the code works changed, or there's a bug + in the script - we don't want to commit an empty or otherwise bad + zones file. + 13. If everything looks good, rename your new file to zones.h and replace + the existing zones.h. + 14. Do a test compile to make sure everything is good. + 15. Commit changes. +""" + +def find_string_refs_to(haystack, needle): + refs = set() + for s in haystack: + if str(s) == needle: + for x in idautils.XrefsTo(s.ea): + refs.add(x.to) + return refs + +def find_string_refs_from(haystack, needle): + refs = set() + for s in haystack: + if str(s) == needle: + for x in idautils.XrefsTo(s.ea): + refs.add(x.frm) + return refs + + +def get_worlddata_start(ida_strings=None): + + if not ida_strings: + strings = idautils.Strings(True) + else: + strings = ida_strings + + key_string = 'EQWorldData::EQWorldData' + + eas = find_string_refs_from(strings, key_string) + + if len(eas) == 1: + ea = eas.pop() + return ea + else: + return None + + +# NOTE we could grab the addresses of EQWorldData::EQWorldData and Unknown Zone +# and use those for addr boundaries when looking for zone string loads +# (if there are too many conflicting loads in amongst the ones we want) + +# NOTE also, if we have to, we could determine exact reg numbers based on known +# zone names, with the assumption that the compiler will reuse the same registers +# throughout the function +def get_next_zone_loaded(cur_ea, end_ea, rnum=None): + ea = cur_ea + + while ea < end_ea: + mnem = idc.print_insn_mnem(ea) + if mnem == "lea": + if idc.get_operand_type(ea, 0) != o_reg: + ea = idc.next_head(ea) + continue + if rnum is not None and idc.get_operand_value(ea, 0) != rnum: + ea = idc.next_head(ea) + continue + if idc.get_operand_type(ea, 1) != o_mem: + ea = idc.next_head(ea) + continue + string = idc.get_strlit_contents(idc.get_operand_value(ea, 1)) + if not string: + ea = idc.next_head(ea) + continue + return ea, idc.get_strlit_contents(idc.get_operand_value(ea, 1)).decode('ascii') + ea = idc.next_head(ea) + + return ea, None + + + +def get_next_file_index(cur_ea, end_ea, rnum=None): + ea = cur_ea + + offset = 0 + backtrack = False + + while ea < end_ea: + mnem = idc.print_insn_mnem(ea) + if mnem == "lea": + if idc.get_operand_type(ea, 0) != o_reg: + ea = idc.next_head(ea) + continue + if rnum is not None and idc.get_operand_value(ea, 0) != rnum: + ea = idc.next_head(ea) + continue + if idc.get_operand_type(ea, 1) != o_displ: + ea = idc.next_head(ea) + continue + backtrack = True + break + elif mnem == "mov": + if idc.get_operand_type(ea, 0) != o_reg: + ea = idc.next_head(ea) + continue + if rnum is not None and idc.get_operand_value(ea, 0) != rnum: + ea = idc.next_head(ea) + continue + if idc.get_operand_type(ea, 1) != o_imm: + ea = idc.next_head(ea) + continue + return ea, idc.get_operand_value(ea, 1) + ea = idc.next_head(ea) + + if backtrack: + prev = idc.prev_head(ea) + mnem = idc.print_insn_mnem(prev) + if mnem == "xor" and \ + idc.get_operand_type(prev, 0) == o_reg and \ + idc.get_operand_type(prev,1) == o_reg: + return ea, idc.get_operand_value(ea, 1) + + if mnem != "mov" or \ + idc.get_operand_type(prev, 0) != o_reg or\ + idc.get_operand_type(prev, 1) != o_imm: + sys.stderr.write("Backtrack failed at " + hex(prev) + '\n') + return ea, -1 + + offset = idc.get_operand_value(prev, 1) + + return ea, idc.get_operand_value(ea, 1) + offset + + return ea, -1 + +def find_qeynos_load(cur_ea, end_ea): + ea = cur_ea + + while ea < end_ea: + ea, shortzone = get_next_zone_loaded(ea, end_ea) + if shortzone != 'qeynos': + ea = idc.next_head(ea) + continue + + rnum = idc.get_operand_value(ea, 0) + + return ea, shortzone, rnum + +def find_qeynos_index(cur_ea, end_ea): + ea = cur_ea + + while ea < end_ea: + ea, idx = get_next_file_index(ea, end_ea) + if idx != 1: + ea = idc.next_head(ea) + continue + + rnum = idc.get_operand_value(ea, 0) + + return ea, idx, rnum + + + + +# if you know the address where "EQWorldData::EQWorldData" is loaded, you can +# pass it as the start_ea +def dump_zones(zonenames_path=None, ida_strings=None, start_ea=None): + + if not zonenames_path: + sys.stderr.write("Path to ZoneNames.txt is required\n") + return + + if not ida_strings: + strings = idautils.Strings(True) + else: + strings = ida_strings + + if not start_ea: + start_ea = get_worlddata_start(strings) + if not start_ea: + sys.stderr.write("Could not find unique start ea. Found: " + eas + '\n') + return + + wd_func = ida_funcs.get_func(start_ea) + func_end = wd_func.end_ea + + cur_ea, shortzone, zone_regnum = find_qeynos_load(idc.next_head(start_ea), func_end) + if not cur_ea: + sys.stderr.write("Could not find first zone load\n") + return + + cur_ea, idx, idx_regnum = find_qeynos_index(idc.next_head(start_ea), func_end) + if not cur_ea: + sys.stderr.write("Could not find first load index\n") + return + + zonenames = {} + zones = {} + + with open(zonenames_path, 'r') as f: + for line in f.readlines(): + index, zonename, _, _ = line.split('^') + if index == "ZONE": + continue + zonenames[int(index)] = zonename.strip() + + #print(idx, shortzone, zonenames[idx]) + zones[idx] = (idx, shortzone, zonenames[idx]) + + while cur_ea < func_end: + cur_ea, shortzone = get_next_zone_loaded(cur_ea, func_end, zone_regnum) + if not shortzone: + break + + cur_ea = idc.next_head(cur_ea) + cur_ea, idx = get_next_file_index(cur_ea, func_end, idx_regnum) + if idx < 0: + break; + + if idx not in zonenames: + cur_ea = idc.next_head(cur_ea) + #sys.stderr.write("Did not find index {} for zone {} in ZoneNames.txt\n".format(idx, shortzone)) + zones[idx] = (idx, shortzone, shortzone) + else: + #print(idx, shortzone, zonenames[idx]) + zones[idx] = (idx, shortzone, zonenames[idx]) + + cur_ea = idc.next_head(cur_ea) + + + keys = sorted(zones.keys()) + last_idx = keys[-1] + current_year=datetime.datetime.now().year + print(f"""/* + * zones.h + * Copyright 2003-{current_year} by the respective ShowEQ Developers + * + * This file is part of ShowEQ. + * http://www.sourceforge.net/projects/seq + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* Maps zoneId numbers to strings, used in util.cpp */""") + + for i in range(0, last_idx+1): + if i in zones: + idx, shortzone, longzone = zones[i] + print('{{ "{}", "{}" }}, // {}'.format(shortzone, longzone, idx)) + else: + print('{{ NULL, NULL }}, // {}'.format(i)) + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-08-26 22:39:34
|
Revision: 1545 http://sourceforge.net/p/seq/svn/1545 Author: cn187 Date: 2024-08-26 22:39:31 +0000 (Mon, 26 Aug 2024) Log Message: ----------- Regenerate zones.h from current client files Modified Paths: -------------- showeq/trunk/src/zones.h Modified: showeq/trunk/src/zones.h =================================================================== --- showeq/trunk/src/zones.h 2024-08-26 22:39:24 UTC (rev 1544) +++ showeq/trunk/src/zones.h 2024-08-26 22:39:31 UTC (rev 1545) @@ -1,6 +1,6 @@ /* * zones.h - * Copyright 2003-2009, 2011-2012, 2014-2015, 2017-2019 by the respective ShowEQ Developers + * Copyright 2003-2024 by the respective ShowEQ Developers * * This file is part of ShowEQ. * http://www.sourceforge.net/projects/seq @@ -19,6 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + /* Maps zoneId numbers to strings, used in util.cpp */ { NULL, NULL }, // 0 { "qeynos", "South Qeynos" }, // 1 @@ -31,14 +32,14 @@ { "freportn", "North Freeport" }, // 8 { "freportw", "West Freeport" }, // 9 { "freporte", "East Freeport" }, // 10 -{ "runnyeye", "Clan Runnyeye" }, // 11 -{ "qey2hh1", "West Karana" }, // 12 -{ "northkarana", "North Karana" }, // 13 -{ "southkarana", "South Karana" }, // 14 -{ "eastkarana", "East Karana" }, // 15 -{ "beholder", "Gorge of King Xorbb" }, // 16 -{ "blackburrow", "BlackBurrow" }, // 17 -{ "paw", "Infected Paw" }, // 18 +{ "runnyeye", "The Liberated Citadel of Runnyeye" }, // 11 +{ "qey2hh1", "The Western Plains of Karana" }, // 12 +{ "northkarana", "The Northern Plains of Karana" }, // 13 +{ "southkarana", "The Southern Plains of Karana" }, // 14 +{ "eastkarana", "The Eastern Plains of Karana" }, // 15 +{ "beholder", "The Gorge of King Xorbb" }, // 16 +{ "blackburrow", "Blackburrow" }, // 17 +{ "paw", "The Lair of the Splitpaw" }, // 18 { "rivervale", "Rivervale" }, // 19 { "kithicor", "Kithicor Forest" }, // 20 { "commons", "West Commonlands" }, // 21 @@ -47,18 +48,18 @@ { "erudnext", "Erudin" }, // 24 { "nektulos", "Nektulos Forest" }, // 25 { "cshome", "Sunset Home" }, // 26 -{ "lavastorm", "Lavastorm Mountains" }, // 27 -{ "nektropos", "Nektropos" }, // 28 +{ "lavastorm", "The Lavastorm Mountains" }, // 27 +{ "nektropos", "nektropos" }, // 28 { "halas", "Halas" }, // 29 { "everfrost", "Everfrost Peaks" }, // 30 { "soldunga", "Solusek's Eye" }, // 31 { "soldungb", "Nagafen's Lair" }, // 32 -{ "misty", "Misty Thicket" }, // 33 -{ "nro", "North Ro" }, // 34 -{ "sro", "South Ro" }, // 35 +{ "misty", "misty" }, // 33 +{ "nro", "The Northern Desert of Ro" }, // 34 +{ "sro", "The Southern Desert of Ro" }, // 35 { "befallen", "Befallen" }, // 36 -{ "oasis", "Oasis of Marr" }, // 37 -{ "tox", "Toxxulia Forest" }, // 38 +{ "oasis", "The Oasis of Marr" }, // 37 +{ "tox", "tox" }, // 38 { "hole", "The Ruins of Old Paineel" }, // 39 { "neriaka", "Neriak - Foreign Quarter" }, // 40 { "neriakb", "Neriak - Commons" }, // 41 @@ -65,53 +66,53 @@ { "neriakc", "Neriak - Third Gate" }, // 42 { "neriakd", "Neriak - Fourth Gate" }, // 43 { "najena", "Najena" }, // 44 -{ "qcat", "Qeynos Catacombs" }, // 45 -{ "innothule", "Innothule Swamp" }, // 46 +{ "qcat", "The Qeynos Aqueduct System" }, // 45 +{ "innothule", "innothule" }, // 46 { "feerrott", "The Feerrott" }, // 47 -{ "cazicthule", "Cazic-Thule" }, // 48 +{ "cazicthule", "Temple of Cazic-Thule" }, // 48 { "oggok", "Oggok" }, // 49 -{ "rathemtn", "Mountains of Rathe" }, // 50 +{ "rathemtn", "The Rathe Mountains" }, // 50 { "lakerathe", "Lake Rathetear" }, // 51 { "grobb", "Grobb" }, // 52 -{ "aviak", "Aviak Village" }, // 53 -{ "gfaydark", "Greater Faydark" }, // 54 +{ "aviak", "Aviak" }, // 53 +{ "gfaydark", "The Greater Faydark" }, // 54 { "akanon", "Ak'Anon" }, // 55 -{ "steamfont", "Steamfont Mountains" }, // 56 -{ "lfaydark", "Lesser Faydark" }, // 57 +{ "steamfont", "steamfont" }, // 56 +{ "lfaydark", "The Lesser Faydark" }, // 57 { "crushbone", "Clan Crushbone" }, // 58 -{ "mistmoore", "Castle Mistmoore" }, // 59 -{ "kaladima", "Kaladim" }, // 60 -{ "felwithea", "Felwithe" }, // 61 -{ "felwitheb", "Felwithe" }, // 62 -{ "unrest", "Estate of Unrest" }, // 63 +{ "mistmoore", "The Castle of Mistmoore" }, // 59 +{ "kaladima", "South Kaladim" }, // 60 +{ "felwithea", "Northern Felwithe" }, // 61 +{ "felwitheb", "Southern Felwithe" }, // 62 +{ "unrest", "The Estate of Unrest" }, // 63 { "kedge", "Kedge Keep" }, // 64 -{ "guktop", "Upper Guk" }, // 65 -{ "gukbottom", "Lower Guk" }, // 66 -{ "kaladimb", "Kaladim" }, // 67 +{ "guktop", "The City of Guk" }, // 65 +{ "gukbottom", "The Ruins of Old Guk" }, // 66 +{ "kaladimb", "North Kaladim" }, // 67 { "butcher", "Butcherblock Mountains" }, // 68 -{ "oot", "Ocean of Tears" }, // 69 +{ "oot", "The Ocean of Tears" }, // 69 { "cauldron", "Dagnor's Cauldron" }, // 70 -{ "airplane", "Plane of Sky" }, // 71 -{ "fearplane", "Plane of Fear" }, // 72 +{ "airplane", "The Plane of Sky" }, // 71 +{ "fearplane", "The Plane of Fear" }, // 72 { "permafrost", "Permafrost Keep" }, // 73 -{ "kerraridge", "Kerra Isle" }, // 74 +{ "kerraridge", "kerraridge" }, // 74 { "paineel", "Paineel" }, // 75 { "hateplane", "The Plane of Hate" }, // 76 { "arena", "The Arena" }, // 77 { "fieldofbone", "The Field of Bone" }, // 78 -{ "warslikswood", "Warsliks Woods" }, // 79 -{ "soltemple", "Temple of Solusek Ro" }, // 80 -{ "droga", "Temple of Droga" }, // 81 -{ "cabwest", "West Cabilis" }, // 82 -{ "swampofnohope", "Swamp of No Hope" }, // 83 +{ "warslikswood", "The Warsliks Woods" }, // 79 +{ "soltemple", "The Temple of Solusek Ro" }, // 80 +{ "droga", "The Temple of Droga" }, // 81 +{ "cabwest", "Cabilis West" }, // 82 +{ "swampofnohope", "The Swamp of No Hope" }, // 83 { "firiona", "Firiona Vie" }, // 84 { "lakeofillomen", "Lake of Ill Omen" }, // 85 -{ "dreadlands", "Dreadlands" }, // 86 -{ "burningwood", "Burning Woods" }, // 87 +{ "dreadlands", "The Dreadlands" }, // 86 +{ "burningwood", "The Burning Woods" }, // 87 { "kaesora", "Kaesora" }, // 88 -{ "sebilis", "Old Sebilis" }, // 89 -{ "citymist", "City of Mist" }, // 90 -{ "skyfire", "Skyfire Mountains" }, // 91 +{ "sebilis", "The Ruins of Sebilis" }, // 89 +{ "citymist", "The City of Mist" }, // 90 +{ "skyfire", "The Skyfire Mountains" }, // 91 { "frontiermtns", "Frontier Mountains" }, // 92 { "overthere", "The Overthere" }, // 93 { "emeraldjungle", "The Emerald Jungle" }, // 94 @@ -120,37 +121,37 @@ { "kurn", "Kurn's Tower" }, // 97 { "erudsxing", "Erud's Crossing" }, // 98 { NULL, NULL }, // 99 -{ "stonebrunt", "Stonebrunt Mountains" }, // 100 +{ "stonebrunt", "The Stonebrunt Mountains" }, // 100 { "warrens", "The Warrens" }, // 101 { "karnor", "Karnor's Castle" }, // 102 { "chardok", "Chardok" }, // 103 -{ "dalnir", "Dalnir" }, // 104 +{ "dalnir", "The Crypt of Dalnir" }, // 104 { "charasis", "Howling Stones" }, // 105 -{ "cabeast", "East Cabilis" }, // 106 -{ "nurga", "Mines of Nurga" }, // 107 +{ "cabeast", "Cabilis East" }, // 106 +{ "nurga", "The Mines of Nurga" }, // 107 { "veeshan", "Veeshan's Peak" }, // 108 { "veksar", "Veksar" }, // 109 -{ "iceclad", "Iceclad Ocean" }, // 110 -{ "frozenshadow", "Tower of Frozen Shadow" }, // 111 +{ "iceclad", "The Iceclad Ocean" }, // 110 +{ "frozenshadow", "The Tower of Frozen Shadow" }, // 111 { "velketor", "Velketor's Labyrinth" }, // 112 { "kael", "Kael Drakkel" }, // 113 { "skyshrine", "Skyshrine" }, // 114 -{ "thurgadina", "Thurgadin" }, // 115 +{ "thurgadina", "The City of Thurgadin" }, // 115 { "eastwastes", "Eastern Wastes" }, // 116 { "cobaltscar", "Cobalt Scar" }, // 117 -{ "greatdivide", "Great Divide" }, // 118 +{ "greatdivide", "The Great Divide" }, // 118 { "wakening", "The Wakening Land" }, // 119 -{ "westwastes", "Western Wastes" }, // 120 +{ "westwastes", "The Western Wastes" }, // 120 { "crystal", "Crystal Caverns" }, // 121 { NULL, NULL }, // 122 { "necropolis", "Dragon Necropolis" }, // 123 -{ "templeveeshan", "Temple of Veeshan" }, // 124 +{ "templeveeshan", "The Temple of Veeshan" }, // 124 { "sirens", "Siren's Grotto" }, // 125 -{ "mischiefplane", "Plane of Mischief" }, // 126 -{ "growthplane", "Plane of Growth" }, // 127 -{ "sleeper", "Sleeper's Tomb" }, // 128 +{ "mischiefplane", "The Plane of Mischief" }, // 126 +{ "growthplane", "The Plane of Growth" }, // 127 +{ "sleeper", "The Sleeper's Tomb" }, // 128 { "thurgadinb", "Icewell Keep" }, // 129 -{ "erudsxing2", "Marauder's Mire" }, // 130 +{ "erudsxing2", "erudsxing2" }, // 130 { NULL, NULL }, // 131 { NULL, NULL }, // 132 { NULL, NULL }, // 133 @@ -177,7 +178,7 @@ { "acrylia", "Acrylia Caverns" }, // 154 { "sharvahl", "Shar Vahl" }, // 155 { "paludal", "Paludal Caverns" }, // 156 -{ "fungusgrove", "Fungus Grove" }, // 157 +{ "fungusgrove", "The Fungus Grove" }, // 157 { "vexthal", "Vex Thal" }, // 158 { "sseru", "Sanctus Seru" }, // 159 { "katta", "Katta Castellum" }, // 160 @@ -199,18 +200,18 @@ { "umbral", "The Umbral Plains" }, // 176 { NULL, NULL }, // 177 { NULL, NULL }, // 178 -{ "akheva", "Akheva Ruins" }, // 179 -{ "arena2", "The Arena" }, // 180 -{ "jaggedpine", "The Jaggedpine Forest" }, // 181 +{ "akheva", "The Akheva Ruins" }, // 179 +{ "arena2", "arena2" }, // 180 +{ "jaggedpine", "Jaggedpine Forest" }, // 181 { "nedaria", "Nedaria's Landing" }, // 182 -{ "tutorial", "Tutorial Zone" }, // 183 -{ "load", "Loading" }, // 184 -{ "load2", "Loading" }, // 185 +{ "tutorial", "tutorial" }, // 183 +{ "load", "load" }, // 184 +{ "load2", "load2" }, // 185 { "hateplaneb", "The Plane of Hate" }, // 186 { "shadowrest", "Shadowrest" }, // 187 -{ "tutoriala", "The Mines of Gloomingdeep" }, // 188 -{ "tutorialb", "The Mines of Gloomingdeep" }, // 189 -{ "clz", "Loading" }, // 190 +{ "tutoriala", "tutoriala" }, // 188 +{ "tutorialb", "tutorialb" }, // 189 +{ "clz", "clz" }, // 190 { NULL, NULL }, // 191 { NULL, NULL }, // 192 { NULL, NULL }, // 193 @@ -221,115 +222,115 @@ { NULL, NULL }, // 198 { NULL, NULL }, // 199 { "codecay", "Ruins of Lxanvom" }, // 200 -{ "pojustice", "Plane of Justice" }, // 201 -{ "poknowledge", "Plane of Knowledge" }, // 202 -{ "potranquility", "Plane of Tranquility" }, // 203 -{ "ponightmare", "Plane of Nightmare" }, // 204 -{ "podisease", "Plane of Disease" }, // 205 -{ "poinnovation", "Plane of Innovation" }, // 206 -{ "potorment", "Plane of Torment" }, // 207 -{ "povalor", "Plane of Valor" }, // 208 -{ "bothunder", "Torden, The Bastion of Thunder" }, // 209 -{ "postorms", "Plane of Storms" }, // 210 -{ "hohonora", "Halls of Honor" }, // 211 -{ "solrotower", "Solusek Ro's Tower" }, // 212 -{ "powar", "Plane of War" }, // 213 -{ "potactics", "Drunder, Fortress of Zek" }, // 214 +{ "pojustice", "The Plane of Justice" }, // 201 +{ "poknowledge", "The Plane of Knowledge" }, // 202 +{ "potranquility", "The Plane of Tranquility" }, // 203 +{ "ponightmare", "The Plane of Nightmare" }, // 204 +{ "podisease", "The Plane of Disease" }, // 205 +{ "poinnovation", "The Plane of Innovation" }, // 206 +{ "potorment", "Torment, the Plane of Pain" }, // 207 +{ "povalor", "The Plane of Valor" }, // 208 +{ "bothunder", "Torden, the Bastion of Thunder" }, // 209 +{ "postorms", "The Plane of Storms" }, // 210 +{ "hohonora", "The Halls of Honor" }, // 211 +{ "solrotower", "The Tower of Solusek Ro" }, // 212 +{ "powar", "The Plane of War" }, // 213 +{ "potactics", "Drunder, the Fortress of Zek" }, // 214 { "poair", "Eryslai, the Kingdom of Wind" }, // 215 -{ "powater", "Reef of Coirnav" }, // 216 -{ "pofire", "Doomfire, The Burning Lands" }, // 217 +{ "powater", "The Reef of Coirnav" }, // 216 +{ "pofire", "Doomfire, the Burning Lands" }, // 217 { "poeartha", "Vegarlson, The Earthen Badlands" }, // 218 -{ "potimea", "Plane of Time" }, // 219 -{ "hohonorb", "Temple of Marr" }, // 220 -{ "nightmareb", "Lair of Terris Thule" }, // 221 -{ "poearthb", "Stronghold of the Twelve" }, // 222 -{ "potimeb", "Plane of Time" }, // 223 -{ "gunthak", "Gulf of Gunthak" }, // 224 +{ "potimea", "The Plane of Time" }, // 219 +{ "hohonorb", "The Temple of Marr" }, // 220 +{ "nightmareb", "The Lair of Terris-Thule" }, // 221 +{ "poearthb", "Ragrax, Stronghold of the Twelve" }, // 222 +{ "potimeb", "The Prison of the Forsaken" }, // 223 +{ "gunthak", "The Gulf of Gunthak" }, // 224 { "dulak", "Dulak's Harbor" }, // 225 -{ "torgiran", "Torgiran Mines" }, // 226 -{ "nadox", "Crypt of Nadox" }, // 227 -{ "hatesfury", "Hate's Fury, The Scorned Maiden" }, // 228 -{ "guka", "The Cauldron of Lost Souls" }, // 229 -{ "ruja", "The Bloodied Quarries" }, // 230 -{ "taka", "The Sunken Library" }, // 231 -{ "mira", "The Silent Gallery" }, // 232 -{ "mmca", "The Forlorn Caverns" }, // 233 -{ "gukb", "The Drowning Crypt" }, // 234 -{ "rujb", "The Halls of War" }, // 235 -{ "takb", "The Shifting Tower" }, // 236 -{ "mirb", "The Maw of the Menagerie" }, // 237 -{ "mmcb", "The Dreary Grotto" }, // 238 -{ "gukc", "The Ancient Aqueducts" }, // 239 -{ "rujc", "The Wind Bridges" }, // 240 -{ "takc", "The Fading Temple" }, // 241 -{ "mirc", "The Spider Den" }, // 242 -{ "mmcc", "The Asylum of Invoked Stone" }, // 243 -{ "gukd", "The Mushroom Grove" }, // 244 -{ "rujd", "The Gladiator Pits" }, // 245 -{ "takd", "The Royal Observatory" }, // 246 -{ "mird", "The Hushed Banquet" }, // 247 -{ "mmcd", "The Chambers of Eternal Affliction" }, // 248 -{ "guke", "The Foreboding Prison" }, // 249 -{ "ruje", "The Drudge Hollows" }, // 250 -{ "take", "The River of Recollection" }, // 251 -{ "mire", "The Frosted Halls" }, // 252 -{ "mmce", "The Sepulcher of the Damned" }, // 253 -{ "gukf", "The Chapel of the Witnesses" }, // 254 -{ "rujf", "The Fortified Lair of the Taskmasters" }, // 255 -{ "takf", "The Sandfall Corridors" }, // 256 -{ "mirf", "The Forgotten Wastes" }, // 257 -{ "mmcf", "The Ritualistic Summoning Grounds" }, // 258 -{ "gukg", "The Root Garden" }, // 259 -{ "rujg", "The Hidden Vale" }, // 260 -{ "takg", "The Balancing Chamber" }, // 261 -{ "mirg", "The Heart of the Menagerie" }, // 262 -{ "mmcg", "The Cesspits of Putrescence" }, // 263 -{ "gukh", "The Accursed Sanctuary" }, // 264 -{ "rujh", "The Blazing Forge" }, // 265 -{ "takh", "The Sweeping Tides" }, // 266 -{ "mirh", "The Morbid Laboratory" }, // 267 -{ "mmch", "The Aisles of Blood" }, // 268 -{ "ruji", "The Arena of Chance" }, // 269 -{ "taki", "The Antiquated Palace" }, // 270 -{ "miri", "The Theater of Imprisoned Horrors" }, // 271 -{ "mmci", "The Halls of Sanguinary Rites" }, // 272 -{ "rujj", "The Barracks of War" }, // 273 -{ "takj", "The Prismatic Corridors" }, // 274 -{ "mirj", "The Grand Library" }, // 275 -{ "mmcj", "The Infernal Sanctuary" }, // 276 -{ "chardokb", "The Halls of Betrayal" }, // 277 +{ "torgiran", "The Torgiran Mines" }, // 226 +{ "nadox", "The Crypt of Nadox" }, // 227 +{ "hatesfury", "Hate's Fury" }, // 228 +{ "guka", "Deepest Guk: Cauldron of Lost Souls" }, // 229 +{ "ruja", "The Rujarkian Hills: Bloodied Quarries" }, // 230 +{ "taka", "Takish-Hiz: Sunken Library" }, // 231 +{ "mira", "Miragul's Menagerie: Silent Gallery" }, // 232 +{ "mmca", "Mistmoore's Catacombs: Forlorn Caverns" }, // 233 +{ "gukb", "Deepest Guk: Drowning Crypt" }, // 234 +{ "rujb", "The Rujarkian Hills: Halls of War" }, // 235 +{ "takb", "Takish-Hiz: Shifting Tower" }, // 236 +{ "mirb", "Miragul's Menagerie: Maw of the Menagerie" }, // 237 +{ "mmcb", "Mistmoore's Catacombs: Dreary Grotto" }, // 238 +{ "gukc", "Deepest Guk: Ancient Aqueducts" }, // 239 +{ "rujc", "The Rujarkian Hills: Wind Bridges" }, // 240 +{ "takc", "Takish-Hiz: Fading Temple" }, // 241 +{ "mirc", "Miragul's Menagerie: Spider Den" }, // 242 +{ "mmcc", "Mistmoore's Catacombs: Asylum of Invoked Stone" }, // 243 +{ "gukd", "Deepest Guk: Mushroom Grove" }, // 244 +{ "rujd", "The Rujarkian Hills: Gladiator Pits" }, // 245 +{ "takd", "Takish-Hiz: Royal Observatory" }, // 246 +{ "mird", "Miragul's Menagerie: Hushed Banquet" }, // 247 +{ "mmcd", "Mistmoore's Catacombs: Chambers of Eternal Affliction" }, // 248 +{ "guke", "Deepest Guk: Foreboding Prison" }, // 249 +{ "ruje", "The Rujarkian Hills: Drudge Hollows" }, // 250 +{ "take", "Takish-Hiz: River of Recollection" }, // 251 +{ "mire", "Miragul's Menagerie: Frosted Halls" }, // 252 +{ "mmce", "Mistmoore's Catacombs: Sepulcher of the Damned" }, // 253 +{ "gukf", "Deepest Guk: Chapel of the Witnesses" }, // 254 +{ "rujf", "The Rujarkian Hills: Fortified Lair of the Taskmasters" }, // 255 +{ "takf", "Takish-Hiz: Sandfall Corridors" }, // 256 +{ "mirf", "Miragul's Menagerie: Forgotten Wastes" }, // 257 +{ "mmcf", "Mistmoore's Catacombs: Ritualistic Summoning Grounds" }, // 258 +{ "gukg", "Deepest Guk: Root Garden" }, // 259 +{ "rujg", "The Rujarkian Hills: Hidden Vale" }, // 260 +{ "takg", "Takish-Hiz: Balancing Chamber" }, // 261 +{ "mirg", "Miragul's Menagerie: Heart of the Menagerie" }, // 262 +{ "mmcg", "Mistmoore's Catacombs: Cesspits of Putrescence" }, // 263 +{ "gukh", "Deepest Guk: Accursed Sanctuary" }, // 264 +{ "rujh", "The Rujarkian Hills: Blazing Forge" }, // 265 +{ "takh", "Takish-Hiz: Sweeping Tides" }, // 266 +{ "mirh", "Miragul's Menagerie: Morbid Laboratory" }, // 267 +{ "mmch", "Mistmoore's Catacombs: Aisles of Blood" }, // 268 +{ "ruji", "The Rujarkian Hills: Arena of Chance" }, // 269 +{ "taki", "Takish-Hiz: Antiquated Palace" }, // 270 +{ "miri", "Miragul's Menagerie: Theater of Imprisoned Horrors" }, // 271 +{ "mmci", "Mistmoore's Catacombs: Halls of Sanguinary Rites" }, // 272 +{ "rujj", "The Rujarkian Hills: Barracks of War" }, // 273 +{ "takj", "Takish-Hiz: Prismatic Corridors" }, // 274 +{ "mirj", "Miragul's Menagerie: Grand Library" }, // 275 +{ "mmcj", "Mistmoore's Catacombs: Infernal Sanctuary" }, // 276 +{ "chardokb", "Chardok: The Halls of Betrayal" }, // 277 { "soldungc", "The Caverns of Exile" }, // 278 -{ "abysmal", "Abysmal Sea" }, // 279 -{ "natimbi", "Natimbi, The Broken Shores" }, // 280 +{ "abysmal", "The Abysmal Sea" }, // 279 +{ "natimbi", "Natimbi, the Broken Shores" }, // 280 { "qinimi", "Qinimi, Court of Nihilia" }, // 281 { "riwwi", "Riwwi, Coliseum of Games" }, // 282 { "barindu", "Barindu, Hanging Gardens" }, // 283 { "ferubi", "Ferubi, Forgotten Temple of Taelosia" }, // 284 { "snpool", "Sewers of Nihilia, Pool of Sludge" }, // 285 -{ "snlair", "Sewers of Nihilia, Lair of Trapped Ones..." }, // 286 +{ "snlair", "Sewers of Nihilia, Lair of Trapped Ones" }, // 286 { "snplant", "Sewers of Nihilia, Purifying Plant" }, // 287 -{ "sncrematory", "Sewers of Nihilia, the Crematory" }, // 288 +{ "sncrematory", "Sewers of Nihilia, Emanating Crematory" }, // 288 { "tipt", "Tipt, Treacherous Crags" }, // 289 -{ "vxed", "Vxed, The Crumbling Caverns" }, // 290 +{ "vxed", "Vxed, the Crumbling Caverns" }, // 290 { "yxtta", "Yxtta, Pulpit of Exiles" }, // 291 -{ "uqua", "Uqua, The Ocean God Chantry" }, // 292 +{ "uqua", "Uqua, the Ocean God Chantry" }, // 292 { "kodtaz", "Kod'Taz, Broken Trial Grounds" }, // 293 { "ikkinz", "Ikkinz, Chambers of Destruction" }, // 294 { "qvic", "Qvic, Prayer Grounds of Calling" }, // 295 -{ "inktuta", "Inktu`Ta, The Unmasked Chapel" }, // 296 +{ "inktuta", "Inktu'Ta, the Unmasked Chapel" }, // 296 { "txevu", "Txevu, Lair of the Elite" }, // 297 -{ "tacvi", "Tacvi, Seat of the Slaver" }, // 298 -{ "qvicb", "Qvic, the Hidden Vault" }, // 299 +{ "tacvi", "Tacvi, the Broken Temple" }, // 298 +{ "qvicb", "qvicb" }, // 299 { "wallofslaughter", "Wall of Slaughter" }, // 300 { "bloodfields", "The Bloodfields" }, // 301 { "draniksscar", "Dranik's Scar" }, // 302 { "causeway", "Nobles' Causeway" }, // 303 -{ "chambersa", "Muramite Proving Grounds" }, // 304 -{ "chambersb", "Muramite Proving Grounds" }, // 305 -{ "chambersc", "Muramite Proving Grounds" }, // 306 -{ "chambersd", "Muramite Proving Grounds" }, // 307 -{ "chamberse", "Muramite Proving Grounds" }, // 308 -{ "chambersf", "Muramite Proving Grounds" }, // 309 +{ "chambersa", "Proving Grounds" }, // 304 +{ "chambersb", "Proving Grounds" }, // 305 +{ "chambersc", "Proving Grounds" }, // 306 +{ "chambersd", "Proving Grounds" }, // 307 +{ "chamberse", "Proving Grounds" }, // 308 +{ "chambersf", "Proving Grounds" }, // 309 { NULL, NULL }, // 310 { NULL, NULL }, // 311 { NULL, NULL }, // 312 @@ -338,9 +339,9 @@ { NULL, NULL }, // 315 { "provinggrounds", "Muramite Proving Grounds" }, // 316 { "anguish", "Anguish, the Fallen Palace" }, // 317 -{ "dranikhollowsa", "Dranik's Hollows" }, // 318 -{ "dranikhollowsb", "Dranik's Hollows" }, // 319 -{ "dranikhollowsc", "Dranik's Hollows" }, // 320 +{ "dranikhollowsa", "Dranik's Hollows: Watering Hole" }, // 318 +{ "dranikhollowsb", "Dranik's Hollows: Fire Pit" }, // 319 +{ "dranikhollowsc", "Dranik's Hollows: Murkglider Hive" }, // 320 { "dranikhollowsd", "Dranik's Hollows" }, // 321 { "dranikhollowse", "Dranik's Hollows" }, // 322 { "dranikhollowsf", "Dranik's Hollows" }, // 323 @@ -355,7 +356,7 @@ { "draniksewersb", "Sewers of Dranik" }, // 332 { "draniksewersc", "Sewers of Dranik" }, // 333 { "riftseekers", "Riftseekers' Sanctum" }, // 334 -{ "harbingers", "Harbingers' Spire" }, // 335 +{ "harbingers", "Harbinger's Spire" }, // 335 { "dranik", "The Ruined City of Dranik" }, // 336 { "broodlands", "The Broodlands" }, // 337 { "stillmoona", "Stillmoon Temple" }, // 338 @@ -364,25 +365,25 @@ { "delvea", "Lavaspinner's Lair" }, // 341 { "delveb", "Tirranun's Delve" }, // 342 { "thenest", "The Accursed Nest" }, // 343 -{ "guildlobby", "The Guild Lobby" }, // 344 +{ "guildlobby", "Guild Lobby" }, // 344 { "guildhall", "Guild Hall" }, // 345 -{ "barter", "The Barter Hall" }, // 346 +{ "barter", "barter" }, // 346 { "illsalin", "Ruins of Illsalin" }, // 347 -{ "illsalina", "Imperial Bazaar" }, // 348 +{ "illsalina", "Illsalin Marketplace" }, // 348 { "illsalinb", "Temple of the Korlach" }, // 349 { "illsalinc", "The Nargilor Pits" }, // 350 { "dreadspire", "Dreadspire Keep" }, // 351 -{ "dreadspirea", "The Torture Chamber" }, // 352 -{ "dreadspireb", "The Artifact Room" }, // 353 +{ NULL, NULL }, // 352 +{ NULL, NULL }, // 353 { "drachnidhive", "The Hive" }, // 354 -{ "drachnidhivea", "Living Larder" }, // 355 -{ "drachnidhiveb", "Coven of the Skinwalkers" }, // 356 -{ "drachnidhivec", "Queen Sendaii's Lair" }, // 357 +{ "drachnidhivea", "The Hatchery" }, // 355 +{ "drachnidhiveb", "The Cocoons" }, // 356 +{ "drachnidhivec", "The Queen's Lair" }, // 357 { "westkorlach", "Stoneroot Falls" }, // 358 { "westkorlacha", "Chambers of Xill" }, // 359 { "westkorlachb", "Caverns of the Lost" }, // 360 { "westkorlachc", "Lair of the Korlach" }, // 361 -{ "eastkorlach", "Undershore" }, // 362 +{ "eastkorlach", "The Undershore" }, // 362 { "eastkorlacha", "Snarlstone Dens" }, // 363 { "shadowspine", "Shadowspine" }, // 364 { "corathus", "Corathus Creep" }, // 365 @@ -389,8 +390,8 @@ { "corathusa", "Sporali Caverns" }, // 366 { "corathusb", "Corathus Lair" }, // 367 { "nektulosa", "Shadowed Grove" }, // 368 -{ "arcstone", "Arcstone" }, // 369 -{ "relic", "Relic" }, // 370 +{ "arcstone", "Arcstone, Isle of Spirits" }, // 369 +{ "relic", "Relic, the Artifact City" }, // 370 { "skylance", "Skylance" }, // 371 { "devastation", "The Devastation" }, // 372 { "devastationa", "The Seething Wall" }, // 373 @@ -412,8 +413,8 @@ { "freeportcityhall", "City Hall" }, // 389 { "freeporttheater", "Theater" }, // 390 { "freeporthall", "Hall of Truth" }, // 391 -{ "northro", "North Ro" }, // 392 -{ "southro", "South Ro" }, // 393 +{ "northro", "North Desert of Ro" }, // 392 +{ "southro", "South Desert of Ro" }, // 393 { "crescent", "Crescent Reach" }, // 394 { "moors", "Blightfire Moors" }, // 395 { "stonehive", "Stone Hive" }, // 396 @@ -428,11 +429,11 @@ { "direwind", "Direwind Cliffs" }, // 405 { "ashengate", "Ashengate, Reliquary of the Scale" }, // 406 { "highpasshold", "Highpass Hold" }, // 407 -{ "commonlands", "Commonlands" }, // 408 -{ "oceanoftears", "Ocean of Tears" }, // 409 -{ "kithforest", "Kithicor Forest" }, // 410 -{ "befallenb", "Befallen" }, // 411 -{ "highpasskeep", "High Keep" }, // 412 +{ "commonlands", "The Commonlands" }, // 408 +{ "oceanoftears", "The Ocean of Tears" }, // 409 +{ "kithforest", "kithforest" }, // 410 +{ "befallenb", "befallenb" }, // 411 +{ "highpasskeep", "highpasskeep" }, // 412 { "innothuleb", "Innothule Swamp" }, // 413 { "toxxulia", "Toxxulia Forest" }, // 414 { "mistythicket", "Misty Thicket" }, // 415 @@ -468,17 +469,17 @@ { "bloodmoon", "Bloodmoon Keep" }, // 445 { "crystallos", "Crystallos, Lair of the Awakened" }, // 446 { "guardian", "The Mechamatic Guardian" }, // 447 -{ "steamfontmts", "Steamfont Mountains" }, // 448 +{ "steamfontmts", "The Steamfont Mountains" }, // 448 { "cryptofshade", "Crypt of Shade" }, // 449 { "dragonscalea", "Tinmizer's Wunderwerks" }, // 450 { "dragonscaleb", "Deepscar's Den" }, // 451 { "oldfieldofbone", "Field of Scale" }, // 452 { "oldkaesoraa", "Kaesora Library" }, // 453 -{ "oldkaesorab", "Hatchery Wing" }, // 454 +{ "oldkaesorab", "Kaesora Hatchery" }, // 454 { "oldkurn", "Kurn's Tower" }, // 455 { "oldkithicor", "Bloody Kithicor" }, // 456 { "oldcommons", "Old Commonlands" }, // 457 -{ "oldhighpass", "Highpass Hold" }, // 458 +{ "oldhighpass", "oldhighpass" }, // 458 { "thevoida", "The Void" }, // 459 { "thevoidb", "The Void" }, // 460 { "thevoidc", "The Void" }, // 461 @@ -493,18 +494,18 @@ { "discord", "Korafax, Home of the Riders" }, // 470 { "discordtower", "Citadel of the Worldslayer" }, // 471 { "oldbloodfield", "Old Bloodfields" }, // 472 -{ "precipiceofwar", "The Precipice of War" }, // 473 +{ "precipiceofwar", "Precipice of War" }, // 473 { "olddranik", "City of Dranik" }, // 474 { "toskirakk", "Toskirakk" }, // 475 { "korascian", "Korascian Warrens" }, // 476 -{ "rathechamber", "Rathe Council Chambers" }, // 477 +{ "rathechamber", "Rathe Council Chamber" }, // 477 { "oldfieldofboneb", "Field of Scale" }, // 478 -{ "crafthalls", "Ngreth's Den" }, // 479 +{ "crafthalls", "crafthalls" }, // 479 { "brellsrest", "Brell's Rest" }, // 480 { "fungalforest", "Fungal Forest" }, // 481 { "underquarry", "The Underquarry" }, // 482 { "coolingchamber", "The Cooling Chamber" }, // 483 -{ "shiningcity", "Kernagir, The Shining City" }, // 484 +{ "shiningcity", "Kernagir, the Shining City" }, // 484 { "arthicrex", "Arthicrex" }, // 485 { "foundation", "The Foundation" }, // 486 { "lichencreep", "Lichen Creep" }, // 487 @@ -734,16 +735,16 @@ { "thuledream", "Fear Itself" }, // 711 { "neighborhood", "Sunrise Hills" }, // 712 { "phylactery", "Miragul's Phylactery" }, // 713 -{ "phinterior3a1", "House Interior" }, // 714 -{ "phinterior1a1", "House Interior" }, // 715 -{ "phinterior3a2", "House Interior" }, // 716 -{ "phinterior3a3", "House Interior" }, // 717 -{ "phinterior1a2", "House Interior" }, // 718 -{ "phinterior1a3", "House Interior" }, // 719 -{ "phinterior1b1", "Dragon House Interior" }, // 720 +{ "phinterior3a1", "Three Room House Interior" }, // 714 +{ "phinterior1a1", "One Room House Interior" }, // 715 +{ "phinterior3a2", "Three Room House Interior" }, // 716 +{ "phinterior3a3", "Three Room House Interior" }, // 717 +{ "phinterior1a2", "One Room House Interior" }, // 718 +{ "phinterior1a3", "One Room House Interior" }, // 719 +{ "phinterior1b1", "One Room House Interior" }, // 720 { NULL, NULL }, // 721 { NULL, NULL }, // 722 -{ "phinterior1d1", "Dragon House Interior" }, // 723 +{ "phinterior1d1", "Hermit's Hideaway Interior" }, // 723 { "argath", "Argath, Bastion of Illdaera" }, // 724 { "arelis", "Valley of Lunanyn" }, // 725 { "sarithcity", "Sarith, City of Tides" }, // 726 @@ -779,15 +780,15 @@ { "crystalshard", "The Crystal Caverns: Fragment of Fear" }, // 756 { "breedinggrounds", "The Breeding Grounds" }, // 757 { "eviltree", "Evantil, the Vile Oak" }, // 758 -{ "grelleth", "Grelleth's Palace, the Chateau of Filth..." }, // 759 +{ "grelleth", "Grelleth's Palace, the Chateau of Filth" }, // 759 { "chapterhouse", "Chapterhouse of the Fallen" }, // 760 -{ "pomischief", "The Plane of Mischief" }, // 761 -{ "burnedwoods", "The Burned Woods" }, // 762 +{ "pomischief", "pomischief" }, // 761 +{ "burnedwoods", "burnedwoods" }, // 762 { "chelsithreborn", "Chelsith Reborn" }, // 763 { "poshadow", "Plane of Shadow" }, // 764 { "heartoffear", "Heart of Fear: The Threshold" }, // 765 { "phinteriortree", "Evantil's Abode" }, // 766 -{ "interiorwalltest", "Wall Wall Wall" }, // 767 +{ "interiorwalltest", "interiorwalltest" }, // 767 { "heartoffearb", "Heart of Fear: The Rebirth" }, // 768 { "heartoffearc", "Heart of Fear: The Epicenter" }, // 769 { "bixiewarfront", "Bixie Warfront" }, // 770 @@ -806,11 +807,11 @@ { "thuliasaur", "Thuliasaur Island" }, // 783 { "degmar", "Degmar, the Lost Castle" }, // 784 { "tempesttemple", "Tempest Temple" }, // 785 -{ "plhpirateshipint", "Pirate Ship" }, // 786 +{ "plhpirateshipint", "The Wayward Lady" }, // 786 { "gnomemtn", "Gnome Memorial Mountain" }, // 787 { "drogab", "The Temple of Droga" }, // 788 { "charasisb", "Sathir's Tomb" }, // 789 -{ "scorchedwoods", "Scorched Woods" }, // 790 +{ "scorchedwoods", "The Scorched Woods" }, // 790 { "frontiermtnsb", "Frontier Mountains" }, // 791 { "gorowyn", "Gorowyn" }, // 792 { "korshaext", "Gates of Kor-Sha" }, // 793 @@ -834,16 +835,16 @@ { NULL, NULL }, // 811 { NULL, NULL }, // 812 { "charasistwo", "Howling Stones" }, // 813 -{ "skyfiretwo", "Skyfire Mountains" }, // 814 +{ "skyfiretwo", "The Skyfire Mountains" }, // 814 { "overtheretwo", "The Overthere" }, // 815 { "veeshantwo", "Veeshan's Peak" }, // 816 { "trialsofsmoke", "Plane of Smoke" }, // 817 { "stratos", "Stratos: Zephyr's Flight" }, // 818 -{ "aalishai", "Aslishai: Palace of Embers" }, // 819 +{ "aalishai", "Aalishai: Palace of Embers" }, // 819 { "empyr", "Empyr: Realms of Ash" }, // 820 { "esianti", "Esianti: Palace of the Winds" }, // 821 { "mearatas", "Mearatas: The Stone Demesne" }, // 822 -{ "chamberoftears", "The Chamber of Tears" }, // 823 +{ "chamberoftears", "Chamber of Tears" }, // 823 { "eastwastestwo", "The Eastern Wastes" }, // 824 { "frozenshadowtwo", "The Tower of Frozen Shadow" }, // 825 { "crystaltwoa", "The Ry`Gorr Mines" }, // 826 @@ -856,14 +857,14 @@ { "cobaltscartwo", "Cobalt Scar" }, // 833 { "westwastestwo", "The Western Wastes" }, // 834 { "skyshrinetwo", "Skyshrine" }, // 835 -{ "templeveeshantwo", "Temple of Veeshan" }, // 836 -{ NULL, NULL }, // 837 -{ NULL, NULL }, // 838 -{ NULL, NULL }, // 839 -{ NULL, NULL }, // 840 -{ NULL, NULL }, // 841 -{ NULL, NULL }, // 842 -{ "maidentwo", "The Maiden's Eye" }, // 843 +{ "templeveeshantwo", "The Temple of Veeshan" }, // 836 +{ "clz-winter", "Winter" }, // 837 +{ "clz-anniversary", "Anniversary" }, // 838 +{ "clz-spring", "Spring" }, // 839 +{ "clz-autumn", "Autumn" }, // 840 +{ "clz-frostfell", "Frostfell" }, // 841 +{ "clz-af", "April Fools" }, // 842 +{ "maidentwo", "Maiden's Eye" }, // 843 { "umbraltwo", "Umbral Plains" }, // 844 { "akhevatwo", "Ka Vethan" }, // 845 { "vexthaltwo", "Vex Thal" }, // 846 @@ -886,10 +887,10 @@ { "moorsofnokk", "Moors of Nokk" }, // 863 { "unkemptwoods", "Unkempt Woods" }, // 864 { "timorousfalls", "Timorous Falls" }, // 865 -{ NULL, NULL }, // 866 +{ "clz-tempest", "Tempest Festival" }, // 866 { NULL, NULL }, // 867 { NULL, NULL }, // 868 -{ NULL, NULL }, // 869 +{ "anniversarytower", "Tides of Time" }, // 869 { NULL, NULL }, // 870 { NULL, NULL }, // 871 { NULL, NULL }, // 872 @@ -896,7 +897,7 @@ { NULL, NULL }, // 873 { NULL, NULL }, // 874 { NULL, NULL }, // 875 -{ NULL, NULL }, // 876 +{ "clz-25anniversary", "clz-25anniversary" }, // 876 { NULL, NULL }, // 877 { NULL, NULL }, // 878 { NULL, NULL }, // 879 @@ -1016,7 +1017,7 @@ { NULL, NULL }, // 993 { NULL, NULL }, // 994 { NULL, NULL }, // 995 -{ "arttest", "Art Testing Domain" }, // 996 +{ "arttest", "The Pit of Rathpher" }, // 996 { NULL, NULL }, // 997 { "fhalls", "The Forgotten Halls" }, // 998 -{ "apprentice", "Designer Apprentice" }, // 999 +{ "apprentice", "apprentice" }, // 999 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2024-08-26 22:39:26
|
Revision: 1544 http://sourceforge.net/p/seq/svn/1544 Author: cn187 Date: 2024-08-26 22:39:24 +0000 (Mon, 26 Aug 2024) Log Message: ----------- Add ida helper script for generating zones.h Added Paths: ----------- showeq/trunk/scripts/ida/ showeq/trunk/scripts/ida/gen_zones_h.py Added: showeq/trunk/scripts/ida/gen_zones_h.py =================================================================== --- showeq/trunk/scripts/ida/gen_zones_h.py (rev 0) +++ showeq/trunk/scripts/ida/gen_zones_h.py 2024-08-26 22:39:24 UTC (rev 1544) @@ -0,0 +1,294 @@ + +import datetime +import sys +import idautils + +""" Generate ShowEQ's zones.h from eggame.exe and Resources/ZoneNames.txt + + NOTE: Requires IDA and python3 + + To use this script: + 1. Open eqgame.exe in IDA, and let IDA complete its analysis. + 2. Select View->Recent Scripts + 3. In the Recent Scripts tab, press Insert, and browse to the location + of this script. Select this script and click "Open". + 4. An entry for this script now appears in the list of scripts. + Double-click it to load it. + 5. (optional) right click in the output window and select "Clear". This + will reduce the extra stuff you have to delete when you copy/paste + 6. At the idapython command line, run + + dump_zones('/path/to/ZoneNames.txt') + + Note: ZoneNames.txt is found in your EQ client directory, under the + Resources subdirectory. If you want you can copy it to somewhere + convenient (e.g., /tmp), then pass that path to dump_zones. + 7. Create a new file (e.g. zones.h.new) + 8. Right-click in the output window, select "Select All", then "Copy". + 9. Paste into the file you created in step 7 + 10. There will be a couple of lines (or more if you skipped step 5) at + the top of the file (before the start of the block comment containing + the copyright/license info) that need to be deleted. Basically, + delete everything before the line consisting of "/*" + 11. Save the file + 12. As a sanity check, diff with zones.h to see what changed. This is + important in case the way the code works changed, or there's a bug + in the script - we don't want to commit an empty or otherwise bad + zones file. + 13. If everything looks good, rename your new file to zones.h and replace + the existing zones.h. + 14. Do a test compile to make sure everything is good. + 15. Commit changes. +""" + +def find_string_refs_to(haystack, needle): + refs = set() + for s in haystack: + if str(s) == needle: + for x in idautils.XrefsTo(s.ea): + refs.add(x.to) + return refs + +def find_string_refs_from(haystack, needle): + refs = set() + for s in haystack: + if str(s) == needle: + for x in idautils.XrefsTo(s.ea): + refs.add(x.frm) + return refs + + +def get_worlddata_start(ida_strings=None): + + if not ida_strings: + strings = idautils.Strings(True) + else: + strings = ida_strings + + key_string = 'EQWorldData::EQWorldData' + + eas = find_string_refs_from(strings, key_string) + + if len(eas) == 1: + ea = eas.pop() + return ea + else: + return None + + +# NOTE we could grab the addresses of EQWorldData::EQWorldData and Unknown Zone +# and use those for addr boundaries when looking for zone string loads +# (if there are too many conflicting loads in amongst the ones we want) + +# NOTE also, if we have to, we could determine exact reg numbers based on known +# zone names, with the assumption that the compiler will reuse the same registers +# throughout the function +def get_next_zone_loaded(cur_ea, end_ea, rnum=None): + ea = cur_ea + + while ea < end_ea: + mnem = idc.print_insn_mnem(ea) + if mnem == "lea": + if idc.get_operand_type(ea, 0) != o_reg: + ea = idc.next_head(ea) + continue + if rnum is not None and idc.get_operand_value(ea, 0) != rnum: + ea = idc.next_head(ea) + continue + if idc.get_operand_type(ea, 1) != o_mem: + ea = idc.next_head(ea) + continue + string = idc.get_strlit_contents(idc.get_operand_value(ea, 1)) + if not string: + ea = idc.next_head(ea) + continue + return ea, idc.get_strlit_contents(idc.get_operand_value(ea, 1)).decode('ascii') + ea = idc.next_head(ea) + + return ea, None + + + +def get_next_file_index(cur_ea, end_ea, rnum=None): + ea = cur_ea + + offset = 0 + backtrack = False + + while ea < end_ea: + mnem = idc.print_insn_mnem(ea) + if mnem == "lea": + if idc.get_operand_type(ea, 0) != o_reg: + ea = idc.next_head(ea) + continue + if rnum is not None and idc.get_operand_value(ea, 0) != rnum: + ea = idc.next_head(ea) + continue + if idc.get_operand_type(ea, 1) != o_displ: + ea = idc.next_head(ea) + continue + backtrack = True + break + elif mnem == "mov": + if idc.get_operand_type(ea, 0) != o_reg: + ea = idc.next_head(ea) + continue + if rnum is not None and idc.get_operand_value(ea, 0) != rnum: + ea = idc.next_head(ea) + continue + if idc.get_operand_type(ea, 1) != o_imm: + ea = idc.next_head(ea) + continue + return ea, idc.get_operand_value(ea, 1) + ea = idc.next_head(ea) + + if backtrack: + prev = idc.prev_head(ea) + mnem = idc.print_insn_mnem(prev) + if mnem == "xor" and \ + idc.get_operand_type(prev, 0) == o_reg and \ + idc.get_operand_type(prev,1) == o_reg: + return ea, idc.get_operand_value(ea, 1) + + if mnem != "mov" or \ + idc.get_operand_type(prev, 0) != o_reg or\ + idc.get_operand_type(prev, 1) != o_imm: + sys.stderr.write("Backtrack failed at " + hex(prev) + '\n') + return ea, -1 + + offset = idc.get_operand_value(prev, 1) + + return ea, idc.get_operand_value(ea, 1) + offset + + return ea, -1 + +def find_qeynos_load(cur_ea, end_ea): + ea = cur_ea + + while ea < end_ea: + ea, shortzone = get_next_zone_loaded(ea, end_ea) + if shortzone != 'qeynos': + ea = idc.next_head(ea) + continue + + rnum = idc.get_operand_value(ea, 0) + + return ea, shortzone, rnum + +def find_qeynos_index(cur_ea, end_ea): + ea = cur_ea + + while ea < end_ea: + ea, idx = get_next_file_index(ea, end_ea) + if idx != 1: + ea = idc.next_head(ea) + continue + + rnum = idc.get_operand_value(ea, 0) + + return ea, idx, rnum + + + + +# if you know the address where "EQWorldData::EQWorldData" is loaded, you can +# pass it as the start_ea +def dump_zones(zonenames_path=None, ida_strings=None, start_ea=None): + + if not zonenames_path: + sys.stderr.write("Path to ZoneNames.txt is required\n") + return + + if not ida_strings: + strings = idautils.Strings(True) + else: + strings = ida_strings + + if not start_ea: + start_ea = get_worlddata_start(strings) + if not start_ea: + sys.stderr.write("Could not find unique start ea. Found: " + eas + '\n') + return + + wd_func = ida_funcs.get_func(start_ea) + func_end = wd_func.end_ea + + cur_ea, shortzone, zone_regnum = find_qeynos_load(idc.next_head(start_ea), func_end) + if not cur_ea: + sys.stderr.write("Could not find first zone load\n") + return + + cur_ea, idx, idx_regnum = find_qeynos_index(idc.next_head(start_ea), func_end) + if not cur_ea: + sys.stderr.write("Could not find first load index\n") + return + + zonenames = {} + zones = {} + + with open(zonenames_path, 'r') as f: + for line in f.readlines(): + index, zonename, _, _ = line.split('^') + if index == "ZONE": + continue + zonenames[int(index)] = zonename.strip() + + #print(idx, shortzone, zonenames[idx]) + zones[idx] = (idx, shortzone, zonenames[idx]) + + while cur_ea < func_end: + cur_ea, shortzone = get_next_zone_loaded(cur_ea, func_end, zone_regnum) + if not shortzone: + break + + cur_ea = idc.next_head(cur_ea) + cur_ea, idx = get_next_file_index(cur_ea, func_end, idx_regnum) + if idx < 0: + break; + + if idx not in zonenames: + cur_ea = idc.next_head(cur_ea) + #sys.stderr.write("Did not find index {} for zone {} in ZoneNames.txt\n".format(idx, shortzone)) + zones[idx] = (idx, shortzone, shortzone) + else: + #print(idx, shortzone, zonenames[idx]) + zones[idx] = (idx, shortzone, zonenames[idx]) + + cur_ea = idc.next_head(cur_ea) + + + keys = sorted(zones.keys()) + last_idx = keys[-1] + current_year=datetime.datetime.now().year + print(f"""/* + * zones.h + * Copyright 2003-{current_year} by the respective ShowEQ Developers + * + * This file is part of ShowEQ. + * http://www.sourceforge.net/projects/seq + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* Maps zoneId numbers to strings, used in util.cpp */""") + + for i in range(0, last_idx+1): + if i in zones: + idx, shortzone, longzone = zones[i] + print('{{ "{}", "{}" }}, // {}'.format(shortzone, longzone, idx)) + else: + print('{{ NULL, NULL }}, // {}'.format(i)) + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |