From 2982c182faaddcdf76a95dbe20d74a5ccc0472b2 Mon Sep 17 00:00:00 2001 From: Anna Clemens Date: Sun, 15 Jan 2023 14:53:35 -0500 Subject: [PATCH] refactor: update for 6.3 --- Glamaholic/GameFunctions.cs | 13 +++++++------ Glamaholic/Glamaholic.csproj | 8 ++++---- Glamaholic/PluginUi.cs | 2 +- Glamaholic/packages.lock.json | 14 +++++++------- 4 files changed, 19 insertions(+), 18 deletions(-) mode change 100644 => 100755 Glamaholic/packages.lock.json diff --git a/Glamaholic/GameFunctions.cs b/Glamaholic/GameFunctions.cs index ed05817..64d1c5c 100755 --- a/Glamaholic/GameFunctions.cs +++ b/Glamaholic/GameFunctions.cs @@ -18,7 +18,7 @@ using Lumina.Excel.GeneratedSheets; namespace Glamaholic { internal class GameFunctions : IDisposable { private static class Signatures { - internal const string SetGlamourPlateSlot = "E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 48 8B 46 10"; + internal const string SetGlamourPlateSlot = "E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 48 8B 46 10 8B 1B"; internal const string ModifyGlamourPlateSlot = "48 89 74 24 ?? 57 48 83 EC 20 80 79 30 00"; internal const string ClearGlamourPlateSlot = "80 79 30 00 4C 8B C1"; internal const string IsInArmoire = "E8 ?? ?? ?? ?? 84 C0 74 16 8B CB"; @@ -132,13 +132,14 @@ namespace Glamaholic { var agents = Framework.Instance()->GetUiModule()->GetAgentModule(); var dresserAgent = agents->GetAgentByInternalId(AgentId.MiragePrismPrismBox); + // these offsets in 6.3-HF1: AD2BEB var itemsStart = *(IntPtr*) ((IntPtr) dresserAgent + 0x28); if (itemsStart == IntPtr.Zero) { return _dresserContents ?? list; } for (var i = 0; i < 800; i++) { - var glamItem = *(GlamourItem*) (itemsStart + i * 28); + var glamItem = *(GlamourItem*) (itemsStart + i * 136); if (glamItem.ItemId == 0) { continue; } @@ -433,15 +434,15 @@ namespace Glamaholic { } } - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 136)] internal readonly struct GlamourItem { - [FieldOffset(4)] + [FieldOffset(0x70)] internal readonly uint Index; - [FieldOffset(8)] + [FieldOffset(0x74)] internal readonly uint ItemId; - [FieldOffset(26)] + [FieldOffset(0x86)] internal readonly byte StainId; } diff --git a/Glamaholic/Glamaholic.csproj b/Glamaholic/Glamaholic.csproj index 7fadb90..20922d0 100755 --- a/Glamaholic/Glamaholic.csproj +++ b/Glamaholic/Glamaholic.csproj @@ -1,7 +1,7 @@ - net6.0-windows + net7.0-windows 1.9.9 true enable @@ -54,8 +54,8 @@ - - + + @@ -63,4 +63,4 @@ - + \ No newline at end of file diff --git a/Glamaholic/PluginUi.cs b/Glamaholic/PluginUi.cs index a59bebd..fe4dfde 100755 --- a/Glamaholic/PluginUi.cs +++ b/Glamaholic/PluginUi.cs @@ -96,7 +96,7 @@ namespace Glamaholic { void SetTryOnSave(bool save) { var tryOnAgent = (IntPtr) Framework.Instance()->GetUiModule()->GetAgentModule()->GetAgentByInternalId(AgentId.Tryon); if (tryOnAgent != IntPtr.Zero) { - *(byte*) (tryOnAgent + 0x2E2) = (byte) (save ? 1 : 0); + *(byte*) (tryOnAgent + 0x30A) = (byte) (save ? 1 : 0); } } diff --git a/Glamaholic/packages.lock.json b/Glamaholic/packages.lock.json old mode 100644 new mode 100755 index f31ca29..627c8a1 --- a/Glamaholic/packages.lock.json +++ b/Glamaholic/packages.lock.json @@ -1,18 +1,18 @@ { "version": 1, "dependencies": { - "net6.0-windows7.0": { + "net7.0-windows7.0": { "DalamudPackager": { "type": "Direct", - "requested": "[2.1.8, )", - "resolved": "2.1.8", - "contentHash": "YqagNXs9InxmqkXzq7kLveImxnodkBEicAhydMXVp7dFjC7xb76U6zGgAax4/BWIWfZeWzr5DJyQSev31kj81A==" + "requested": "[2.1.10, )", + "resolved": "2.1.10", + "contentHash": "S6NrvvOnLgT4GDdgwuKVJjbFo+8ZEj+JsEYk9ojjOR/MMfv1dIFpT8aRJQfI24rtDcw1uF+GnSSMN4WW1yt7fw==" }, "Fody": { "type": "Direct", - "requested": "[6.6.3, )", - "resolved": "6.6.3", - "contentHash": "X1WKKgSNYVtLzdO8dK3YWmfmljA4L0soePcWNouq9X6WbVF4bmivuJdlhTZx/2L3ml6tMvhFe8skIbVQ24PAYA==" + "requested": "[6.6.4, )", + "resolved": "6.6.4", + "contentHash": "vLZS+oa+ndUHYPlx/8n9bBTT3dHkCF0riml4paKq4D663+cZd47x1uagQo32D/gKFZ/sfmV1oqKaLmH0elxq4A==" }, "Resourcer.Fody": { "type": "Direct",