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; |
