/* offset updating class, that uses patterns to find memory addresses */
class offset
{
//private:
// static void update_local_player() {
// DWORD lpStart = mem->FindPatternArray(modClient.dwBase, modClient.dwSize, "xxx????xx????xxxxx?", 19, 0x8D, 0x34, 0x85, 0x0, 0x0, 0x0, 0x0, 0x89, 0x15, 0x0, 0x0, 0x0, 0x0, 0x8B, 0x41, 0x8, 0x8B, 0x48, 0x0);
// DWORD lpP1 = mem->Read<DWORD>(lpStart + 3);
// BYTE lpP2 = mem->Read<BYTE>(lpStart + 18);
// dwLocalPlayer = (lpP1 + lpP2) - modClient.dwBase;
// }
dwLocalPlayer = 0xAA9F4C;
// static void update_entity_list() {
// DWORD elStart = mem->FindPatternArray(modClient.dwBase, modClient.dwSize, "x????xx?xxx", 11, 0x5, 0x0, 0x0, 0x0, 0x0, 0xC1, 0xE9, 0x0, 0x39, 0x48, 0x4);
// DWORD elP1 = mem->Read<DWORD>(elStart + 1);
// BYTE elP2 = mem->Read<BYTE>(elStart + 7);
// dwEntityList = (elP1 + elP2) - modClient.dwBase;
//
// }
dwEntityList = 0x4A86424;
// static void update_glow() {
// DWORD gpStart = mem->FindPatternArray(modClient.dwBase, modClient.dwSize, "xx????x????xxx????xx????xx", 27, 0x8D, 0x8F, 0, 0, 0, 0, 0xA1, 0, 0, 0, 0, 0xC7, 0x4, 0x2, 0, 0, 0, 0, 0x89, 0x35, 0x0, 0x0, 0x0, 0x0, 0x8B, 0x51);
// dwGlow = mem->Read<DWORD>(gpStart + 7) - modClient.dwBase;
// }
dwGlow = 0x4FA33D8;
public:
static void get_offset(process* m) {
mem = m;
modClient = mem->GetModule("client.dll");
update_local_player();
update_entity_list();
update_glow();
}