From c7291743b262c22385fdc1c05a5155897a9bac87 Mon Sep 17 00:00:00 2001 From: attick Date: Wed, 6 Nov 2019 18:38:18 -0500 Subject: [PATCH 1/2] Cursed Dictionary to speed icon replacement function. --- Dalamud/Dalamud.csproj | 2 +- Dalamud/Game/Internal/Gui/IconReplacer.cs | 247 ++++++++++++++++++++++ 2 files changed, 248 insertions(+), 1 deletion(-) diff --git a/Dalamud/Dalamud.csproj b/Dalamud/Dalamud.csproj index 9a99ab4ff..9ef9364a2 100644 --- a/Dalamud/Dalamud.csproj +++ b/Dalamud/Dalamud.csproj @@ -7,7 +7,7 @@ Library - D:\Sapphire\recorder\FFXIV.Recorder\/bin + false true Portable diff --git a/Dalamud/Game/Internal/Gui/IconReplacer.cs b/Dalamud/Game/Internal/Gui/IconReplacer.cs index 40630cab0..7918c199a 100644 --- a/Dalamud/Game/Internal/Gui/IconReplacer.cs +++ b/Dalamud/Game/Internal/Gui/IconReplacer.cs @@ -4,6 +4,7 @@ using Dalamud.Game.ClientState.Structs.JobGauge; using Dalamud.Hooking; using Serilog; using System; +using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; using XIVLauncher.Dalamud; @@ -25,6 +26,8 @@ namespace Dalamud.Game.Internal.Gui { private IntPtr byteBase; private Dalamud dalamud; + private Dictionary UsedIDs; + public unsafe IconReplacer(Dalamud dalamud, SigScanner scanner) { this.dalamud = dalamud; this.Address = new IconReplacerAddressResolver(); @@ -34,6 +37,10 @@ namespace Dalamud.Game.Internal.Gui { this.comboTimer = byteBase + 0x1BB5B50; this.lastComboMove = byteBase + 0x1BB5B54; + UsedIDs = new Dictionary(); + + PopulateDict(); + Log.Verbose("===== H O T B A R S ====="); Log.Verbose("IsIconReplaceable address {IsIconReplaceable}", Address.IsIconReplaceable); Log.Verbose("GetIcon address {GetIcon}", Address.GetIcon); @@ -86,6 +93,8 @@ namespace Dalamud.Game.Internal.Gui { } */ + if (!this.UsedIDs.ContainsKey(actionID)) return actionID; + // TODO: this is currently broken // As it stands, don't rely on localCharacter.level for anything. var localPlayer = this.dalamud.ClientState.LocalPlayer; @@ -848,5 +857,243 @@ namespace Dalamud.Game.Internal.Gui { var callback = Marshal.GetDelegateForFunctionPointer(step3); return (IntPtr)callback((long*)num); } + + private void PopulateDict() { + + UsedIDs.Add(16477, true); + UsedIDs.Add(88, true); + UsedIDs.Add(84, true); + UsedIDs.Add(3632, true); + UsedIDs.Add(16468, true); + UsedIDs.Add(3538, true); + UsedIDs.Add(3539, true); + UsedIDs.Add(16457, true); + UsedIDs.Add(42, true); + UsedIDs.Add(45, true); + UsedIDs.Add(16462, true); + UsedIDs.Add(7480, true); + UsedIDs.Add(7481, true); + UsedIDs.Add(7482, true); + UsedIDs.Add(7484, true); + UsedIDs.Add(7485, true); + UsedIDs.Add(3563, true); + UsedIDs.Add(2255, true); + UsedIDs.Add(16488, true); + UsedIDs.Add(16145, true); + UsedIDs.Add(16146, true); + UsedIDs.Add(16149, true); + UsedIDs.Add(7413, true); + UsedIDs.Add(2870, true); + UsedIDs.Add(3575, true); + UsedIDs.Add(149, true); + UsedIDs.Add(17055, true); + UsedIDs.Add(3582, true); + UsedIDs.Add(3581, true); + UsedIDs.Add(163, true); + UsedIDs.Add(16508, true); + UsedIDs.Add(16510, true); + UsedIDs.Add(16543, true); + UsedIDs.Add(167, true); + UsedIDs.Add(15994, true); + UsedIDs.Add(15993, true); + UsedIDs.Add(16007, true); + UsedIDs.Add(16008, true); + UsedIDs.Add(16531, true); + UsedIDs.Add(16534, true); + UsedIDs.Add(3559, true); + UsedIDs.Add(97, true); + UsedIDs.Add(16525, true); + UsedIDs.Add(16524, true); + UsedIDs.Add(7516, true); + UsedIDs.Add(0x3e75, true); + UsedIDs.Add(0x3e76, true); + UsedIDs.Add(0x3e77, true); + UsedIDs.Add(0x3e78, true); + UsedIDs.Add(0x3e7d, true); + UsedIDs.Add(0x3e7e, true); + UsedIDs.Add(0x3e86, true); + UsedIDs.Add(0x3f10, true); + UsedIDs.Add(0x3f25, true); + UsedIDs.Add(0x3f1b, true); + UsedIDs.Add(0x3f1c, true); + UsedIDs.Add(0x3f1d, true); + UsedIDs.Add(0x3f1e, true); + UsedIDs.Add(0x451f, true); + UsedIDs.Add(0x42ff, true); + UsedIDs.Add(0x4300, true); + UsedIDs.Add(0x49d4, true); + UsedIDs.Add(0x49d5, true); + UsedIDs.Add(0x49e9, true); + UsedIDs.Add(0x49ea, true); + UsedIDs.Add(0x49f4, true); + UsedIDs.Add(0x49f7, true); + UsedIDs.Add(0x49f9, true); + UsedIDs.Add(0x4a06, true); + UsedIDs.Add(0x4a31, true); + UsedIDs.Add(0x4a32, true); + UsedIDs.Add(0x4a35, true); + UsedIDs.Add(0x4792, true); + UsedIDs.Add(0x452f, true); + UsedIDs.Add(0x453f, true); + UsedIDs.Add(0x454c, true); + UsedIDs.Add(0x455c, true); + UsedIDs.Add(0x455d, true); + UsedIDs.Add(0x4561, true); + UsedIDs.Add(0x4565, true); + UsedIDs.Add(0x4566, true); + UsedIDs.Add(0x45a0, true); + UsedIDs.Add(0x45c8, true); + UsedIDs.Add(0x45c9, true); + UsedIDs.Add(0x45cd, true); + UsedIDs.Add(0x4197, true); + UsedIDs.Add(0x4199, true); + UsedIDs.Add(0x419b, true); + UsedIDs.Add(0x419d, true); + UsedIDs.Add(0x419f, true); + UsedIDs.Add(0x4198, true); + UsedIDs.Add(0x419a, true); + UsedIDs.Add(0x419c, true); + UsedIDs.Add(0x419e, true); + UsedIDs.Add(0x41a0, true); + UsedIDs.Add(0x41a1, true); + UsedIDs.Add(0x41a2, true); + UsedIDs.Add(0x41a3, true); + UsedIDs.Add(0x417e, true); + UsedIDs.Add(0x404f, true); + UsedIDs.Add(0x4051, true); + UsedIDs.Add(0x4052, true); + UsedIDs.Add(0x4055, true); + UsedIDs.Add(0x4053, true); + UsedIDs.Add(0x4056, true); + UsedIDs.Add(0x405e, true); + UsedIDs.Add(0x405f, true); + UsedIDs.Add(0x4063, true); + UsedIDs.Add(0x406f, true); + UsedIDs.Add(0x4074, true); + UsedIDs.Add(0x4075, true); + UsedIDs.Add(0x4076, true); + UsedIDs.Add(0x407d, true); + UsedIDs.Add(0x407f, true); + UsedIDs.Add(0x4083, true); + UsedIDs.Add(0x4080, true); + UsedIDs.Add(0x4081, true); + UsedIDs.Add(0x4082, true); + UsedIDs.Add(0x4084, true); + UsedIDs.Add(0x408e, true); + UsedIDs.Add(0x4091, true); + UsedIDs.Add(0x4092, true); + UsedIDs.Add(0x4094, true); + UsedIDs.Add(0x4095, true); + UsedIDs.Add(0x409c, true); + UsedIDs.Add(0x409d, true); + UsedIDs.Add(0x40aa, true); + UsedIDs.Add(0x40ab, true); + UsedIDs.Add(0x40ad, true); + UsedIDs.Add(0x40ae, true); + UsedIDs.Add(0x272b, true); + UsedIDs.Add(0x222a, true); + UsedIDs.Add(0x222d, true); + UsedIDs.Add(0x222e, true); + UsedIDs.Add(0x223b, true); + UsedIDs.Add(0x2265, true); + UsedIDs.Add(0x2267, true); + UsedIDs.Add(0x2268, true); + UsedIDs.Add(0x2269, true); + UsedIDs.Add(0x2274, true); + UsedIDs.Add(0x2290, true); + UsedIDs.Add(0x2291, true); + UsedIDs.Add(0x2292, true); + UsedIDs.Add(0x229c, true); + UsedIDs.Add(0x229e, true); + UsedIDs.Add(0x22a8, true); + UsedIDs.Add(0x22b3, true); + UsedIDs.Add(0x22b5, true); + UsedIDs.Add(0x22b7, true); + UsedIDs.Add(0x22d1, true); + UsedIDs.Add(0x4575, true); + UsedIDs.Add(0x2335, true); + UsedIDs.Add(0x1ebb, true); + UsedIDs.Add(0x1cdd, true); + UsedIDs.Add(0x1cee, true); + UsedIDs.Add(0x1cef, true); + UsedIDs.Add(0x1cf1, true); + UsedIDs.Add(0x1cf3, true); + UsedIDs.Add(0x1cf4, true); + UsedIDs.Add(0x1cf7, true); + UsedIDs.Add(0x1cfc, true); + UsedIDs.Add(0x1d17, true); + UsedIDs.Add(0x1d00, true); + UsedIDs.Add(0x1d01, true); + UsedIDs.Add(0x1d05, true); + UsedIDs.Add(0x1d07, true); + UsedIDs.Add(0x1d0b, true); + UsedIDs.Add(0x1d0d, true); + UsedIDs.Add(0x1d0f, true); + UsedIDs.Add(0x1d12, true); + UsedIDs.Add(0x1d13, true); + UsedIDs.Add(0x1d4f, true); + UsedIDs.Add(0x1d64, true); + UsedIDs.Add(0x1d50, true); + UsedIDs.Add(0x1d58, true); + UsedIDs.Add(0x1d59, true); + UsedIDs.Add(0x1d51, true); + UsedIDs.Add(0x1d53, true); + UsedIDs.Add(0x1d66, true); + UsedIDs.Add(0x1d55, true); + UsedIDs.Add(0xdda, true); + UsedIDs.Add(0xddd, true); + UsedIDs.Add(0xdde, true); + UsedIDs.Add(0xde3, true); + UsedIDs.Add(0xdf0, true); + UsedIDs.Add(0xdfb, true); + UsedIDs.Add(0xe00, true); + UsedIDs.Add(0xe0b, true); + UsedIDs.Add(0xe0c, true); + UsedIDs.Add(0xe0e, true); + UsedIDs.Add(0xe0f, true); + UsedIDs.Add(0xe11, true); + UsedIDs.Add(0xfed, true); + UsedIDs.Add(0xff7, true); + UsedIDs.Add(0xffb, true); + UsedIDs.Add(0xfe9, true); + UsedIDs.Add(0xb30, true); + UsedIDs.Add(0x12e, true); + UsedIDs.Add(0x8d3, true); + UsedIDs.Add(0x8d4, true); + UsedIDs.Add(0x8d5, true); + UsedIDs.Add(0x8d7, true); + UsedIDs.Add(0xb32, true); + UsedIDs.Add(0xb34, true); + UsedIDs.Add(0xb38, true); + UsedIDs.Add(0xb39, true); + UsedIDs.Add(0xb3e, true); + UsedIDs.Add(0x12d, true); + UsedIDs.Add(0x15, true); + UsedIDs.Add(0x26, true); + UsedIDs.Add(0x31, true); + UsedIDs.Add(0x33, true); + UsedIDs.Add(0x4b, true); + UsedIDs.Add(0x5c, true); + UsedIDs.Add(0x62, true); + UsedIDs.Add(0x64, true); + UsedIDs.Add(0x71, true); + UsedIDs.Add(0x77, true); + UsedIDs.Add(0x7f, true); + UsedIDs.Add(0x79, true); + UsedIDs.Add(0x84, true); + UsedIDs.Add(0x90, true); + UsedIDs.Add(0x99, true); + UsedIDs.Add(0xa4, true); + UsedIDs.Add(0xb2, true); + UsedIDs.Add(0xa8, true); + UsedIDs.Add(0xac, true); + UsedIDs.Add(0xb8, true); + UsedIDs.Add(0xe2, true); + UsedIDs.Add(0x10f, true); + UsedIDs.Add(0xf3, true); + UsedIDs.Add(0x10e, true); + UsedIDs.Add(0x110, true); + UsedIDs.Add(0x111, true); + } } } From 36670456d5ae83bbf050b32283449a04424a4ad7 Mon Sep 17 00:00:00 2001 From: attick Date: Wed, 6 Nov 2019 19:44:18 -0500 Subject: [PATCH 2/2] Swap from Dictionary to Hashset. --- Dalamud/Game/Internal/Gui/IconReplacer.cs | 474 +++++++++++----------- 1 file changed, 237 insertions(+), 237 deletions(-) diff --git a/Dalamud/Game/Internal/Gui/IconReplacer.cs b/Dalamud/Game/Internal/Gui/IconReplacer.cs index 7918c199a..4ccb5d1ed 100644 --- a/Dalamud/Game/Internal/Gui/IconReplacer.cs +++ b/Dalamud/Game/Internal/Gui/IconReplacer.cs @@ -26,7 +26,7 @@ namespace Dalamud.Game.Internal.Gui { private IntPtr byteBase; private Dalamud dalamud; - private Dictionary UsedIDs; + private HashSet UsedIDs; public unsafe IconReplacer(Dalamud dalamud, SigScanner scanner) { this.dalamud = dalamud; @@ -37,7 +37,7 @@ namespace Dalamud.Game.Internal.Gui { this.comboTimer = byteBase + 0x1BB5B50; this.lastComboMove = byteBase + 0x1BB5B54; - UsedIDs = new Dictionary(); + UsedIDs = new HashSet(); PopulateDict(); @@ -93,7 +93,7 @@ namespace Dalamud.Game.Internal.Gui { } */ - if (!this.UsedIDs.ContainsKey(actionID)) return actionID; + if (!this.UsedIDs.Contains(actionID)) return actionID; // TODO: this is currently broken // As it stands, don't rely on localCharacter.level for anything. @@ -860,240 +860,240 @@ namespace Dalamud.Game.Internal.Gui { private void PopulateDict() { - UsedIDs.Add(16477, true); - UsedIDs.Add(88, true); - UsedIDs.Add(84, true); - UsedIDs.Add(3632, true); - UsedIDs.Add(16468, true); - UsedIDs.Add(3538, true); - UsedIDs.Add(3539, true); - UsedIDs.Add(16457, true); - UsedIDs.Add(42, true); - UsedIDs.Add(45, true); - UsedIDs.Add(16462, true); - UsedIDs.Add(7480, true); - UsedIDs.Add(7481, true); - UsedIDs.Add(7482, true); - UsedIDs.Add(7484, true); - UsedIDs.Add(7485, true); - UsedIDs.Add(3563, true); - UsedIDs.Add(2255, true); - UsedIDs.Add(16488, true); - UsedIDs.Add(16145, true); - UsedIDs.Add(16146, true); - UsedIDs.Add(16149, true); - UsedIDs.Add(7413, true); - UsedIDs.Add(2870, true); - UsedIDs.Add(3575, true); - UsedIDs.Add(149, true); - UsedIDs.Add(17055, true); - UsedIDs.Add(3582, true); - UsedIDs.Add(3581, true); - UsedIDs.Add(163, true); - UsedIDs.Add(16508, true); - UsedIDs.Add(16510, true); - UsedIDs.Add(16543, true); - UsedIDs.Add(167, true); - UsedIDs.Add(15994, true); - UsedIDs.Add(15993, true); - UsedIDs.Add(16007, true); - UsedIDs.Add(16008, true); - UsedIDs.Add(16531, true); - UsedIDs.Add(16534, true); - UsedIDs.Add(3559, true); - UsedIDs.Add(97, true); - UsedIDs.Add(16525, true); - UsedIDs.Add(16524, true); - UsedIDs.Add(7516, true); - UsedIDs.Add(0x3e75, true); - UsedIDs.Add(0x3e76, true); - UsedIDs.Add(0x3e77, true); - UsedIDs.Add(0x3e78, true); - UsedIDs.Add(0x3e7d, true); - UsedIDs.Add(0x3e7e, true); - UsedIDs.Add(0x3e86, true); - UsedIDs.Add(0x3f10, true); - UsedIDs.Add(0x3f25, true); - UsedIDs.Add(0x3f1b, true); - UsedIDs.Add(0x3f1c, true); - UsedIDs.Add(0x3f1d, true); - UsedIDs.Add(0x3f1e, true); - UsedIDs.Add(0x451f, true); - UsedIDs.Add(0x42ff, true); - UsedIDs.Add(0x4300, true); - UsedIDs.Add(0x49d4, true); - UsedIDs.Add(0x49d5, true); - UsedIDs.Add(0x49e9, true); - UsedIDs.Add(0x49ea, true); - UsedIDs.Add(0x49f4, true); - UsedIDs.Add(0x49f7, true); - UsedIDs.Add(0x49f9, true); - UsedIDs.Add(0x4a06, true); - UsedIDs.Add(0x4a31, true); - UsedIDs.Add(0x4a32, true); - UsedIDs.Add(0x4a35, true); - UsedIDs.Add(0x4792, true); - UsedIDs.Add(0x452f, true); - UsedIDs.Add(0x453f, true); - UsedIDs.Add(0x454c, true); - UsedIDs.Add(0x455c, true); - UsedIDs.Add(0x455d, true); - UsedIDs.Add(0x4561, true); - UsedIDs.Add(0x4565, true); - UsedIDs.Add(0x4566, true); - UsedIDs.Add(0x45a0, true); - UsedIDs.Add(0x45c8, true); - UsedIDs.Add(0x45c9, true); - UsedIDs.Add(0x45cd, true); - UsedIDs.Add(0x4197, true); - UsedIDs.Add(0x4199, true); - UsedIDs.Add(0x419b, true); - UsedIDs.Add(0x419d, true); - UsedIDs.Add(0x419f, true); - UsedIDs.Add(0x4198, true); - UsedIDs.Add(0x419a, true); - UsedIDs.Add(0x419c, true); - UsedIDs.Add(0x419e, true); - UsedIDs.Add(0x41a0, true); - UsedIDs.Add(0x41a1, true); - UsedIDs.Add(0x41a2, true); - UsedIDs.Add(0x41a3, true); - UsedIDs.Add(0x417e, true); - UsedIDs.Add(0x404f, true); - UsedIDs.Add(0x4051, true); - UsedIDs.Add(0x4052, true); - UsedIDs.Add(0x4055, true); - UsedIDs.Add(0x4053, true); - UsedIDs.Add(0x4056, true); - UsedIDs.Add(0x405e, true); - UsedIDs.Add(0x405f, true); - UsedIDs.Add(0x4063, true); - UsedIDs.Add(0x406f, true); - UsedIDs.Add(0x4074, true); - UsedIDs.Add(0x4075, true); - UsedIDs.Add(0x4076, true); - UsedIDs.Add(0x407d, true); - UsedIDs.Add(0x407f, true); - UsedIDs.Add(0x4083, true); - UsedIDs.Add(0x4080, true); - UsedIDs.Add(0x4081, true); - UsedIDs.Add(0x4082, true); - UsedIDs.Add(0x4084, true); - UsedIDs.Add(0x408e, true); - UsedIDs.Add(0x4091, true); - UsedIDs.Add(0x4092, true); - UsedIDs.Add(0x4094, true); - UsedIDs.Add(0x4095, true); - UsedIDs.Add(0x409c, true); - UsedIDs.Add(0x409d, true); - UsedIDs.Add(0x40aa, true); - UsedIDs.Add(0x40ab, true); - UsedIDs.Add(0x40ad, true); - UsedIDs.Add(0x40ae, true); - UsedIDs.Add(0x272b, true); - UsedIDs.Add(0x222a, true); - UsedIDs.Add(0x222d, true); - UsedIDs.Add(0x222e, true); - UsedIDs.Add(0x223b, true); - UsedIDs.Add(0x2265, true); - UsedIDs.Add(0x2267, true); - UsedIDs.Add(0x2268, true); - UsedIDs.Add(0x2269, true); - UsedIDs.Add(0x2274, true); - UsedIDs.Add(0x2290, true); - UsedIDs.Add(0x2291, true); - UsedIDs.Add(0x2292, true); - UsedIDs.Add(0x229c, true); - UsedIDs.Add(0x229e, true); - UsedIDs.Add(0x22a8, true); - UsedIDs.Add(0x22b3, true); - UsedIDs.Add(0x22b5, true); - UsedIDs.Add(0x22b7, true); - UsedIDs.Add(0x22d1, true); - UsedIDs.Add(0x4575, true); - UsedIDs.Add(0x2335, true); - UsedIDs.Add(0x1ebb, true); - UsedIDs.Add(0x1cdd, true); - UsedIDs.Add(0x1cee, true); - UsedIDs.Add(0x1cef, true); - UsedIDs.Add(0x1cf1, true); - UsedIDs.Add(0x1cf3, true); - UsedIDs.Add(0x1cf4, true); - UsedIDs.Add(0x1cf7, true); - UsedIDs.Add(0x1cfc, true); - UsedIDs.Add(0x1d17, true); - UsedIDs.Add(0x1d00, true); - UsedIDs.Add(0x1d01, true); - UsedIDs.Add(0x1d05, true); - UsedIDs.Add(0x1d07, true); - UsedIDs.Add(0x1d0b, true); - UsedIDs.Add(0x1d0d, true); - UsedIDs.Add(0x1d0f, true); - UsedIDs.Add(0x1d12, true); - UsedIDs.Add(0x1d13, true); - UsedIDs.Add(0x1d4f, true); - UsedIDs.Add(0x1d64, true); - UsedIDs.Add(0x1d50, true); - UsedIDs.Add(0x1d58, true); - UsedIDs.Add(0x1d59, true); - UsedIDs.Add(0x1d51, true); - UsedIDs.Add(0x1d53, true); - UsedIDs.Add(0x1d66, true); - UsedIDs.Add(0x1d55, true); - UsedIDs.Add(0xdda, true); - UsedIDs.Add(0xddd, true); - UsedIDs.Add(0xdde, true); - UsedIDs.Add(0xde3, true); - UsedIDs.Add(0xdf0, true); - UsedIDs.Add(0xdfb, true); - UsedIDs.Add(0xe00, true); - UsedIDs.Add(0xe0b, true); - UsedIDs.Add(0xe0c, true); - UsedIDs.Add(0xe0e, true); - UsedIDs.Add(0xe0f, true); - UsedIDs.Add(0xe11, true); - UsedIDs.Add(0xfed, true); - UsedIDs.Add(0xff7, true); - UsedIDs.Add(0xffb, true); - UsedIDs.Add(0xfe9, true); - UsedIDs.Add(0xb30, true); - UsedIDs.Add(0x12e, true); - UsedIDs.Add(0x8d3, true); - UsedIDs.Add(0x8d4, true); - UsedIDs.Add(0x8d5, true); - UsedIDs.Add(0x8d7, true); - UsedIDs.Add(0xb32, true); - UsedIDs.Add(0xb34, true); - UsedIDs.Add(0xb38, true); - UsedIDs.Add(0xb39, true); - UsedIDs.Add(0xb3e, true); - UsedIDs.Add(0x12d, true); - UsedIDs.Add(0x15, true); - UsedIDs.Add(0x26, true); - UsedIDs.Add(0x31, true); - UsedIDs.Add(0x33, true); - UsedIDs.Add(0x4b, true); - UsedIDs.Add(0x5c, true); - UsedIDs.Add(0x62, true); - UsedIDs.Add(0x64, true); - UsedIDs.Add(0x71, true); - UsedIDs.Add(0x77, true); - UsedIDs.Add(0x7f, true); - UsedIDs.Add(0x79, true); - UsedIDs.Add(0x84, true); - UsedIDs.Add(0x90, true); - UsedIDs.Add(0x99, true); - UsedIDs.Add(0xa4, true); - UsedIDs.Add(0xb2, true); - UsedIDs.Add(0xa8, true); - UsedIDs.Add(0xac, true); - UsedIDs.Add(0xb8, true); - UsedIDs.Add(0xe2, true); - UsedIDs.Add(0x10f, true); - UsedIDs.Add(0xf3, true); - UsedIDs.Add(0x10e, true); - UsedIDs.Add(0x110, true); - UsedIDs.Add(0x111, true); + UsedIDs.Add(16477); + UsedIDs.Add(88); + UsedIDs.Add(84); + UsedIDs.Add(3632); + UsedIDs.Add(16468); + UsedIDs.Add(3538); + UsedIDs.Add(3539); + UsedIDs.Add(16457); + UsedIDs.Add(42); + UsedIDs.Add(45); + UsedIDs.Add(16462); + UsedIDs.Add(7480); + UsedIDs.Add(7481); + UsedIDs.Add(7482); + UsedIDs.Add(7484); + UsedIDs.Add(7485); + UsedIDs.Add(3563); + UsedIDs.Add(2255); + UsedIDs.Add(16488); + UsedIDs.Add(16145); + UsedIDs.Add(16146); + UsedIDs.Add(16149); + UsedIDs.Add(7413); + UsedIDs.Add(2870); + UsedIDs.Add(3575); + UsedIDs.Add(149); + UsedIDs.Add(17055); + UsedIDs.Add(3582); + UsedIDs.Add(3581); + UsedIDs.Add(163); + UsedIDs.Add(16508); + UsedIDs.Add(16510); + UsedIDs.Add(16543); + UsedIDs.Add(167); + UsedIDs.Add(15994); + UsedIDs.Add(15993); + UsedIDs.Add(16007); + UsedIDs.Add(16008); + UsedIDs.Add(16531); + UsedIDs.Add(16534); + UsedIDs.Add(3559); + UsedIDs.Add(97); + UsedIDs.Add(16525); + UsedIDs.Add(16524); + UsedIDs.Add(7516); + UsedIDs.Add(0x3e75); + UsedIDs.Add(0x3e76); + UsedIDs.Add(0x3e77); + UsedIDs.Add(0x3e78); + UsedIDs.Add(0x3e7d); + UsedIDs.Add(0x3e7e); + UsedIDs.Add(0x3e86); + UsedIDs.Add(0x3f10); + UsedIDs.Add(0x3f25); + UsedIDs.Add(0x3f1b); + UsedIDs.Add(0x3f1c); + UsedIDs.Add(0x3f1d); + UsedIDs.Add(0x3f1e); + UsedIDs.Add(0x451f); + UsedIDs.Add(0x42ff); + UsedIDs.Add(0x4300); + UsedIDs.Add(0x49d4); + UsedIDs.Add(0x49d5); + UsedIDs.Add(0x49e9); + UsedIDs.Add(0x49ea); + UsedIDs.Add(0x49f4); + UsedIDs.Add(0x49f7); + UsedIDs.Add(0x49f9); + UsedIDs.Add(0x4a06); + UsedIDs.Add(0x4a31); + UsedIDs.Add(0x4a32); + UsedIDs.Add(0x4a35); + UsedIDs.Add(0x4792); + UsedIDs.Add(0x452f); + UsedIDs.Add(0x453f); + UsedIDs.Add(0x454c); + UsedIDs.Add(0x455c); + UsedIDs.Add(0x455d); + UsedIDs.Add(0x4561); + UsedIDs.Add(0x4565); + UsedIDs.Add(0x4566); + UsedIDs.Add(0x45a0); + UsedIDs.Add(0x45c8); + UsedIDs.Add(0x45c9); + UsedIDs.Add(0x45cd); + UsedIDs.Add(0x4197); + UsedIDs.Add(0x4199); + UsedIDs.Add(0x419b); + UsedIDs.Add(0x419d); + UsedIDs.Add(0x419f); + UsedIDs.Add(0x4198); + UsedIDs.Add(0x419a); + UsedIDs.Add(0x419c); + UsedIDs.Add(0x419e); + UsedIDs.Add(0x41a0); + UsedIDs.Add(0x41a1); + UsedIDs.Add(0x41a2); + UsedIDs.Add(0x41a3); + UsedIDs.Add(0x417e); + UsedIDs.Add(0x404f); + UsedIDs.Add(0x4051); + UsedIDs.Add(0x4052); + UsedIDs.Add(0x4055); + UsedIDs.Add(0x4053); + UsedIDs.Add(0x4056); + UsedIDs.Add(0x405e); + UsedIDs.Add(0x405f); + UsedIDs.Add(0x4063); + UsedIDs.Add(0x406f); + UsedIDs.Add(0x4074); + UsedIDs.Add(0x4075); + UsedIDs.Add(0x4076); + UsedIDs.Add(0x407d); + UsedIDs.Add(0x407f); + UsedIDs.Add(0x4083); + UsedIDs.Add(0x4080); + UsedIDs.Add(0x4081); + UsedIDs.Add(0x4082); + UsedIDs.Add(0x4084); + UsedIDs.Add(0x408e); + UsedIDs.Add(0x4091); + UsedIDs.Add(0x4092); + UsedIDs.Add(0x4094); + UsedIDs.Add(0x4095); + UsedIDs.Add(0x409c); + UsedIDs.Add(0x409d); + UsedIDs.Add(0x40aa); + UsedIDs.Add(0x40ab); + UsedIDs.Add(0x40ad); + UsedIDs.Add(0x40ae); + UsedIDs.Add(0x272b); + UsedIDs.Add(0x222a); + UsedIDs.Add(0x222d); + UsedIDs.Add(0x222e); + UsedIDs.Add(0x223b); + UsedIDs.Add(0x2265); + UsedIDs.Add(0x2267); + UsedIDs.Add(0x2268); + UsedIDs.Add(0x2269); + UsedIDs.Add(0x2274); + UsedIDs.Add(0x2290); + UsedIDs.Add(0x2291); + UsedIDs.Add(0x2292); + UsedIDs.Add(0x229c); + UsedIDs.Add(0x229e); + UsedIDs.Add(0x22a8); + UsedIDs.Add(0x22b3); + UsedIDs.Add(0x22b5); + UsedIDs.Add(0x22b7); + UsedIDs.Add(0x22d1); + UsedIDs.Add(0x4575); + UsedIDs.Add(0x2335); + UsedIDs.Add(0x1ebb); + UsedIDs.Add(0x1cdd); + UsedIDs.Add(0x1cee); + UsedIDs.Add(0x1cef); + UsedIDs.Add(0x1cf1); + UsedIDs.Add(0x1cf3); + UsedIDs.Add(0x1cf4); + UsedIDs.Add(0x1cf7); + UsedIDs.Add(0x1cfc); + UsedIDs.Add(0x1d17); + UsedIDs.Add(0x1d00); + UsedIDs.Add(0x1d01); + UsedIDs.Add(0x1d05); + UsedIDs.Add(0x1d07); + UsedIDs.Add(0x1d0b); + UsedIDs.Add(0x1d0d); + UsedIDs.Add(0x1d0f); + UsedIDs.Add(0x1d12); + UsedIDs.Add(0x1d13); + UsedIDs.Add(0x1d4f); + UsedIDs.Add(0x1d64); + UsedIDs.Add(0x1d50); + UsedIDs.Add(0x1d58); + UsedIDs.Add(0x1d59); + UsedIDs.Add(0x1d51); + UsedIDs.Add(0x1d53); + UsedIDs.Add(0x1d66); + UsedIDs.Add(0x1d55); + UsedIDs.Add(0xdda); + UsedIDs.Add(0xddd); + UsedIDs.Add(0xdde); + UsedIDs.Add(0xde3); + UsedIDs.Add(0xdf0); + UsedIDs.Add(0xdfb); + UsedIDs.Add(0xe00); + UsedIDs.Add(0xe0b); + UsedIDs.Add(0xe0c); + UsedIDs.Add(0xe0e); + UsedIDs.Add(0xe0f); + UsedIDs.Add(0xe11); + UsedIDs.Add(0xfed); + UsedIDs.Add(0xff7); + UsedIDs.Add(0xffb); + UsedIDs.Add(0xfe9); + UsedIDs.Add(0xb30); + UsedIDs.Add(0x12e); + UsedIDs.Add(0x8d3); + UsedIDs.Add(0x8d4); + UsedIDs.Add(0x8d5); + UsedIDs.Add(0x8d7); + UsedIDs.Add(0xb32); + UsedIDs.Add(0xb34); + UsedIDs.Add(0xb38); + UsedIDs.Add(0xb39); + UsedIDs.Add(0xb3e); + UsedIDs.Add(0x12d); + UsedIDs.Add(0x15); + UsedIDs.Add(0x26); + UsedIDs.Add(0x31); + UsedIDs.Add(0x33); + UsedIDs.Add(0x4b); + UsedIDs.Add(0x5c); + UsedIDs.Add(0x62); + UsedIDs.Add(0x64); + UsedIDs.Add(0x71); + UsedIDs.Add(0x77); + UsedIDs.Add(0x7f); + UsedIDs.Add(0x79); + UsedIDs.Add(0x84); + UsedIDs.Add(0x90); + UsedIDs.Add(0x99); + UsedIDs.Add(0xa4); + UsedIDs.Add(0xb2); + UsedIDs.Add(0xa8); + UsedIDs.Add(0xac); + UsedIDs.Add(0xb8); + UsedIDs.Add(0xe2); + UsedIDs.Add(0x10f); + UsedIDs.Add(0xf3); + UsedIDs.Add(0x10e); + UsedIDs.Add(0x110); + UsedIDs.Add(0x111); } } }