public void Initialize() { player = new PlayerData(); enemiesLeft = new AddressObject <int>(); enemiesLeft.address = Memory.GetAddressFromPointer(0xFCBCB0, 0x8, 0x40, 0x5DC, 0x434, 0x450); switch (version) { case SCCVersion.Steam: { mapNamePtr = (IntPtr)Memory.GetAddressFromPointer(0xF961D4, 5); break; } case SCCVersion.Uplay: { mapNamePtr = (IntPtr)Memory.GetAddressFromPointer(0xF96294, 5); break; } default: throw new Exception("Game version not set!"); break; } }
public PlayerTransform(ulong playerObjectAddr, params ulong[] offsets) { ulong objectAddr = Memory.GetAddressFromPointer(playerObjectAddr, offsets); posx = new AddressObject <float>(); posx.address = objectAddr + 0x94; posy = new AddressObject <float>(); posy.address = objectAddr + 0x9C; posz = new AddressObject <float>(); posz.address = objectAddr + 0x98; roty = new AddressObject <ushort>(); roty.address = objectAddr + 0xA4; velx = new AddressObject <float>(); velx.address = objectAddr + 0x1C0; vely = new AddressObject <float>(); vely.address = objectAddr + 0x1C8; velz = new AddressObject <float>(); velz.address = objectAddr + 0x1C4; }
public void CheckIfReloaded() { sceneCounterAddr = Memory.GetAddressFromPointer(0xFCB49C, 0x18, 0x28); if (sceneCounterAddr != oldSceneCounterAddr) { Initialize(); sceneCounter = new AddressObject <int>(sceneCounterAddr); if (cachedSceneCounter > 0) { Program.Log("Scene reloaded - previous counter at {0}", cachedSceneCounter); } oldSceneCounterAddr = sceneCounterAddr; } }
public ConvictionGame(SCCVersion ver) { if (Memory.handle == null) { throw new Exception("Must hook game before instantiating ConvictionGame object!"); } version = ver; sceneCounterAddr = Memory.GetAddressFromPointer(0xFCB49C, 0x18, 0x28); oldSceneCounterAddr = sceneCounterAddr; sceneCounter = new AddressObject <int>(sceneCounterAddr); Initialize(); Program.Log("Program hooked! Version: {0}", version.ToString()); }