mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 17:51:28 +00:00
144 lines
6.8 KiB
C#
144 lines
6.8 KiB
C#
//
|
|
// Copyright (C) 2001-2010 EQEMu Development Team (http://eqemulator.net). Distributed under GPL version 2.
|
|
//
|
|
//
|
|
using System;
|
|
using System.IO;
|
|
using System.Collections.Generic;
|
|
using EQExtractor2.InternalTypes;
|
|
using EQExtractor2.OpCodes;
|
|
using EQPacket;
|
|
using MyUtils;
|
|
|
|
namespace EQExtractor2.Patches
|
|
{
|
|
class PatchJuly132010Decoder : PatchMay122010Decoder
|
|
{
|
|
public PatchJuly132010Decoder()
|
|
{
|
|
Version = "EQ Client Build Date July 13 2010. (Including Test Server June 24 to July 8 2010).";
|
|
|
|
ExpectedPPLength = 26640;
|
|
}
|
|
|
|
public override void RegisterExplorers()
|
|
{
|
|
base.RegisterExplorers();
|
|
|
|
//OpManager.RegisterExplorer("OP_ZoneEntry", ExploreZoneEntry);
|
|
//OpManager.RegisterExplorer("OP_CastSpell", ExploreCastSpell);
|
|
//OpManager.RegisterExplorer("OP_SpawnAppearance", ExploreSpawnAppearance);
|
|
//OpManager.RegisterExplorer("OP_ItemPacket", ExploreItemPacket);
|
|
}
|
|
|
|
public void ExploreItemPacket(StreamWriter OutputStream, ByteStream Buffer, PacketDirection Direction)
|
|
{
|
|
UInt32 StackSize = Buffer.ReadUInt32();
|
|
Buffer.SkipBytes(4);
|
|
UInt32 Slot = Buffer.ReadUInt32();
|
|
UInt32 MerchantSlot = Buffer.ReadUInt32();
|
|
UInt32 Price = Buffer.ReadUInt32();
|
|
Int32 Quantity = Buffer.ReadInt32();
|
|
Buffer.SetPosition(68);
|
|
string Name = Buffer.ReadString(true);
|
|
|
|
OutputStream.WriteLine("Item: {0} at Slot: {1}", Name, Slot);
|
|
|
|
}
|
|
|
|
|
|
public void ExploreCastSpell(StreamWriter OutputStream, ByteStream Buffer, PacketDirection Direction)
|
|
{
|
|
UInt32 Slot = Buffer.ReadUInt32();
|
|
UInt32 SpellID = Buffer.ReadUInt32();
|
|
|
|
OutputStream.WriteLine("Casting spell {0} from slot {1}", SpellID, Slot);
|
|
|
|
OutputStream.WriteLine("");
|
|
}
|
|
public void ExploreMercenaryDataResponse(StreamWriter OutputStream, ByteStream Buffer, PacketDirection Direction)
|
|
{
|
|
UInt32 TypeCount = Buffer.ReadUInt32();
|
|
|
|
//OutputStream.WriteLine("Type Count: {0}\r\n", TypeCount);
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Number of Types (Journeyman and Apprentice in this case\r\n", TypeCount);
|
|
for (int i = 0; i < TypeCount; ++i)
|
|
{
|
|
UInt32 TypeDBStringID = Buffer.ReadUInt32();
|
|
//OutputStream.WriteLine(" Type {0} DBStringID {1}", i, TypeDBStringID);
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // DBStringID for Type {1}", TypeDBStringID, i);
|
|
}
|
|
|
|
UInt32 Count2 = Buffer.ReadUInt32();
|
|
|
|
//OutputStream.WriteLine(" Count 2 is {0}", Count2);
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Count of Sub-types that follow", Count2);
|
|
|
|
for (int i = 0; i < Count2; ++i)
|
|
{
|
|
int Offset = Buffer.GetPosition();
|
|
|
|
UInt32 Unknown1 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Unknown", Unknown1);
|
|
UInt32 DBStringID1 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // DBStringID of Type", DBStringID1);
|
|
UInt32 DBStringID2 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // DBStringID of Sub-Type", DBStringID2);
|
|
UInt32 PurchaseCost = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Purchase Cost", PurchaseCost);
|
|
UInt32 UpkeepCost = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Upkeep Cost", UpkeepCost);
|
|
UInt32 Unknown2 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Unknown", Unknown2);
|
|
UInt32 Unknown3 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Unknown", Unknown3);
|
|
UInt32 Unknown4 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Unknown", Unknown4);
|
|
|
|
byte Unknown5 = Buffer.ReadByte();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint8, Buffer, {0}); // Unknown", Unknown5);
|
|
|
|
UInt32 Unknown6 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Unknown", Unknown6);
|
|
UInt32 Unknown7 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Unknown", Unknown7);
|
|
UInt32 Unknown8 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Unknown", Unknown8);
|
|
|
|
UInt32 StanceCount = Buffer.ReadUInt32();
|
|
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Number of Stances for this Merc", StanceCount);
|
|
|
|
UInt32 Unknown10 = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Unknown", Unknown10);
|
|
|
|
byte Unknown11 = Buffer.ReadByte();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint8, Buffer, {0}); // Unknown", Unknown11);
|
|
|
|
|
|
//OutputStream.WriteLine(" Offset: {5} Unknown1: {0} DBStrings: {1} {2} Purchase: {3} Upkeep: {4}\r\n", Unknown1, DBStringID1, DBStringID2,
|
|
// PurchaseCost, UpkeepCost, Offset);
|
|
//OutputStream.WriteLine(" Unknowns: {0} {1} {2} {3} {4} {5} {6} {7} {8}\r\n",
|
|
// Unknown2, Unknown3, Unknown4, Unknown5, Unknown6, Unknown7, Unknown8, Unknown10, Unknown11);
|
|
|
|
//OutputStream.WriteLine(" Stance Count: {0}", StanceCount);
|
|
|
|
for (int j = 0; j < StanceCount; ++j)
|
|
{
|
|
UInt32 StanceNum = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Stance Number", StanceNum);
|
|
UInt32 StanceType = Buffer.ReadUInt32();
|
|
OutputStream.WriteLine("VARSTRUCT_ENCODE_TYPE(uint32, Buffer, {0}); // Stance DBStringID (1 = Passive, 2 = Balanced etc.", StanceType);
|
|
|
|
//OutputStream.WriteLine(" {0}: {1}", StanceNum, StanceType);
|
|
}
|
|
OutputStream.WriteLine("");
|
|
}
|
|
|
|
OutputStream.WriteLine("\r\nBuffer position at end is {0}", Buffer.GetPosition());
|
|
OutputStream.WriteLine("");
|
|
}
|
|
|
|
}
|
|
}
|