csflow: - Create structs for gamerules and global vars radarflow: - new dma loop with less frequent cache invalidation - The new loop tries to run at a fixed 128 hz. Thats the max tickrate in cs2. The data is also only updated when a tick change is detected, so that should keep data fetching to a minimum. - todo: more testing for cache invalidation
36 lines
1.3 KiB
Rust
36 lines
1.3 KiB
Rust
use memflow::types::Address;
|
|
use thiserror::Error;
|
|
|
|
use crate::structs::Vec3;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum Error {
|
|
/// Game version mismatch.
|
|
/// First arg is the game version, second is the offset version.
|
|
#[error("version mismatch, game has version {0}, but offsets have version {1}")]
|
|
GameVersionMismatch(usize, usize),
|
|
|
|
#[error("memflow error: {0}")]
|
|
Memflow(#[from] memflow::error::Error),
|
|
|
|
#[error("memflow partial error when reading address: {0}")]
|
|
MemflowPartialAddress(#[from] memflow::error::PartialError<Address>),
|
|
|
|
#[error("memflow partial error when reading Vec3: {0}")]
|
|
MemflowPartialVec3(#[from] memflow::error::PartialError<Vec3>),
|
|
|
|
#[error("memflow partial error when reading String: {0}")]
|
|
MemflowPartialString(#[from] memflow::error::PartialError<String>),
|
|
|
|
#[error("memflow partial error when reading i32: {0}")]
|
|
MemflowPartiali32(#[from] memflow::error::PartialError<i32>),
|
|
|
|
#[error("memflow partial error when reading u32: {0}")]
|
|
MemflowPartialu32(#[from] memflow::error::PartialError<u32>),
|
|
|
|
#[error("memflow partial error when reading f32: {0}")]
|
|
MemflowPartialf32(#[from] memflow::error::PartialError<f32>),
|
|
|
|
#[error("memflow partial error when reading u8: {0}")]
|
|
MemflowPartialu8(#[from] memflow::error::PartialError<u8>)
|
|
} |