From 6c1b50174ac6b99744216280150590ad41408d20 Mon Sep 17 00:00:00 2001 From: Raymond Date: Wed, 10 Nov 2021 20:24:07 -0500 Subject: [PATCH] Pull MBStart into a read method --- .../Game/Network/Internal/NetworkHandlers.cs | 14 +++--------- .../Structures/MarketBoardCurrentOfferings.cs | 22 +++++++------------ 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/Dalamud/Game/Network/Internal/NetworkHandlers.cs b/Dalamud/Game/Network/Internal/NetworkHandlers.cs index 46b276f38..5dfda2a8b 100644 --- a/Dalamud/Game/Network/Internal/NetworkHandlers.cs +++ b/Dalamud/Game/Network/Internal/NetworkHandlers.cs @@ -77,18 +77,10 @@ namespace Dalamud.Game.Network.Internal { if (opCode == dataManager.ServerOpCodes["MarketBoardItemRequestStart"]) { - var catalogId = (uint)Marshal.ReadInt32(dataPtr); - var amount = Marshal.ReadByte(dataPtr + 0xB); + var data = MarketBoardItemRequest.Read(dataPtr); + this.marketBoardRequests.Add(data); - this.marketBoardRequests.Add(new MarketBoardItemRequest - { - CatalogId = catalogId, - AmountToArrive = amount, - Listings = new List(), - History = new List(), - }); - - Log.Verbose($"NEW MB REQUEST START: item#{catalogId} amount#{amount}"); + Log.Verbose($"NEW MB REQUEST START: item#{data.CatalogId} amount#{data.AmountToArrive}"); return; } diff --git a/Dalamud/Game/Network/Structures/MarketBoardCurrentOfferings.cs b/Dalamud/Game/Network/Structures/MarketBoardCurrentOfferings.cs index ad19f48c5..364a21454 100644 --- a/Dalamud/Game/Network/Structures/MarketBoardCurrentOfferings.cs +++ b/Dalamud/Game/Network/Structures/MarketBoardCurrentOfferings.cs @@ -10,17 +10,14 @@ namespace Dalamud.Game.Network.Structures /// public class MarketBoardCurrentOfferings { - /// - /// Initializes a new instance of the class. - /// - internal MarketBoardCurrentOfferings() + private MarketBoardCurrentOfferings() { } /// /// Gets the list of individual item listings. /// - public List ItemListings { get; internal set; } + public List ItemListings { get; } = new(); /// /// Gets the listing end index. @@ -49,8 +46,6 @@ namespace Dalamud.Game.Network.Structures using var stream = new UnmanagedMemoryStream((byte*)dataPtr.ToPointer(), 1544); using var reader = new BinaryReader(stream); - output.ItemListings = new List(); - for (var i = 0; i < 10; i++) { var listingEntry = new MarketBoardItemListing(); @@ -70,15 +65,14 @@ namespace Dalamud.Game.Network.Structures reader.ReadUInt16(); // durability reader.ReadUInt16(); // spiritbond - listingEntry.Materia = new List(); - for (var materiaIndex = 0; materiaIndex < 5; materiaIndex++) { var materiaVal = reader.ReadUInt16(); - - var materiaEntry = new MarketBoardItemListing.ItemMateria(); - materiaEntry.MateriaId = (materiaVal & 0xFF0) >> 4; - materiaEntry.Index = materiaVal & 0xF; + var materiaEntry = new MarketBoardItemListing.ItemMateria() + { + MateriaId = (materiaVal & 0xFF0) >> 4, + Index = materiaVal & 0xF, + }; if (materiaEntry.MateriaId != 0) listingEntry.Materia.Add(materiaEntry); @@ -154,7 +148,7 @@ namespace Dalamud.Game.Network.Structures /// /// Gets the list of materia attached to this item. /// - public List Materia { get; internal set; } + public List Materia { get; } = new(); /// /// Gets the amount of attached materia.