diff options
Diffstat (limited to 'Source/Memory.cpp')
-rw-r--r-- | Source/Memory.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Source/Memory.cpp b/Source/Memory.cpp index 7b4b9c7..c3b89d0 100644 --- a/Source/Memory.cpp +++ b/Source/Memory.cpp | |||
@@ -59,6 +59,8 @@ void Memory::Heartbeat(HWND window) { | |||
59 | int frameDelta = currentFrame - _previousFrame; | 59 | int frameDelta = currentFrame - _previousFrame; |
60 | _previousFrame = currentFrame; | 60 | _previousFrame = currentFrame; |
61 | if (frameDelta < 0 && currentFrame < 250) { | 61 | if (frameDelta < 0 && currentFrame < 250) { |
62 | // Some addresses (e.g. Entity Manager) may get re-allocated on newgame. | ||
63 | _computedAddresses.clear(); | ||
62 | PostMessage(window, WM_COMMAND, HEARTBEAT, (LPARAM)ProcStatus::NewGame); | 64 | PostMessage(window, WM_COMMAND, HEARTBEAT, (LPARAM)ProcStatus::NewGame); |
63 | return; | 65 | return; |
64 | } | 66 | } |
@@ -171,9 +173,6 @@ void* Memory::ComputeOffset(std::vector<int> offsets) { | |||
171 | // If the address is not yet computed, then compute it. | 173 | // If the address is not yet computed, then compute it. |
172 | uintptr_t computedAddress = 0; | 174 | uintptr_t computedAddress = 0; |
173 | if (bool result = !ReadProcessMemory(_handle, reinterpret_cast<LPVOID>(cumulativeAddress), &computedAddress, sizeof(uintptr_t), NULL)) { | 175 | if (bool result = !ReadProcessMemory(_handle, reinterpret_cast<LPVOID>(cumulativeAddress), &computedAddress, sizeof(uintptr_t), NULL)) { |
174 | if (GetLastError() == ERROR_PARTIAL_COPY) { | ||
175 | int k = 1; | ||
176 | } | ||
177 | ThrowError(); | 176 | ThrowError(); |
178 | } | 177 | } |
179 | _computedAddresses[cumulativeAddress] = computedAddress; | 178 | _computedAddresses[cumulativeAddress] = computedAddress; |