From 810fdf3ccac7aec22200ada95cd893ac85a48163 Mon Sep 17 00:00:00 2001 From: Derision Date: Fri, 15 Mar 2013 19:37:29 +0000 Subject: [PATCH 1/2] Resurrection - Fix for RoF + fixed a couple of memory leaks. --- changelog.txt | 3 +++ common/patches/RoF.cpp | 37 ++++++++++++++++++++++++++++++++++++ common/patches/RoF_ops.h | 2 ++ common/patches/RoF_structs.h | 31 ++++++++++++++++-------------- zone/PlayerCorpse.cpp | 2 +- zone/client_packet.cpp | 7 +++---- 6 files changed, 63 insertions(+), 19 deletions(-) diff --git a/changelog.txt b/changelog.txt index 071d940b4..5a91b9e74 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,8 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50) ------------------------------------------------------- +== 03/15/2013 == +Derision: RoF: Added ENCODE for Resurrect_struct (Accepting a rez should now work). +Derision: Fixed a couple of memory leaks in Rez code. == 03/14/2013 == JJ: (NatedogEZ) Fix for hate list random never selecting last member of hate list. diff --git a/common/patches/RoF.cpp b/common/patches/RoF.cpp index 97cfd927a..0f5bcaa3f 100644 --- a/common/patches/RoF.cpp +++ b/common/patches/RoF.cpp @@ -3987,6 +3987,24 @@ ENCODE(OP_BeginCast) FINISH_ENCODE(); } +ENCODE(OP_RezzRequest) +{ + SETUP_DIRECT_ENCODE(Resurrect_Struct, structs::Resurrect_Struct); + + OUT(zone_id); + OUT(instance_id); + OUT(y); + OUT(x); + OUT(z); + OUT_str(your_name); + OUT_str(rezzer_name); + OUT(spellid); + OUT_str(corpse_name); + OUT(action); + + FINISH_ENCODE(); +} + DECODE(OP_BuffRemoveRequest) { // This is to cater for the fact that short buff box buffs start at 30 as opposed to 25 in prior clients. @@ -4777,6 +4795,25 @@ DECODE(OP_GuildStatus) FINISH_DIRECT_DECODE(); } +DECODE(OP_RezzAnswer) +{ + DECODE_LENGTH_EXACT(structs::Resurrect_Struct); + SETUP_DIRECT_DECODE(Resurrect_Struct, structs::Resurrect_Struct); + + IN(zone_id); + IN(instance_id); + IN(y); + IN(x); + IN(z); + memcpy(emu->your_name, eq->your_name, sizeof(emu->your_name)); + memcpy(emu->rezzer_name, eq->rezzer_name, sizeof(emu->rezzer_name)); + IN(spellid); + memcpy(emu->corpse_name, eq->corpse_name, sizeof(emu->corpse_name)); + IN(action); + + FINISH_DIRECT_DECODE(); +} + uint32 NextItemInstSerialNumber = 1; uint32 MaxInstances = 2000000000; diff --git a/common/patches/RoF_ops.h b/common/patches/RoF_ops.h index 159607a72..9e3a91c7e 100644 --- a/common/patches/RoF_ops.h +++ b/common/patches/RoF_ops.h @@ -100,6 +100,7 @@ E(OP_MercenaryDataResponse) E(OP_GuildMemberUpdate) E(OP_GMLastName) E(OP_BeginCast) +E(OP_RezzRequest) //list of packets we need to decode on the way in: D(OP_SetServerFilter) D(OP_CharacterCreate) @@ -156,5 +157,6 @@ D(OP_GuildRemove) D(OP_GuildStatus) D(OP_Trader) D(OP_GMLastName) +D(OP_RezzAnswer) #undef E #undef D diff --git a/common/patches/RoF_structs.h b/common/patches/RoF_structs.h index df428ffdf..f3565d2ce 100644 --- a/common/patches/RoF_structs.h +++ b/common/patches/RoF_structs.h @@ -2792,20 +2792,23 @@ struct Underworld_Struct { float z; }; -struct Resurrect_Struct { - uint32 unknown00; - uint16 zone_id; - uint16 instance_id; - float y; - float x; - float z; - char your_name[64]; - uint32 unknown88; - char rezzer_name[64]; - uint32 spellid; - char corpse_name[64]; - uint32 action; -/* 228 */ +struct Resurrect_Struct +{ +/*000*/ uint32 unknown000; +/*004*/ uint16 zone_id; +/*006*/ uint16 instance_id; +/*008*/ float y; +/*012*/ float x; +/*016*/ float z; +/*020*/ uint32 unknown020; +/*024*/ char your_name[64]; +/*088*/ uint32 unknown088; +/*092*/ char rezzer_name[64]; +/*156*/ uint32 spellid; +/*160*/ char corpse_name[64]; +/*224*/ uint32 action; +/*228*/ uint32 unknown228; +/*232*/ }; struct SetRunMode_Struct { diff --git a/zone/PlayerCorpse.cpp b/zone/PlayerCorpse.cpp index 82da1a827..9140a5914 100644 --- a/zone/PlayerCorpse.cpp +++ b/zone/PlayerCorpse.cpp @@ -1578,9 +1578,9 @@ uint32 ZoneDatabase::UpdatePlayerCorpse(uint32 dbid, uint32 charid, const char* } if(rezzed){ if (!RunQuery(query, MakeAnyLenString(&query, "update player_corpses set rezzed = 1 WHERE id=%d",dbid), errbuf)) { - safe_delete_array(query); cerr << "Error in UpdatePlayerCorpse/Rezzed query: " << errbuf << endl; } + safe_delete_array(query); } return dbid; } diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 302a72ddc..6369af127 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -4768,10 +4768,8 @@ void Client::Handle_OP_InstillDoubt(const EQApplicationPacket *app) void Client::Handle_OP_RezzAnswer(const EQApplicationPacket *app) { - if (app->size != sizeof(Resurrect_Struct)) { - LogFile->write(EQEMuLog::Error, "Wrong size: OP_RezzAnswer, size=%i, expected %i", app->size, sizeof(Resurrect_Struct)); - return; - } + VERIFY_PACKET_LENGTH(OP_RezzAnswer, app, Resurrect_Struct); + const Resurrect_Struct* ra = (const Resurrect_Struct*) app->pBuffer; _log(SPELLS__REZ, "Received OP_RezzAnswer from client. Pendingrezzexp is %i, action is %s", @@ -4788,6 +4786,7 @@ void Client::Handle_OP_RezzAnswer(const EQApplicationPacket *app) // the rezzed corpse is in to mark the corpse as rezzed. outapp->SetOpcode(OP_RezzComplete); worldserver.RezzPlayer(outapp, 0, 0, OP_RezzComplete); + safe_delete(outapp); } return; } From 7c264ad0974329e980dc030f38bdbd8ba67fefa2 Mon Sep 17 00:00:00 2001 From: Derision Date: Sat, 16 Mar 2013 19:56:09 +0000 Subject: [PATCH 2/2] EQExtractor2 update. --- utils/EQExtractor2/.gitignore | 39 + utils/EQExtractor2/EQExtractor2/ChangeLog.txt | 3 + .../EQExtractor2/EQApplicationLayer.cs | 2 + .../EQExtractor2/EQExtractor2.csproj | 4 + .../EQExtractor2/EQExtractor2Form1.cs | 2 +- .../EQExtractor2/PacketDotNet.dll | Bin 0 -> 90624 bytes .../EQExtractor2/PatchDecember10-2012.cs | 6 +- .../EQExtractor2/PatchFebruary11-2013.cs | 754 +++++++++++++++++- .../EQExtractor2/PatchMarch13-2013.cs | 79 ++ utils/EQExtractor2/EQExtractor2/SharpPcap.dll | Bin 0 -> 38400 bytes utils/EQExtractor2/EQExtractor2/log4net.dll | Bin 0 -> 243712 bytes .../EQExtractor2/patch_Mar13-2013.conf | 653 +++++++++++++++ utils/EQExtractor2/EQExtractor2/zlib.net.dll | Bin 0 -> 69632 bytes 13 files changed, 1539 insertions(+), 3 deletions(-) create mode 100644 utils/EQExtractor2/.gitignore create mode 100644 utils/EQExtractor2/EQExtractor2/PacketDotNet.dll create mode 100644 utils/EQExtractor2/EQExtractor2/PatchMarch13-2013.cs create mode 100644 utils/EQExtractor2/EQExtractor2/SharpPcap.dll create mode 100644 utils/EQExtractor2/EQExtractor2/log4net.dll create mode 100644 utils/EQExtractor2/EQExtractor2/patch_Mar13-2013.conf create mode 100644 utils/EQExtractor2/EQExtractor2/zlib.net.dll diff --git a/utils/EQExtractor2/.gitignore b/utils/EQExtractor2/.gitignore new file mode 100644 index 000000000..bacb2196c --- /dev/null +++ b/utils/EQExtractor2/.gitignore @@ -0,0 +1,39 @@ +# Object files +*.o +*.obj + +# Libraries +*.lib +*.a + +# Shared objects +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app + +# CMake +CMakeCache.txt +CMakeFiles +Makefile +cmake_install.cmake +install_manifest.txt +Build/ +build/ +Build32/ +build32/ +Build64/ +build64/ +Build_32/ +build_32/ +Build_64/ +build_64/ +log/ +logs/ +bin/ +obj/ +*.suo diff --git a/utils/EQExtractor2/EQExtractor2/ChangeLog.txt b/utils/EQExtractor2/EQExtractor2/ChangeLog.txt index bafe7d8d5..5a9813b76 100644 --- a/utils/EQExtractor2/EQExtractor2/ChangeLog.txt +++ b/utils/EQExtractor2/EQExtractor2/ChangeLog.txt @@ -1,5 +1,8 @@ EQExtractor2 Changelog. All changes since the 1.0 release. +==03/16/2013== +Derision: Added decoder to support packet dumps from current Live client. SQL generation NOT SUPPORTED YET. + ==02/13/2013== Derision: Added decoder to support packet dumps from current Live client. SQL generation NOT SUPPORTED YET. Derision: Added boolean to patch decoders to indicate if they support SQL generation or not. diff --git a/utils/EQExtractor2/EQExtractor2/EQApplicationLayer.cs b/utils/EQExtractor2/EQExtractor2/EQApplicationLayer.cs index a3c9a898f..b6732ca82 100644 --- a/utils/EQExtractor2/EQExtractor2/EQApplicationLayer.cs +++ b/utils/EQExtractor2/EQExtractor2/EQApplicationLayer.cs @@ -102,6 +102,8 @@ namespace EQApplicationLayer PatchList.Add(new PatchTestServerFebruary52013Decoder()); PatchList.Add(new PatchFebruary112013Decoder()); + + PatchList.Add(new PatchMarch132013Decoder()); PatchList.Add(new PatchSoD()); diff --git a/utils/EQExtractor2/EQExtractor2/EQExtractor2.csproj b/utils/EQExtractor2/EQExtractor2/EQExtractor2.csproj index 8266329f1..6e56a9c58 100644 --- a/utils/EQExtractor2/EQExtractor2/EQExtractor2.csproj +++ b/utils/EQExtractor2/EQExtractor2/EQExtractor2.csproj @@ -92,6 +92,7 @@ + @@ -163,6 +164,9 @@ Always + + Always + Always diff --git a/utils/EQExtractor2/EQExtractor2/EQExtractor2Form1.cs b/utils/EQExtractor2/EQExtractor2/EQExtractor2Form1.cs index 33f6d9645..c2f2edeb8 100644 --- a/utils/EQExtractor2/EQExtractor2/EQExtractor2Form1.cs +++ b/utils/EQExtractor2/EQExtractor2/EQExtractor2Form1.cs @@ -18,7 +18,7 @@ namespace EQExtractor2 { public partial class EQExtractor2Form1 : Form { - string Version = "EQExtractor2 Version 2.6.0 SVN"; + string Version = "EQExtractor2 Version 2.6.1 SVN"; static int PacketsSeen = 0; static long BytesRead = 0; diff --git a/utils/EQExtractor2/EQExtractor2/PacketDotNet.dll b/utils/EQExtractor2/EQExtractor2/PacketDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..560b03feeb7c309222b903e2534961cd9f0154d9 GIT binary patch literal 90624 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 I|4sw{4&uprLjV8( literal 0 HcmV?d00001 diff --git a/utils/EQExtractor2/EQExtractor2/PatchDecember10-2012.cs b/utils/EQExtractor2/EQExtractor2/PatchDecember10-2012.cs index 4d36525f4..4b9c29479 100644 --- a/utils/EQExtractor2/EQExtractor2/PatchDecember10-2012.cs +++ b/utils/EQExtractor2/EQExtractor2/PatchDecember10-2012.cs @@ -546,7 +546,10 @@ namespace EQExtractor2.Patches public void DecodeItemPacket(StreamWriter OutputStream, ByteStream Buffer, PacketDirection Direction) { String UnkString = Buffer.ReadString(false); - Buffer.SkipBytes(88); + //Buffer.SkipBytes(88); + Buffer.SkipBytes(35); + UInt32 RecastTimer = Buffer.ReadUInt32(); + Buffer.SkipBytes(49); String ItemName = Buffer.ReadString(false); String ItemLore = Buffer.ReadString(false); String ItemIDFile = Buffer.ReadString(false); @@ -554,6 +557,7 @@ namespace EQExtractor2.Patches UInt32 ItemID = Buffer.ReadUInt32(); OutputStream.WriteLine("ItemName: {0}, IDFile: {1}", ItemName, ItemIDFile); + OutputStream.WriteLine("Recast Time: {0:X}", RecastTimer); Buffer.SkipBytes(251); diff --git a/utils/EQExtractor2/EQExtractor2/PatchFebruary11-2013.cs b/utils/EQExtractor2/EQExtractor2/PatchFebruary11-2013.cs index b3213b6ff..2464e6f2d 100644 --- a/utils/EQExtractor2/EQExtractor2/PatchFebruary11-2013.cs +++ b/utils/EQExtractor2/EQExtractor2/PatchFebruary11-2013.cs @@ -17,7 +17,759 @@ namespace EQExtractor2.Patches PatchConfFileName = "patch_Feb11-2013.conf"; + PacketsToMatch = new PacketToMatch[] { + new PacketToMatch { OPCodeName = "OP_ZoneEntry", Direction = PacketDirection.ClientToServer, RequiredSize = 76, VersionMatched = false }, + new PacketToMatch { OPCodeName = "OP_PlayerProfile", Direction = PacketDirection.ServerToClient, RequiredSize = -1, VersionMatched = true }, + }; + SupportsSQLGeneration = false; - } + } + + public override void RegisterExplorers() + { + //OpManager.RegisterExplorer("OP_PlayerProfile", ExplorePlayerProfile); + //OpManager.RegisterExplorer("OP_CharInventory", ExploreInventory); + } + + public void DecodeItemPacket(StreamWriter OutputStream, ByteStream Buffer, PacketDirection Direction) + { + String UnkString = Buffer.ReadString(false); + //Buffer.SkipBytes(88); + Buffer.SkipBytes(35); + UInt32 RecastTimer = Buffer.ReadUInt32(); + Buffer.SkipBytes(49); + String ItemName = Buffer.ReadString(false); + String ItemLore = Buffer.ReadString(false); + String ItemIDFile = Buffer.ReadString(false); + Buffer.ReadString(false); + + UInt32 ItemID = Buffer.ReadUInt32(); + OutputStream.WriteLine("ItemName: {0}, IDFile: {1}", ItemName, ItemIDFile); + OutputStream.WriteLine("Recast Time: {0:X}", RecastTimer); + Buffer.SkipBytes(251); + + String CharmFile = Buffer.ReadString(false); + + OutputStream.WriteLine("CharmFile: {0}", CharmFile); + + Buffer.SkipBytes(74); // Secondary BS + + String FileName = Buffer.ReadString(false); + OutputStream.WriteLine("FileName: {0}", CharmFile); + + Buffer.SkipBytes(76); // Tertiary BS + + UInt32 ClickEffect = Buffer.ReadUInt32(); + //Buffer.SkipBytes(26); // ClickEffect Struct + //OutputStream.WriteLine("Click Effect - effect : {0}", Buffer.ReadUInt32()); + OutputStream.WriteLine("Click Effect - level2 : {0}", Buffer.ReadByte()); + OutputStream.WriteLine("Click Effect - Type : {0}", Buffer.ReadUInt32()); + OutputStream.WriteLine("Click Effect - level : {0}", Buffer.ReadByte()); + OutputStream.WriteLine("Click Effect - Max Charges : {0}", Buffer.ReadUInt32()); + OutputStream.WriteLine("Click Effect - Cast Time : {0}", Buffer.ReadUInt32()); + OutputStream.WriteLine("Click Effect - Recast : {0}", Buffer.ReadUInt32()); + OutputStream.WriteLine("Click Effect - Recast Type: {0}", Buffer.ReadUInt32()); + OutputStream.WriteLine("Click Effect - Unk5: {0}", Buffer.ReadUInt32()); + String ClickName = Buffer.ReadString(false); + OutputStream.WriteLine("ClickEffect = {0}, ClickName = {1}", ClickEffect, ClickName); + Buffer.ReadUInt32(); + + ClickEffect = Buffer.ReadUInt32(); + Buffer.SkipBytes(26); // ClickEffect Struct + ClickName = Buffer.ReadString(false); + OutputStream.WriteLine("ClickEffect = {0}, ClickName = {1}", ClickEffect, ClickName); + Buffer.ReadUInt32(); + + ClickEffect = Buffer.ReadUInt32(); + Buffer.SkipBytes(26); // ClickEffect Struct + ClickName = Buffer.ReadString(false); + OutputStream.WriteLine("ClickEffect = {0}, ClickName = {1}", ClickEffect, ClickName); + Buffer.ReadUInt32(); + + ClickEffect = Buffer.ReadUInt32(); + Buffer.SkipBytes(26); // ClickEffect Struct + ClickName = Buffer.ReadString(false); + OutputStream.WriteLine("ClickEffect = {0}, ClickName = {1}", ClickEffect, ClickName); + Buffer.ReadUInt32(); + + ClickEffect = Buffer.ReadUInt32(); + Buffer.SkipBytes(26); // ClickEffect Struct + ClickName = Buffer.ReadString(false); + OutputStream.WriteLine("ClickEffect = {0}, ClickName = {1}", ClickEffect, ClickName); + Buffer.ReadUInt32(); + + ClickEffect = Buffer.ReadUInt32(); + Buffer.SkipBytes(26); // ClickEffect Struct + ClickName = Buffer.ReadString(false); + OutputStream.WriteLine("ClickEffect = {0}, ClickName = {1}", ClickEffect, ClickName); + Buffer.ReadUInt32(); + + //Buffer.SkipBytes(167); + Buffer.SkipBytes(125); + //Byte UnkByte = Buffer.ReadByte(); + //OutputStream.WriteLine("Unk byte is {0:X}", UnkByte); + OutputStream.WriteLine("At String ? Pos is {0}", Buffer.GetPosition()); + UnkString = Buffer.ReadString(false); + OutputStream.WriteLine("Unk String is {0}", UnkString); + Buffer.SkipBytes(41); + UInt32 SubItemCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("Buffer Pos: {0}, SubItemCount = {1}", Buffer.GetPosition(), SubItemCount); + + for (int j = 0; j < SubItemCount; ++j) + { + Buffer.ReadUInt32(); + DecodeItemPacket(OutputStream, Buffer, Direction); + } + + + } + + + public void ExploreInventory(StreamWriter OutputStream, ByteStream Buffer, PacketDirection Direction) + { + if (Buffer.Length() < 4) + return; + + UInt32 Count = Buffer.ReadUInt32(); + + for (int i = 0; i < Count; ++i) + { + try + { + DecodeItemPacket(OutputStream, Buffer, Direction); + } + catch + { + return; + } + } + } + public void ExplorePlayerProfile(StreamWriter OutputStream, ByteStream Buffer, PacketDirection Direction) + { + OutputStream.WriteLine("{0, -5}: Checksum = {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: ChecksumSize = {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine(""); + OutputStream.WriteLine("{0, -5}: Gender = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Race = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Class = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Level = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Level1 = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine(""); + UInt32 BindCount = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: BindCount = {1}", Buffer.GetPosition() - 4, BindCount); + + for (int i = 0; i < BindCount; ++i) + { + OutputStream.WriteLine("{0, -5}: Bind: {1} Zone: {2} XYZ: {3},{4},{5} Heading: {6}", + Buffer.GetPosition(), i, Buffer.ReadUInt32(), Buffer.ReadSingle(), Buffer.ReadSingle(), Buffer.ReadSingle(), Buffer.ReadSingle()); + } + + OutputStream.WriteLine(""); + OutputStream.WriteLine("{0, -5}: Deity = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Intoxication = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine(""); + + //Buffer.SkipBytes(8); // Deity, intoxication + + UInt32 UnknownCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Unknown Count = {1}", Buffer.GetPosition() - 4, UnknownCount); + + + + for (int i = 0; i < UnknownCount; ++i) + { + OutputStream.WriteLine("{0, -5}: Unknown : {1}, Value = {2}", Buffer.GetPosition(), i, Buffer.ReadUInt32()); + //Buffer.SkipBytes(4); + } + + UInt32 EquipmentCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: EquipmentCount = {1}", Buffer.GetPosition() - 4, EquipmentCount); + + for (int i = 0; i < EquipmentCount; ++i) + { + OutputStream.Write("{0, -5}: Equip: {1} Values: ", Buffer.GetPosition(), i); + for (int j = 0; j < 5; ++j) + OutputStream.Write("{0} ", Buffer.ReadUInt32()); + + OutputStream.WriteLine(""); + //Buffer.SkipBytes(20); + } + + UInt32 EquipmentCount2 = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: EquipmentCount2 = {1}", Buffer.GetPosition() - 4, EquipmentCount2); + + for (int i = 0; i < EquipmentCount2; ++i) + { + OutputStream.Write("{0, -5}: Equip2: {1} Values: ", Buffer.GetPosition(), i); + for (int j = 0; j < 5; ++j) + OutputStream.Write("{0} ", Buffer.ReadUInt32()); + + OutputStream.WriteLine(""); + //Buffer.SkipBytes(20); + } + + + + UInt32 TintCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: TintCount = {1}", Buffer.GetPosition() - 4, TintCount); + + for (int i = 0; i < TintCount; ++i) + { + OutputStream.WriteLine("{0, -5}: TintCount : {1}, Value = {2}", Buffer.GetPosition(), i, Buffer.ReadUInt32()); + //Buffer.SkipBytes(4); + } + + UInt32 TintCount2 = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: TintCount2 = {1}", Buffer.GetPosition() - 4, TintCount2); + + for (int i = 0; i < TintCount; ++i) + { + OutputStream.WriteLine("{0, -5}: TintCount2 : {1}, Value = {2}", Buffer.GetPosition(), i, Buffer.ReadUInt32()); + //Buffer.SkipBytes(4); + } + + OutputStream.WriteLine("{0, -5}: Hair Color = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Beard Color = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Eye1 Color = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Eye2 Color = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Hairstyle = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Beard = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Face = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Drakkin Heritage = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Drakkin Tattoo = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Drakkin Details = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Height = {1}", Buffer.GetPosition(), Buffer.ReadSingle()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadSingle()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadSingle()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadSingle()); + OutputStream.WriteLine("{0, -5}: Primary = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Secondary = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + + + //Buffer.SkipBytes(52); // Per SEQ, this looks like face, haircolor, beardcolor etc. + OutputStream.WriteLine("{0, -5}: Unspent Skill Points = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Mana = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Current HP = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + //UInt32 Points = Buffer.ReadUInt32(); + //UInt32 Mana = Buffer.ReadUInt32(); + //UInt32 CurHP = Buffer.ReadUInt32(); + + //OutputStream.WriteLine("Points, Mana, CurHP = {0}, {1}, {2}", Points, Mana, CurHP); + + OutputStream.WriteLine("{0, -5}: STR = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: STA = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: CHA = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: DEX = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: INT = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: AGI = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: WIS = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + //Buffer.SkipBytes(28); + //Buffer.SkipBytes(28); + + UInt32 AACount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: AA Count = {1}", Buffer.GetPosition() - 4, AACount); + + + for (int i = 0; i < AACount; ++i) + { + OutputStream.WriteLine(" AA: {0}, Value: {1}, Unknown08: {2}", Buffer.ReadUInt32(), Buffer.ReadUInt32(), Buffer.ReadUInt32()); + //Buffer.SkipBytes(12); + } + + UInt32 SkillCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Skill Count = {1}", Buffer.GetPosition() - 4, SkillCount); + + for (int i = 0; i < SkillCount; ++i) + { + Buffer.SkipBytes(4); + } + + UInt32 SomethingCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Something Count = {1}", Buffer.GetPosition() - 4, SomethingCount); + + + for (int i = 0; i < SomethingCount; ++i) + { + //Buffer.SkipBytes(4); + OutputStream.WriteLine("Something {0} : {1}", i, Buffer.ReadUInt32()); + } + + UInt32 DisciplineCount = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Discipline Count = {1}", Buffer.GetPosition() - 4, DisciplineCount); + + for (int i = 0; i < DisciplineCount; ++i) + { + Buffer.SkipBytes(4); + } + + UInt32 TimeStampCount = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: TimeStamp Count = {1}", Buffer.GetPosition() - 4, TimeStampCount); + + for (int i = 0; i < TimeStampCount; ++i) + { + //Buffer.SkipBytes(4); + OutputStream.WriteLine("Timestamp {0} : {1}", i, Buffer.ReadUInt32()); + } + + System.DateTime dateTime; + UInt32 RecastCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Recast Count = {1}", Buffer.GetPosition() - 4, RecastCount); + + for (int i = 0; i < RecastCount; ++i) + { + //Buffer.SkipBytes(4); + UInt32 TimeStamp = Buffer.ReadUInt32(); + dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); + dateTime = dateTime.AddSeconds(TimeStamp); + OutputStream.WriteLine("Recast {0} : {1} {2}", i, TimeStamp, dateTime.ToString()); + } + + UInt32 TimeStamp2Count = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: TimeStamp2 Count = {1}", Buffer.GetPosition() - 4, TimeStamp2Count); + + for (int i = 0; i < TimeStamp2Count; ++i) + { + //Buffer.SkipBytes(4); + UInt32 TimeStamp = Buffer.ReadUInt32(); + dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); + dateTime = dateTime.AddSeconds(TimeStamp); + + OutputStream.WriteLine("Timestamp {0} : {1} {2}", i, TimeStamp, dateTime.ToString()); + } + + + UInt32 SpellBookSlots = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: SpellBookSlot Count = {1}", Buffer.GetPosition() - 4, SpellBookSlots); + + for (int i = 0; i < SpellBookSlots; ++i) + { + Buffer.SkipBytes(4); + } + + UInt32 SpellMemSlots = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Spell Mem Count = {1}", Buffer.GetPosition() - 4, SpellMemSlots); + + for (int i = 0; i < SpellMemSlots; ++i) + { + Buffer.SkipBytes(4); + } + + SomethingCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Unknown Count = {1}", Buffer.GetPosition() - 4, SomethingCount); + + for (int i = 0; i < SomethingCount; ++i) + { + //Buffer.SkipBytes(4); + OutputStream.WriteLine("Unknown {0} : {1}", i, Buffer.ReadUInt32()); + + } + + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadByte()); + + UInt32 BuffCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Buff Count = {1}", Buffer.GetPosition() - 4, BuffCount); + + for (int i = 0; i < BuffCount; ++i) + { + Buffer.ReadByte(); + float UnkFloat = Buffer.ReadSingle(); + UInt32 PlayerID = Buffer.ReadUInt32(); + Byte UnkByte = Buffer.ReadByte(); + UInt32 Counters1 = Buffer.ReadUInt32(); + UInt32 Duration = Buffer.ReadUInt32(); + Byte Level = Buffer.ReadByte(); + UInt32 SpellID = Buffer.ReadUInt32(); + UInt32 SlotID = Buffer.ReadUInt32(); + Buffer.SkipBytes(5); + UInt32 Counters2 = Buffer.ReadUInt32(); + OutputStream.WriteLine("Sl: {0}, UF: {1}, PID: {2}, UByte: {3}, Cnt1: {4}, Dur: {5}, Lvl: {6} SpellID: {7}, SlotID: {8}, Cnt2: {9}", + i, UnkFloat, PlayerID, UnkByte, Counters1, Duration, Level, SpellID, SlotID, Counters2); + Buffer.SkipBytes(44); + } + + OutputStream.WriteLine("{0, -5}: Plat = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Gold = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Silver = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Copper = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Plat Cursor = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Gold Cursor = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Silver Cursor = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Copper Cursor = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Toxicity? = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Thirst? = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Hunger? = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + //Buffer.SkipBytes(20); + + OutputStream.WriteLine("{0, -5}: AA Spent = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: AA Point Count? = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: AA Assigned = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: AA Spent General = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: AA Spent Archetype = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: AA Spent Class = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: AA Spent Special = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: AA Unspent = {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown", Buffer.GetPosition(), Buffer.ReadUInt16()); + + + //Buffer.SkipBytes(30); + + UInt32 BandolierCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Bandolier Count = {1}", Buffer.GetPosition() - 4, BandolierCount); + + for (int i = 0; i < BandolierCount; ++i) + { + Buffer.ReadString(false); + + Buffer.ReadString(false); + Buffer.SkipBytes(8); + + Buffer.ReadString(false); + Buffer.SkipBytes(8); + + Buffer.ReadString(false); + Buffer.SkipBytes(8); + + Buffer.ReadString(false); + Buffer.SkipBytes(8); + } + + UInt32 PotionCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Potion Count = {1}", Buffer.GetPosition() - 4, PotionCount); + + for (int i = 0; i < PotionCount; ++i) + { + Buffer.ReadString(false); + Buffer.SkipBytes(8); + } + + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadInt32()); + OutputStream.WriteLine("{0, -5}: Item HP Total? {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Endurance Total? {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Mana Total? {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Expansion Count {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + UInt32 NameLength = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Name Length: {1}", Buffer.GetPosition() - 4, NameLength); + + int CurrentPosition = Buffer.GetPosition(); + OutputStream.WriteLine("{0, -5}: Name: {1}", Buffer.GetPosition(), Buffer.ReadString(false)); + + Buffer.SetPosition(CurrentPosition + (int)NameLength); + + UInt32 LastNameLength = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: LastName Length: {1}", Buffer.GetPosition() - 4, LastNameLength); + + CurrentPosition = Buffer.GetPosition(); + OutputStream.WriteLine("{0, -5}: Last Name: {1}", Buffer.GetPosition(), Buffer.ReadString(false)); + + Buffer.SetPosition(CurrentPosition + (int)LastNameLength); + + OutputStream.WriteLine("{0, -5}: Birthday {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Account Start Date {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Last Login Date {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Time Played Minutes {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Time Entitled On Account {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Expansions {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + UInt32 LanguageCount = Buffer.ReadUInt32(); + + OutputStream.WriteLine("{0, -5}: Language Count = {1}", Buffer.GetPosition() - 4, LanguageCount); + + for (int i = 0; i < LanguageCount; ++i) + { + Buffer.SkipBytes(1); + } + + OutputStream.WriteLine("{0, -5}: Zone ID {1}", Buffer.GetPosition(), Buffer.ReadUInt16()); + OutputStream.WriteLine("{0, -5}: Zone Instance {1}", Buffer.GetPosition(), Buffer.ReadUInt16()); + OutputStream.WriteLine("{0, -5}: Y,X,Z {1},{2},{3} Heading: {4}", + Buffer.GetPosition(), Buffer.ReadSingle(), Buffer.ReadSingle(), Buffer.ReadSingle(), Buffer.ReadSingle()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine("{0, -5}: GuildID? {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Experience {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine("{0, -5}: Bank Plat {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Bank Gold {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Bank Silver {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Bank Copper {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + UInt32 Unknown42 = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Unknown, value 42? {1}", Buffer.GetPosition() - 4, Unknown42); + + Buffer.SkipBytes((int)(Unknown42 * 8)); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Career Tribute Favour {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Current Tribute Favour {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + UInt32 PersonalTributeCount = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Personal Tribute Count {1}", Buffer.GetPosition() - 4, PersonalTributeCount); + Buffer.SkipBytes((int)(PersonalTributeCount * 8)); + + UInt32 GuildTributeCount = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Guild Tribute Count {1}", Buffer.GetPosition() - 4, GuildTributeCount); + Buffer.SkipBytes((int)(GuildTributeCount * 8)); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("Skipping 121 bytes starting at offset {0}", Buffer.GetPosition()); + Buffer.SkipBytes(121); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("Position now {0}", Buffer.GetPosition()); + + UInt32 Unknown64 = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Unknown64 {1}", Buffer.GetPosition() - 4, Unknown64); + Buffer.SkipBytes((int)Unknown64); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + Unknown64 = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Unknown64 {1}", Buffer.GetPosition() - 4, Unknown64); + Buffer.SkipBytes((int)Unknown64); + + Unknown64 = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Unknown64 {1}", Buffer.GetPosition() - 4, Unknown64); + Buffer.SkipBytes((int)Unknown64); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("Skipping 320 bytes starting at offset {0}", Buffer.GetPosition()); + Buffer.SkipBytes(320); + + OutputStream.WriteLine("Skipping 343 bytes starting at offset {0}", Buffer.GetPosition()); + Buffer.SkipBytes(343); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + UInt32 Unknown6 = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Unknown6 {1} LDON Stuff ?", Buffer.GetPosition() - 4, Unknown6); + + for (int i = 0; i < Unknown6; ++i) + OutputStream.WriteLine("{0, -5}: Unknown LDON? {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + Unknown64 = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Unknown64 {1}", Buffer.GetPosition() - 4, Unknown64); + Buffer.SkipBytes((int)Unknown64 * 4); + + // Air remaining ? + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + // Next 7 could be PVP stats, + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + // PVP LastKill struct ? + OutputStream.WriteLine("Skipping string + 24 bytes starting at offset {0}", Buffer.GetPosition()); + //Buffer.SkipBytes(25); + + Byte b; + do + { + b = Buffer.ReadByte(); + } while (b != 0); + + Buffer.SkipBytes(24); + + // PVP LastDeath struct ? + OutputStream.WriteLine("Skipping string + 24 bytes starting at offset {0}", Buffer.GetPosition()); + //Buffer.SkipBytes(25); + do + { + b = Buffer.ReadByte(); + } while (b != 0); + + Buffer.SkipBytes(24); + + // PVP Number of Kills in Last 24 hours ? + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + UInt32 Unknown50 = Buffer.ReadUInt32(); + OutputStream.WriteLine("{0, -5}: Unknown50 {1}", Buffer.GetPosition() - 4, Unknown50); + // PVP Recent Kills ? + OutputStream.WriteLine("Skipping 50 x (String + 24 bytes) starting at offset {0}", Buffer.GetPosition()); + //Buffer.SkipBytes(1338); + for (int i = 0; i < 50; ++i) + { + do + { + b = Buffer.ReadByte(); + } while (b != 0); + + Buffer.SkipBytes(24); + + } + + + + // + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Group autoconsent? {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Raid autoconsent? {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Guild autoconsent? {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine("{0, -5}: Level3? {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("{0, -5}: Showhelm? {1}", Buffer.GetPosition(), Buffer.ReadByte()); + + OutputStream.WriteLine("{0, -5}: RestTimer? {1}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("Skipping 1028 bytes starting at offset {0}", Buffer.GetPosition()); + Buffer.SkipBytes(1028); + + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + OutputStream.WriteLine("{0, -5}: Unknown {1:X}", Buffer.GetPosition(), Buffer.ReadUInt32()); + + OutputStream.WriteLine("Pointer is {0} bytes from end.", Buffer.Length() - Buffer.GetPosition()); + + + + } } } \ No newline at end of file diff --git a/utils/EQExtractor2/EQExtractor2/PatchMarch13-2013.cs b/utils/EQExtractor2/EQExtractor2/PatchMarch13-2013.cs new file mode 100644 index 000000000..7db0a720c --- /dev/null +++ b/utils/EQExtractor2/EQExtractor2/PatchMarch13-2013.cs @@ -0,0 +1,79 @@ +using System; +using System.IO; +using System.Diagnostics; +using System.Collections.Generic; +using EQExtractor2.InternalTypes; +using EQExtractor2.OpCodes; +using EQPacket; +using MyUtils; + +namespace EQExtractor2.Patches +{ + class PatchMarch132013Decoder : PatchFebruary112013Decoder + { + public PatchMarch132013Decoder() + { + Version = "EQ Client Build Date March 13 2013."; + + PatchConfFileName = "patch_Mar13-2013.conf"; + + SupportsSQLGeneration = false; + } + + override public List GetDoors() + { + List DoorList = new List(); + + List SpawnDoorPacket = GetPacketsOfType("OP_SpawnDoor", PacketDirection.ServerToClient); + + if ((SpawnDoorPacket.Count == 0) || (SpawnDoorPacket[0].Length == 0)) + return DoorList; + + int DoorCount = SpawnDoorPacket[0].Length / 100; + + ByteStream Buffer = new ByteStream(SpawnDoorPacket[0]); + + for (int d = 0; d < DoorCount; ++d) + { + string DoorName = Buffer.ReadFixedLengthString(32, false); + + float YPos = Buffer.ReadSingle(); + + float XPos = Buffer.ReadSingle(); + + float ZPos = Buffer.ReadSingle(); + + float Heading = Buffer.ReadSingle(); + + UInt32 Incline = Buffer.ReadUInt32(); + + Int32 Size = Buffer.ReadInt32(); + + Buffer.SkipBytes(4); // Skip Unknown + + Byte DoorID = Buffer.ReadByte(); + + Byte OpenType = Buffer.ReadByte(); + + Byte StateAtSpawn = Buffer.ReadByte(); + + Byte InvertState = Buffer.ReadByte(); + + Int32 DoorParam = Buffer.ReadInt32(); + + // Skip past the trailing unknowns in the door struct, moving to the next door in the packet. + + Buffer.SkipBytes(32); + + string DestZone = "NONE"; + + Door NewDoor = new Door(DoorName, YPos, XPos, ZPos, Heading, Incline, Size, DoorID, OpenType, StateAtSpawn, InvertState, + DoorParam, DestZone, 0, 0, 0, 0); + + DoorList.Add(NewDoor); + + } + return DoorList; + } + } +} \ No newline at end of file diff --git a/utils/EQExtractor2/EQExtractor2/SharpPcap.dll b/utils/EQExtractor2/EQExtractor2/SharpPcap.dll new file mode 100644 index 0000000000000000000000000000000000000000..38b783bf27c9a0e2bbf3cd766473dfed7055257e GIT binary patch literal 38400 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

^e86wG)A)BWQh4ztZs5GV1BDqwgr&Uh!2 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%0DY!_)? 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 TIgrO`2ZOi_+b=)=?>O*Z3@A$+ literal 0 HcmV?d00001 diff --git a/utils/EQExtractor2/EQExtractor2/patch_Mar13-2013.conf b/utils/EQExtractor2/EQExtractor2/patch_Mar13-2013.conf new file mode 100644 index 000000000..2f206d4ae --- /dev/null +++ b/utils/EQExtractor2/EQExtractor2/patch_Mar13-2013.conf @@ -0,0 +1,653 @@ +# ShowEQ Import Notes: +# ZERO THE FILE first +# perl -pi -e 's/0x[0-9a-fA-F]{4}/0x0000/g' opcodes.conf +# Unknown Mapping: +# OP_Action2 -> OP_Damage +# OP_EnvDamage -> OP_Damage ---> might have been a one time mistake +# Name Differences: +# OP_CancelInvite -> OP_GroupCancelInvite +# OP_GMFind -> OP_FindPersonRequest +# OP_CommonMessage -> OP_ChannelMessage + +OP_Unknown=0x0000 +OP_ExploreUnknown=0x0000 used for unknown explorer + +# world packets +# Required to reach Char Select: +OP_SendLoginInfo=0x4c47 +OP_ApproveWorld=0x0fba +OP_LogServer=0x147e +OP_SendCharInfo=0x3501 +OP_ExpansionInfo=0x5529 +OP_GuildsList=0x1eb4 +OP_EnterWorld=0x5148 +OP_PostEnterWorld=0x138c +OP_World_Client_CRC1=0x5c81 +OP_World_Client_CRC2=0x68ba +OP_SendSpellChecksum=0x0000 +OP_SendSkillCapsChecksum=0x0000 + +# Character Select Related: +OP_SendMaxCharacters=0x6c2c +OP_SendMembership=0x489a +OP_SendMembershipDetails=0x5f73 +OP_CharacterCreateRequest=0x7d54 +OP_CharacterCreate=0x43cb +OP_DeleteCharacter=0x7974 +OP_RandomNameGenerator=0x36b8 +OP_ApproveName=0x3cb0 +OP_MOTD=0x1e9b +OP_SetChatServer=0x7d67 +OP_SetChatServer2=0x072c +OP_ZoneServerInfo=0x5e3b +OP_WorldComplete=0x230b +OP_WorldUnknown001=0xa5af +OP_FloatListThing=0x42e1 + +# Reasons for Disconnect: +OP_ZoneUnavail=0x1b4a +OP_WorldClientReady=0x36b2 +OP_CharacterStillInZone=0x0000 +OP_WorldChecksumFailure=0x0000 +OP_WorldLoginFailed=0x0000 +OP_WorldLogout=0x0000 +OP_WorldLevelTooHigh=0x0000 +OP_CharInacessable=0x0000 +OP_UserCompInfo=0x0000 +OP_SendExeChecksum=0x0000 +OP_SendBaseDataChecksum=0x0000 + +# Zone in opcodes +OP_AckPacket=0x2e94 +OP_ZoneEntry=0x9e82 +OP_ReqNewZone=0x1536 +OP_NewZone=0x23ef +OP_ZoneSpawns=0x0325 +OP_PlayerProfile=0x48b7 +OP_TimeOfDay=0x6665 +OP_LevelUpdate=0x1048 +OP_Stamina=0x1fb1 +OP_RequestClientZoneChange=0x2521 +OP_ZoneChange=0x6976 +OP_LockoutTimerInfo=0x0000 +OP_ZoneServerReady=0x0000 +OP_ZoneInUnknown=0x0000 +OP_LogoutReply=0x0000 +OP_PreLogoutReply=0x0000 + +# Required to fully log in +OP_SpawnAppearance=0x3fe5 +OP_ChangeSize=0x095f +OP_TributeUpdate=0x61af +OP_TributeTimer=0x7f61 +OP_SendTributes=0x765f +OP_SendGuildTributes=0x7fde +OP_TributeInfo=0x7869 +OP_Weather=0x6f63 +OP_ReqClientSpawn=0x1fd2 +OP_SpawnDoor=0x5ab7 +OP_GroundSpawn=0x6410 +OP_SendZonepoints=0x2694 +OP_BlockedBuffs=0x5d12 +OP_RemoveBlockedBuffs=0x6b1a +OP_ClearBlockedBuffs=0x5c27 +OP_WorldObjectsSent=0x3f24 +OP_SendExpZonein=0x39ef +OP_SendAATable=0x2aed +OP_RespondAA=0x6375 +OP_UpdateAA=0x7ae9 +OP_SendAAStats=0x4215 +OP_AAExpUpdate=0x7c0b +OP_ExpUpdate=0x25cf +OP_HPUpdate=0x462c +OP_ManaChange=0x7db5 +OP_TGB=0x4111 +OP_SpecialMesg=0x0000 +OP_GuildMemberList=0x4f53 +OP_GuildMOTD=0x5906 +OP_CharInventory=0x3efe +OP_WearChange=0x18ea +OP_ClientUpdate=0x1ad3 +OP_ClientReady=0x5b91 # 0x422d +OP_SetServerFilter=0x6d02 + +# Guild Opcodes - Disabled until crashes are resolved in RoF +OP_GetGuildMOTD=0x26d9 # Was 0x35dc +OP_GetGuildMOTDReply=0x4a78 # Was 0x4586 +OP_GuildMemberUpdate=0x5809 # Was 0x5643 +OP_GuildInvite=0x6327 +OP_GuildRemove=0x4b63 +OP_GuildPeace=0x1fa2 +OP_SetGuildMOTD=0x0024 +OP_GuildList=0x0000 +OP_GuildWar=0x2366 +OP_GuildLeader=0x70f6 +OP_GuildDelete=0x50d7 +OP_GuildInviteAccept=0x6f2e +OP_GuildDemote=0x02b3 +OP_GuildPublicNote=0x5b86 +OP_GuildManageBanker=0x714f # Was 0x0737 +OP_GuildBank=0x033e # Was 0x10c3 +OP_SetGuildRank=0x04f1 +OP_GuildUpdateURLAndChannel=0x3d53 +OP_GuildStatus=0x54a2 +OP_GuildCreate=0x23b5 # or maybe 0x086e +OP_GuildMemberLevelUpdate=0x0000 # Unused? +OP_ZoneGuildList=0x0000 # Unused? +OP_GetGuildsList=0x0000 # Unused? +OP_LFGuild=0x0000 +OP_GuildManageRemove=0x0000 +OP_GuildManageAdd=0x0000 +OP_GuildManageStatus=0x0000 + +# GM/Guide Opcodes +OP_GMServers=0x19ee +OP_GMBecomeNPC=0x6f5e +OP_GMZoneRequest=0x64c6 +OP_GMZoneRequest2=0x3271 +OP_GMGoto=0x6d39 +OP_GMSearchCorpse=0x026a +OP_GMHideMe=0x3195 +OP_GMDelCorpse=0x696f +OP_GMApproval=0x639b +OP_GMToggle=0x4c77 +OP_GMSummon=0x3ff2 # Was 0x684f +OP_GMEmoteZone=0x722a # Was 0x0655 +OP_GMEmoteWorld=0x77a6 # Was 0x1935 +OP_GMFind=0x572d +OP_GMKick=0x1d1b +OP_GMKill=0x68c0 +OP_GMNameChange=0x075d # Was 0x4434 +OP_GMLastName=0x362a # Was 0x3077 + +# Misc Opcodes +OP_InspectRequest=0x3e82 +OP_InspectAnswer=0x5168 +OP_InspectMessageUpdate=0x420b +OP_BeginCast=0x436d +OP_BuffFadeMsg=0x46b9 +OP_ConsentResponse=0x38d7 +OP_MemorizeSpell=0x4d4b +OP_SwapSpell=0x21d2 +OP_CastSpell=0x56ab +OP_Consider=0x476f +OP_FormattedMessage=0x69aa +OP_SimpleMessage=0x0e87 +OP_Buff=0x2acd +OP_Illusion=0x739c +OP_MoneyOnCorpse=0x43c4 +OP_RandomReply=0x467d +OP_DenyResponse=0x2eba +OP_SkillUpdate=0x3b99 +OP_GMTrainSkillConfirm=0x24d4 # 0x3960 +OP_RandomReq=0x3599 +OP_Death=0x43a6 +OP_GMTraining=0x0aa1 +OP_GMEndTraining=0x5dd1 +OP_GMTrainSkill=0x5823 +OP_Animation=0x7487 +OP_Begging=0x2bac +OP_Consent=0x5ccb +OP_ConsentDeny=0x1a5d +OP_AutoFire=0x6bfd +OP_PetCommands=0x0e7a +OP_DeleteSpell=0x3587 +OP_Surname=0x378f +OP_ClearSurname=0x23c5 +OP_FaceChange=0x7fc4 +OP_SenseHeading=0x54cf +OP_Action=0x4965 +OP_ConsiderCorpse=0x1294 +OP_HideCorpse=0x5141 +OP_CorpseDrag=0x14bb +OP_CorpseDrop=0x66e8 +OP_Bug=0x055c +OP_Feedback=0x6cb3 +OP_Report=0x28a6 +OP_Damage=0x0002e +OP_ChannelMessage=0x1f4e +OP_Assist=0x2612 +OP_AssistGroup=0x2ebc +OP_MoveCoin=0x7611 +OP_ZonePlayerToBind=0x4284 +OP_KeyRing=0x7d31 +OP_WhoAllRequest=0x05f2 +OP_WhoAllResponse=0x396c +OP_FriendsWho=0x40dd +OP_ConfirmDelete=0x065f +OP_Logout=0x0b31 +OP_Rewind=0x15f2 +OP_TargetCommand=0x15b5 +OP_Hide=0x0ba4 +OP_Jump=0x3622 +OP_Camp=0x2181 +OP_Emote=0x4773 +OP_SetRunMode=0x6cdb +OP_BankerChange=0x1289 +OP_TargetMouse=0x698f +OP_MobHealth=0x0294 +OP_InitialMobHealth=0x0000 # Unused? +OP_TargetHoTT=0x72b0 +OP_XTargetResponse=0x38c9 +OP_XTargetRequest=0x616b +OP_XTargetAutoAddHaters=0x0ef7 +OP_TargetBuffs=0x0aa5 +OP_BuffCreate=0x3e45 +OP_BuffRemoveRequest=0x063f +OP_DeleteSpawn=0x49e0 +OP_AutoAttack=0x18e2 +OP_AutoAttack2=0x6af7 +OP_Consume=0x6388 +OP_MoveItem=0x2bf6 +OP_DeleteItem=0x388a +OP_DeleteCharge=0x6d3e +OP_ItemPacket=0x608e +OP_ItemLinkResponse=0x08af +OP_ItemLinkClick=0x5564 +OP_ItemPreview=0x57e3 +OP_NewSpawn=0x0009 +OP_Track=0x1261 +OP_TrackTarget=0x3a0a +OP_TrackUnknown=0x7c61 +OP_ClickDoor=0x718e +OP_MoveDoor=0x3953 +OP_RemoveAllDoors=0x4ca7 +OP_EnvDamage=0x71bc +OP_BoardBoat=0x3bf8 +OP_Forage=0x1c5b +OP_LeaveBoat=0x136c +OP_ControlBoat=0x0686 +OP_SafeFallSuccess=0x001c +OP_RezzComplete=0x105a +OP_RezzRequest=0x546d +OP_RezzAnswer=0x58b4 +OP_Shielding=0x747c +OP_RequestDuel=0x1a3a +OP_MobRename=0x6732 +OP_AugmentItem=0x269c # Was 0x37cb +OP_WeaponEquip1=0x0232 +OP_WeaponEquip2=0x6f0c # Was 0x6022 +OP_WeaponUnequip2=0x1310 # Was 0x0110 +OP_ApplyPoison=0x319c +OP_Save=0x2ab5 +OP_TestBuff=0x0a40 # Was 0x3772 +OP_CustomTitles=0x3fab +OP_Split=0x6f03 +OP_YellForHelp=0x79c5 +OP_LoadSpellSet=0x520e +OP_Bandolier=0x1b9f +OP_PotionBelt=0xb71d # Was 0x4d3b +OP_DuelResponse=0x51cd +OP_DuelResponse2=0x5b83 +OP_SaveOnZoneReq=0x2a94 +OP_ReadBook=0x1fbe +OP_Dye=0x6158 +OP_InterruptCast=0x1ed1 +OP_AAAction=0x7515 +OP_LeadershipExpToggle=0x6005 +OP_LeadershipExpUpdate=0x6527 +OP_PurchaseLeadershipAA=0x7a2e +OP_UpdateLeadershipAA=0x05c4 +OP_MarkNPC=0x7d33 +OP_ClearNPCMarks=0x34ca +OP_DelegateAbility=0x57eb +OP_SetGroupTarget=0x2eff +OP_Charm=0x1d9e +OP_Stun=0x1a1a +OP_SendFindableNPCs=0x6788 +OP_FindPersonRequest=0x6ccd +OP_FindPersonReply=0x1f1c +OP_Sound=0x6957 +OP_PetBuffWindow=0x66a7 +OP_LevelAppearance=0x3714 +OP_Translocate=0x4613 +OP_Sacrifice=0x1502 +OP_PopupResponse=0x53e9 +OP_OnLevelMessage=0x1b75 +OP_AugmentInfo=0x7afb +OP_Petition=0x5f39 +OP_SomeItemPacketMaybe=0x5357 +OP_PVPStats=0x1dbf # Unsure +OP_PVPLeaderBoardRequest=0x60fa +OP_PVPLeaderBoardReply=0x9639 +OP_PVPLeaderBoardDetailsRequest=0x02a0 +OP_PVPLeaderBoardDetailsReply=0x628f +OP_RestState=0x3f4c +OP_RespawnWindow=0x311b +OP_LDoNButton=0x528a +OP_SetStartCity=0x7d25 # Was 0x2d1b +OP_VoiceMacroIn=0x5a9f +OP_VoiceMacroOut=0xbaab +OP_ItemViewUnknown=0x0285 +OP_VetRewardsAvaliable=0x05e1 +OP_VetClaimRequest=0x18c9 +OP_VetClaimReply=0x22d7 +OP_DisciplineUpdate=0x2bf1 # Was 0x2f05 +OP_DisciplineTimer=0x3f01 # Was 0x5e3f +OP_BecomeCorpse=0x0000 # Unused? +OP_Action2=0x0000 # Unused? +OP_MobUpdate=0x3c0e +OP_NPCMoveUpdate=0x1df9 +OP_CameraEffect=0x7b49 +OP_SpellEffect=0x655c +OP_RemoveNimbusEffect=0x3d58 +OP_AltCurrency=0x1df7 +OP_AltCurrencyMerchantRequest=0x1c52 +OP_AltCurrencyMerchantReply=0x5976 +OP_AltCurrencyPurchase=0x2322 +OP_AltCurrencySell=0x34d8 +OP_AltCurrencySellSelection=0x39ca +OP_AltCurrencyReclaim=0x5f85 +OP_CrystalCountUpdate=0x6b56 # Was 0x3f60 +OP_CrystalCreate=0x1b2a # Was 0x5a82 +OP_CrystalReclaim=0x19cb # Was 0x7616 +OP_Untargetable=0x442c +OP_IncreaseStats=0x502f +OP_Weblink=0x70c8 +#OP_OpenInventory=0x0000 # Likely does not exist in RoF -U +OP_OpenContainer=0x0000 + +OP_DzQuit=0x6dc9 +OP_DzListTimers=0x59b4 +OP_DzAddPlayer=0x0cc4 +OP_DzRemovePlayer=0x5421 +OP_DzSwapPlayer=0x0260 +OP_DzMakeLeader=0x18cf +OP_DzPlayerList=0x2767 +OP_DzJoinExpeditionConfirm=0x25a4 +OP_DzJoinExpeditionReply=0x0dd1 +OP_DzExpeditionInfo=0x74b5 +OP_DzExpeditionList=0x2270 +OP_DzMemberStatus=0x1952 +OP_DzLeaderStatus=0x0c68 +OP_DzExpeditionEndsWarning=0x2443 +OP_DzMemberList=0x0000 +OP_DzCompass=0x3dfd # Was 0x4f09 +OP_DzChooseZone=0x0000 # Maybe 0x29d6 + +# New Opcodes +OP_SpawnPositionUpdate=0x0000 # Actually OP_MobUpdate ? +OP_ManaUpdate=0x48e4 +OP_EnduranceUpdate=0x47d6 +OP_MobManaUpdate=0x752a +OP_MobEnduranceUpdate=0x244c + +# Mercenary Opcodes +OP_MercenaryDataUpdateRequest=0x5fdf +OP_MercenaryDataUpdate=0x7f41 +OP_MercenaryDataRequest=0x565b +OP_MercenaryDataResponse=0x14b8 +OP_MercenaryHire=0x2455 +OP_MercenaryDismiss=0x1455 +OP_MercenaryTimerRequest=0x2afe +OP_MercenaryTimer=0x2972 +OP_MercenaryUnknown1=0x71dd +OP_MercenaryCommand=0x10d3 +OP_MercenarySuspendRequest=0x096d +OP_MercenarySuspendResponse=0x1d94 +OP_MercenaryUnsuspendResponse=0x2f6b + +# Looting +OP_LootRequest=0x64e9 +OP_EndLootRequest=0x4542 +OP_LootItem=0x2cf8 +OP_LootComplete=0x60fe + +# bazaar trader stuff: +OP_BazaarSearch=0x3b59 +OP_TraderDelItem=0x0000 +OP_BecomeTrader=0x2a43 +OP_TraderShop=0x2b3b +OP_Trader=0x1e94 # Was 0x6790 +OP_TraderBuy=0x0000 +OP_Barter=0x5df5 +OP_ShopItem=0x0000 +OP_BazaarInspect=0x0000 +OP_Bazaar=0x0000 +OP_TraderItemUpdate=0x0000 + +# pc/npc trading +OP_TradeRequest=0x7506 +OP_TradeAcceptClick=0x2d41 +OP_TradeRequestAck=0x619d +OP_TradeCoins=0x6e22 +OP_FinishTrade=0x4676 +OP_CancelTrade=0x2e79 +OP_TradeMoneyUpdate=0x29df +OP_MoneyUpdate=0x6ef4 +OP_TradeBusy=0x73c4 + +# Sent after canceling trade or after closing tradeskill object +OP_FinishWindow=0x4c2b +OP_FinishWindow2=0x0830 + +# Sent on Live for what seems to be item existance verification +# Ex. Before Right Click Effect happens from items +OP_ItemVerifyRequest=0x2977 +OP_ItemVerifyReply=0x7640 + +# merchant stuff +OP_ShopPlayerSell=0x396d +OP_ShopRequest=0x6717 +OP_ShopEnd=0x0bf6 +OP_ShopEndConfirm=0x7b50 +OP_ShopPlayerBuy=0x5013 +OP_ShopDelItem=0x1658 + +# tradeskill stuff: +OP_ClickObject=0x00c6 +OP_ClickObjectAction=0x49ed +OP_ClearObject=0x22c2 +OP_RecipeDetails=0x120d +OP_RecipesFavorite=0x40bd +OP_RecipesSearch=0x5bc1 +OP_RecipeReply=0x37ca +OP_RecipeAutoCombine=0x741a +OP_TradeSkillCombine=0x7272 + +# Tribute Packets: +OP_OpenGuildTributeMaster=0x57a8 +OP_OpenTributeMaster=0x48e8 # Was 0x40f5 +OP_SelectTribute=0x1b89 +OP_TributeItem=0x0434 +OP_TributeMoney=0x032b # Was 0x6fed +OP_TributeToggle=0x5c5e +OP_TributePointUpdate=0x13ab +OP_TributeNPC=0x0000 +OP_GuildTributeInfo=0x0000 +OP_OpenTributeReply=0x0000 +OP_GuildTributeStatus=0x0000 + +# Adventure packets: +OP_LeaveAdventure=0x0b93 +OP_AdventureFinish=0x6f69 +OP_AdventureInfoRequest=0x6ecf +OP_AdventureInfo=0x5463 +OP_AdventureRequest=0x4715 +OP_AdventureDetails=0x43f0 +OP_AdventureData=0x9515 +OP_AdventureUpdate=0x372a +OP_AdventureMerchantRequest=0x4fb7 # Was 654d +OP_AdventureMerchantResponse=0x2988 # Was 7949 +OP_AdventureMerchantPurchase=0x15a8 # Was 155a +OP_AdventureMerchantSell=0x486c # Was 389c +OP_AdventurePointsUpdate=0x677c # Was 7589 +OP_AdventureStatsRequest=0x0130 +OP_AdventureStatsReply=0x0b8d +OP_AdventureLeaderboardRequest=0x1437 +OP_AdventureLeaderboardReply=0x3c78 + +# Group Opcodes +OP_GroupDisband=0x34d7 +OP_GroupInvite=0x4533 +OP_GroupFollow=0x6e8f +OP_GroupUpdate=0x2b6a +OP_GroupUpdateB=0x4c76 +OP_GroupCancelInvite=0x0000 +OP_GroupAcknowledge=0x465d +OP_GroupDelete=0x0fa1 +OP_CancelInvite=0x2fb6 +OP_GroupFollow2=0x2e85 +OP_GroupInvite2=0x1a45 +OP_GroupDisbandYou=0x5c5a +OP_GroupDisbandOther=0x39f0 +OP_GroupLeaderChange=0x00f0 +OP_GroupRoles=0x228a +OP_GroupMakeLeader=0x6050 +OP_DoGroupLeadershipAbility=0x42aa +OP_GroupLeadershipAAUpdate=0x5b21 + +# LFG/LFP Opcodes +OP_LFGCommand=0x79f1 +OP_LFGGetMatchesRequest=0x7069 +OP_LFGGetMatchesResponse=0x6fd7 +OP_LFPGetMatchesRequest=0x6276 +OP_LFPGetMatchesResponse=0x3008 +OP_LFPCommand=0x087e +OP_LFGAppearance=0x0000 +OP_LFGResponse=0x0000 + +# Raid Opcodes +OP_RaidInvite=0x6988 +OP_RaidUpdate=0x09f9 +OP_RaidJoin=0x0000 + +# Button-push commands +OP_Taunt=0x751f +OP_CombatAbility=0x02aa +OP_SenseTraps=0x2d68 # Was 0x2ee0 +OP_PickPocket=0x6d4b +OP_DisarmTraps=0x0000 +OP_Disarm=0x49ca +OP_Sneak=0x1975 +OP_Fishing=0x6b72 +OP_InstillDoubt=0x2bd1 +OP_FeignDeath=0x574e +OP_Mend=0x219f +OP_Bind_Wound=0x10d5 +OP_LDoNOpen=0x57e2 + +# Task packets +OP_TaskDescription=0x2b71 +OP_TaskActivity=0x53b3 +OP_CompletedTasks=0x7c6b +OP_TaskActivityComplete=0x16c5 +OP_AcceptNewTask=0x1e7a +OP_CancelTask=0x1798 +OP_TaskMemberList=0x4844 # Was 0x1656 +OP_OpenNewTasksWindow=0x67b4 # Was 0x11de +OP_AvaliableTask=0x0a3f # Was 0x2377 +OP_TaskHistoryRequest=0x4c34 +OP_TaskHistoryReply=0x593e +OP_DeclineAllTasks=0x0000 + +# Title opcodes +OP_NewTitlesAvailable=0x1104 +OP_RequestTitles=0x71b2 +OP_SendTitleList=0x6d31 +OP_SetTitle=0x7ade +OP_SetTitleReply=0x23f0 + +# mail opcodes +OP_Command=0x0000 +OP_MailboxHeader=0x0000 +OP_MailHeader=0x0000 +OP_MailBody=0x0000 +OP_NewMail=0x0000 +OP_SentConfirm=0x0000 + +########### Below this point should not be needed ########### + +# This section are all unknown in Titanium +OP_ForceFindPerson=0x0000 +OP_LocInfo=0x0000 +OP_ReloadUI=0x0000 +OP_ItemName=0x0000 +OP_ItemLinkText=0x0000 +OP_MultiLineMsg=0x0000 +OP_MendHPUpdate=0x0000 +OP_TargetReject=0x0000 +OP_SafePoint=0x0000 +OP_ApproveZone=0x0000 +OP_ZoneComplete=0x0000 +OP_ClientError=0x0000 +OP_DumpName=0x0000 +OP_Heartbeat=0x0000 +OP_CrashDump=0x0000 +OP_LoginComplete=0x0000 + +# discovered opcodes not yet used: +OP_PickLockSuccess=0x0000 +OP_PlayMP3=0x0000 +OP_ReclaimCrystals=0x0000 +OP_DynamicWall=0x0000 +OP_OpenDiscordMerchant=0x0000 +OP_DiscordMerchantInventory=0x0000 +OP_GiveMoney=0x0000 +OP_RequestKnowledgeBase=0x0000 +OP_KnowledgeBase=0x0000 +OP_SlashAdventure=0x0000 # /adventure +OP_BecomePVPPrompt=0x0000 +OP_MoveLogRequest=0x0000 # gone I think +OP_MoveLogDisregard=0x0000 # gone I think + +# named unknowns, to make looking for real unknown easier +OP_AnnoyingZoneUnknown=0x0000 +OP_Some6ByteHPUpdate=0x0000 seems to happen when you target group members +OP_QueryResponseThing=0x0000 + + +# realityincarnate: these are just here to stop annoying several thousand byte packet dumps +#OP_LoginUnknown1=0x46d3 # OP_SendSpellChecksum +#OP_LoginUnknown2=0x040b # OP_SendSkillCapsChecksum + +# Petition Opcodes +OP_PetitionSearch=0x0000 search term for petition +OP_PetitionSearchResults=0x0000 (list of?) matches from search +OP_PetitionSearchText=0x0000 text results of search + +OP_PetitionUpdate=0x0000 +OP_PetitionCheckout=0x0000 +OP_PetitionCheckIn=0x0000 +OP_PetitionQue=0x0000 +OP_PetitionUnCheckout=0x0000 +OP_PetitionDelete=0x0000 +OP_DeletePetition=0x0000 +OP_PetitionResolve=0x0000 +OP_PDeletePetition=0x0000 +OP_PetitionBug=0x0000 +OP_PetitionRefresh=0x0000 +OP_PetitionCheckout2=0x0000 +OP_PetitionViewPetition=0x0000 + +# Login opcodes +OP_SessionReady=0x0000 +OP_Login=0x0000 +OP_ServerListRequest=0x0000 +OP_PlayEverquestRequest=0x0000 +OP_PlayEverquestResponse=0x0000 +OP_ChatMessage=0x0000 +OP_LoginAccepted=0x0000 +OP_ServerListResponse=0x0000 +OP_Poll=0x0000 +OP_EnterChat=0x0000 +OP_PollResponse=0x0000 + +# raw opcodes +OP_RAWSessionRequest=0x0000 +OP_RAWSessionResponse=0x0000 +OP_RAWCombined=0x0000 +OP_RAWSessionDisconnect=0x0000 +OP_RAWKeepAlive=0x0000 +OP_RAWSessionStatRequest=0x0000 +OP_RAWSessionStatResponse=0x0000 +OP_RAWPacket=0x0000 +OP_RAWFragment=0x0000 +OP_RAWOutOfOrderAck=0x0000 +OP_RAWAck=0x0000 +OP_RAWAppCombined=0x0000 +OP_RAWOutOfSession=0x0000 + +# we need to document the differences between these packets to make identifying them easier +OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs +OP_InitialHPUpdate=0x0000 diff --git a/utils/EQExtractor2/EQExtractor2/zlib.net.dll b/utils/EQExtractor2/EQExtractor2/zlib.net.dll new file mode 100644 index 0000000000000000000000000000000000000000..c156f8e7c5880363cf0afa50123c0d3dbdbf6021 GIT binary patch literal 69632 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 RChPI(G1~a>cFly`)sifBq zd&k37<&x_5|O z(7SL1A<-l}hG-EOi!h9M1?bU3&mW%p*fzr*7)(32_va-sj8dM=shB)vGWAA3X;u@^ zP2(4kH(kwH6$dsXj1FM6rW4|)b#+0#2X(m%3WowdG2<|-~I zWihE*k&Yp>R%>Q4hQdWdL!G;UFX`(X(s)bnP(MaItRwVl^lWyHA*^|a^ATf9O6F%6 z#A_Mp?B3Qo)Y;t&3u@sKa_KUxE7vG3uQpqaYva{;myST4b+_(d(_kh-=jJ?tX;lZh zP+vn(f=d(j=t$0Sq9&O;Wf;fwqm{a)caVBxC)0CFwRNcBp?#{~(CH+e9r(ItQhWR2OhRU2+vB zlb$^5GQ<6{dEs!I4|utFIl$McP0BnY_a=ImG6=)M*oPrhd@~HnQjFvgHeEiRt4m>I zt@Y5WIT@i@iE(Ay!~WQ-V4n13AEi39r`2dytTM64;zsWy>(^tV$3~JHvqi(hz1zD6 zcAwF^dwKsr@1hZW$k4SD*?AF5dj~pqw_wpRIckG$`pFSXb`Ff}96C&9=#4$S97PY4 z1`883Sl`IxsC7fw9CsfkVhI*MorAk4r_h_>omh~fj+3J?esmA@%g%IiWGlPo7}?v9 zqc4s$98VWJZ!y4a_!-6RYCw0|9@BSCa0ho3SkmcXYzgXy--O$xx)j!yJA3oij4^=A z^nq?!_G4u0&1^KZ`P`x`&avns6B`?vSjvsGY9Lm0d-!1{k!t=ADNdIxsEV!WUX6e~IhvHh2EP7m~2 zVUtU4JWR=rSX`;D9))>zgdK>>6ilrnJq911RD%-_Qv=dAvt5s$hXt8rf`yOj!P)oHyW?44M0=T{UUF&FH1D8CTVRRs3CRZ7~EZ_lV215^9 zV=X3BX~I?gI3kooguESK|28%msPrICx^aYolUyv$F{We7g|~x)_(j|yyctxb!=PXo zM|eAUdJ)sZqvO)e;2S`gv?2V<095%z?tDyX4{{g*jN^YpKk^&KuiI|MKbGDvC5(V; zJFxANE2JpzGCVA6Tn@)Ehi>p~$M5p6gnrCPTCNL3GVGG1KB|hG7l3B~6xNq~8Km6? zd<1pf0e*GjL@w5db<;ZXr(r2rpCY~wbx@~~FC&t7g1#G=pQBQ8(OPDnf)=P=u7U8{Kl$3CmE@!hWsq0v~ONxv=j2Skyz3I#QV;A28{nxh+XMbz$HKt^{qI6#Cdn z-X{7O4(om7r)vN?AFRqLebbBxWzFhM@>w#nTqDn4zcllPm*xgr-#4-h*XlxlzcYsK zcZ3!TwVL;Ume$4f>y^+7Y3?>^4c2$og{M9p&*<&w$0s{Yd>(Q+J@YT`t6YHnnUEBQLq7S-%xO2lBU*??fSa#+f@(y2=cwv|;as7P_4PCC<=yTacb6j??&2A${K@?-}&~dfX=9WaX59x9#PoK+w z-|ln&5xFdKNo1-@_lmqrJD1Zqj;mcWHx}Ww7stI_F>TYiiHNrCTtA6#$@xhk=f`D2 zFY9{*KFMi>VV0ZzO4&@}hn%U&5`>9|rZH z5*VpXR@FpI>o6{dYNIeJ`6dZpk79C4IVk+WAQP56^+;d69&+OmUWBt}4&pXu{bJUS zBvD*0noemO!HIOf6wo*^e{s3iuu4c*`e+~=RTA?`6*71g66PGo;u2I54pGrf!i`69 z!&s+QHC27^hwG;M({XvUQ*%{~xIC&_gJ$X-W)mZ%0UohqN}>o-TMMbHgXHt<6jNeo z1dSraxo4622;;oKH?c8_c@DF|`{kJ=mw3LD&BXbl3C0yED#kTzIA`J{p5U^PECnz~ zXW}~DpTgua?GulbDgnrLR;Omr0GCOaXXiiK!kc`!)@&22=JD5{?X zEAAr0`!V;d#znlDY1p6_8ZDIzJ-zJiI&M$;508DsQu@)hg)_7g^n&`^zkGMcUGty4 z?c?{Kx-j?jkKMiJrZk^9{!{CfnWrZI*4_Kc=3`IXf9vHxw?B07#DR|rUw?S|&5hf; zryn1GIsDm$bN7A`jeTa` zV`thfJ+i!YY5v6t4J~KK_kQ}?fsR8{W*y4D_5HWsctH-(-2jn&E;+^31)5p8#Ba=@ zSvCDvVe$@FChiFNL%qREH3Aa>>L5pkXx4CoVLqrOD|Ma+t0)XuV{&egNeb#U$|m9X zV04X*?TGOEf~5e(g|UuLGbqkb>(*1_zGS9#!3%x5fjyqJD4zuH-TkRNLVb{LJ_ejFLEDNp{c2zKV#z9w~HSN9C*Ri zbE%&m;@L0X)wK}wsgut*;o8=g2bz{IS;e`PjMJ!8sk-@uk)^~jg-&h8I4}Pt9;y38 z@lqvmRnR-A-ayg%MY}r}@7VEh2Zk|o{9(%$a}+`~`X<4va$sVhg^gJRECLn*i-1MI zB481?aRhXKlR3!SGqjCtb^4jeOZ@Mcho%z(+o1nA|boL)?qlkW9l?B?)1ZMh%n$}vd%FtqPLxV zWW&QsPySj;T6o9d`j#!(RW=&AjBS)QWljKBdCC4LyWes`@s&$^*+XBlv#O_s*qPF@ zvN=y&MPMP$Zy3`gZ**DaZW=6bRN9gKAlF{{YHh2zg zb2X}0W2$rg8Rk>APmM*kVOh8Ss~zH7XA!UnSOhEr76FTZMZh9p5wHkY1a2OIi|PNB p`h3pKH?=J+0u}*_fJML}U=gqgSOhEr76FTZMZh9p5%_-~@GsuM1!@2Q literal 0 HcmV?d00001