From 2b305b53a4eb72e91736b79c0004c3ae31746b32 Mon Sep 17 00:00:00 2001 From: fantoms Date: Fri, 12 May 2017 21:23:04 -0500 Subject: [PATCH 1/2] Attempting to add Inventory's Wield Object Event and the Remove Object message --- aclogview/CM_Inventory.cs | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/aclogview/CM_Inventory.cs b/aclogview/CM_Inventory.cs index 75658dd..e88cb15 100644 --- a/aclogview/CM_Inventory.cs +++ b/aclogview/CM_Inventory.cs @@ -15,6 +15,18 @@ public override bool acceptMessageData(BinaryReader messageDataReader, TreeView PacketOpcode opcode = Util.readOpcode(messageDataReader); switch (opcode) { + case PacketOpcode.INVENTORY_WIELD_OBJ_EVENT: // 0x0023 + { + WieldItem message = WieldItem.read(messageDataReader); + message.contributeToTreeView(outputTreeView); + break; + } + case PacketOpcode.INVENTORY_REMOVE_OBJ_EVENT: // 0x0024 + { + RemoveObject message = RemoveObject.read(messageDataReader); + message.contributeToTreeView(outputTreeView); + break; + } case PacketOpcode.Evt_Inventory__PutItemInContainer_ID: { PutItemInContainer message = PutItemInContainer.read(messageDataReader); message.contributeToTreeView(outputTreeView); @@ -95,6 +107,49 @@ public override bool acceptMessageData(BinaryReader messageDataReader, TreeView return handled; } + public class WieldItem : Message + { + public uint i_item; + public uint i_equipMask; + + public static WieldItem read(BinaryReader binaryReader) + { + WieldItem newObj = new WieldItem(); + newObj.i_item = binaryReader.ReadUInt32(); + newObj.i_equipMask = binaryReader.ReadUInt32(); + return newObj; + } + + public override void contributeToTreeView(TreeView treeView) + { + TreeNode rootNode = new TreeNode(this.GetType().Name); + rootNode.Expand(); + rootNode.Nodes.Add("i_item = " + Utility.FormatGuid(i_item)); + rootNode.Nodes.Add("i_equipMask = " + Utility.FormatGuid(i_equipMask)); + treeView.Nodes.Add(rootNode); + } + } + + public class RemoveObject : Message + { + public uint i_item; + + public static RemoveObject read(BinaryReader binaryReader) + { + RemoveObject newObj = new RemoveObject(); + newObj.i_item = binaryReader.ReadUInt32(); + return newObj; + } + + public override void contributeToTreeView(TreeView treeView) + { + TreeNode rootNode = new TreeNode(this.GetType().Name); + rootNode.Expand(); + rootNode.Nodes.Add("i_item = " + Utility.FormatGuid(i_item)); + treeView.Nodes.Add(rootNode); + } + } + public class PutItemInContainer : Message { public uint i_item; public uint i_container; From 8c3b3376e52aa3722372d01639137e99de138076 Mon Sep 17 00:00:00 2001 From: fantoms Date: Fri, 12 May 2017 22:30:12 -0500 Subject: [PATCH 2/2] Also adding 0x0022, INVENTORY_PUT_OBJ_IN_CONTAINER_EVENT, using documentation from the Skunkworks protocol site --- aclogview/CM_Inventory.cs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/aclogview/CM_Inventory.cs b/aclogview/CM_Inventory.cs index e88cb15..08208d7 100644 --- a/aclogview/CM_Inventory.cs +++ b/aclogview/CM_Inventory.cs @@ -15,6 +15,12 @@ public override bool acceptMessageData(BinaryReader messageDataReader, TreeView PacketOpcode opcode = Util.readOpcode(messageDataReader); switch (opcode) { + case PacketOpcode.INVENTORY_PUT_OBJ_IN_CONTAINER_EVENT: //0x0022 + { + PutObjectInContainerEvent message = PutObjectInContainerEvent.read(messageDataReader); + message.contributeToTreeView(outputTreeView); + break; + } case PacketOpcode.INVENTORY_WIELD_OBJ_EVENT: // 0x0023 { WieldItem message = WieldItem.read(messageDataReader); @@ -107,6 +113,36 @@ public override bool acceptMessageData(BinaryReader messageDataReader, TreeView return handled; } + public class PutObjectInContainerEvent : Message + { + public uint i_objectId; + public uint i_container; + public uint i_slot; + public uint i_type; + + public static PutObjectInContainerEvent read(BinaryReader binaryReader) + { + PutObjectInContainerEvent newObj = new PutObjectInContainerEvent(); + newObj.i_objectId = binaryReader.ReadUInt32(); + newObj.i_container = binaryReader.ReadUInt32(); + newObj.i_slot = binaryReader.ReadUInt32(); + newObj.i_type = binaryReader.ReadUInt32(); + return newObj; + } + + public override void contributeToTreeView(TreeView treeView) + { + TreeNode rootNode = new TreeNode(this.GetType().Name); + rootNode.Expand(); + rootNode.Nodes.Add("i_objectId = " + Utility.FormatGuid(i_objectId)); + rootNode.Nodes.Add("i_container = " + Utility.FormatGuid(i_container)); + rootNode.Nodes.Add("i_slot = " + i_slot); + rootNode.Nodes.Add("i_type = " + Utility.FormatGuid(i_type)); + treeView.Nodes.Add(rootNode); + } + } + + public class WieldItem : Message { public uint i_item;