public void WriteData(Addr.Race offset, dynamic data) { uint[] path = { (uint)Addr.BasePtr.Race, (uint)offset }; WriteData(path, data); }
public dynamic GetValue(Racer racer, Addr.Race datapoint) { return(GetValue(racer, DataBlock.Path.Race, (uint)datapoint, Addr.GetType(datapoint), Addr.GetLength(datapoint))); }
// WHYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY // need more thought into structure // - fewer, more generalised functions // - possibly implement dictionary inputs for mass data reading from a pointer // also need to error handle memory reading exceptions // - not really a problem unless user selects wrong process tho lol // - also, does steam hack detection block this? autosplitter can read steam version so probably no, or livesplit uses a workaround // RACE public dynamic GetData(Addr.Race datapoint, uint len = 0) { uint[] path = { (uint)Addr.BasePtr.Race, (uint)datapoint }; Core.DataType type = len > 0 ? Core.DataType.None : Addr.GetType(datapoint); return(GetData(path, type, Math.Max(0, len))); }
public static Path GetPathFromAddr(Addr.Race a) { return(Path.Race); }