From 0733de713acdad37d5d6b1b364b735478d641d70 Mon Sep 17 00:00:00 2001 From: sirjonasxx <36828922+sirjonasxx@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:17:03 +0200 Subject: [PATCH] remember cached locations & stuff --- G-WinMem/G-WinMem/G-WinMem.cpp | Bin 10174 -> 10176 bytes .../windows/WindowsHabboClient.java | 17 +++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/G-WinMem/G-WinMem/G-WinMem.cpp b/G-WinMem/G-WinMem/G-WinMem.cpp index 52b1e103a3509a1d3e0f7e22c9f8ea4acadbba79..d24761ea12e8730ce22f0415fa9a2b1f93625b01 100644 GIT binary patch delta 12 Tcmdnzf53mk4AsrkR5h3YC%y$D delta 12 TcmX@$zt4Ze4AsrERMnUOC(Z>V diff --git a/src/main/protocol/memory/habboclient/windows/WindowsHabboClient.java b/src/main/protocol/memory/habboclient/windows/WindowsHabboClient.java index 1c5ab16..969ca26 100644 --- a/src/main/protocol/memory/habboclient/windows/WindowsHabboClient.java +++ b/src/main/protocol/memory/habboclient/windows/WindowsHabboClient.java @@ -31,6 +31,10 @@ public class WindowsHabboClient extends HabboClient { private static final int PRODUCTIONID = 4000; private String production = ""; + private String getOffsetsCacheKey() { + return production + "-RC4Offsets"; + } + @Override public List getRC4cached() { List result = new ArrayList<>(); @@ -50,7 +54,7 @@ public class WindowsHabboClient extends HabboClient { private ArrayList readPossibleBytes(boolean useCache) throws IOException, URISyntaxException { ProcessBuilder pb = null; - List cachedOffsets = (List) Cacher.get("RC4Offsets"); + List cachedOffsets = (List) Cacher.get(getOffsetsCacheKey()); StringJoiner joiner = new StringJoiner(" "); if (useCache) { @@ -75,19 +79,24 @@ public class WindowsHabboClient extends HabboClient { String line; ArrayList possibleData = new ArrayList<>(); - cachedOffsets = new ArrayList<>(); + if (cachedOffsets == null) { + cachedOffsets = new ArrayList<>(); + } + int count = 0; while((line = reader.readLine()) != null) { if (line.length() > 1) { if (!useCache && (count++ % 2 == 0)) { - cachedOffsets.add(line); + if (!cachedOffsets.contains(line)) { + cachedOffsets.add(line); + } } else possibleData.add(line); } } - Cacher.put("RC4Offsets", cachedOffsets); + Cacher.put(getOffsetsCacheKey(), cachedOffsets); p.destroy(); return possibleData; }