dynoffsets 0.2.0

Resolve engine struct offsets, module-global pointers, registered interfaces and button-state addresses from a running target process at call time, with compile-time fallback literals. Attribute macros generate the accessors.
Documentation
[package]

name = "dynoffsets"

version = "0.2.0"

edition = "2021"

rust-version = "1.72"

authors = ["H0llyW00dzZ"]

description = "Resolve engine struct offsets, module-global pointers, registered interfaces and button-state addresses from a running target process at call time, with compile-time fallback literals. Attribute macros generate the accessors."

license = "MIT"

repository = "https://github.com/H0llyW00dzZ/dynoffsets"

homepage = "https://github.com/H0llyW00dzZ/dynoffsets"

documentation = "https://docs.rs/dynoffsets"

readme = "README.md"

keywords = ["offsets", "schema", "reverse-engineering", "game", "cs2"]

categories = ["games", "development-tools", "no-std"]

include = [

    "src/**/*.rs",

    "Cargo.toml",

    "README.md",

    "LICENSE",

]



[lib]

path = "src/lib.rs"



[features]

# `std` is default-on. Turn it off (`default-features = false`) to compile

# `#![no_std]`; `alloc` is required in both modes.

default = ["std"]

# Forwards to pe-sigscan's std feature (its `std::error::Error` impl on

# ParsePatternError). The rest of the crate is std-agnostic — sync primitives

# are `spin`, collections are `hashbrown`, both no_std-clean.

std = ["pe-sigscan?/std"]

# Links in the schema walker, the pattern scanner, and pe-sigscan. With

# `runtime` off every accessor returns its build-time fallback and the

# walker code is dead-code stripped.

runtime = ["dep:pe-sigscan", "dep:hashbrown", "dep:obfstr"]



[dependencies]

dynoffsets-macros = { version = "0.1.0", path = "macros" }



# `OnceCell<Box<dyn Process>>` registry. Same API in std and no_std modes,

# ~5 KB, zero transitive deps.

spin = { version = "0.12", default-features = false, features = ["mutex", "spin_mutex", "once"] }



pe-sigscan = { version = "0.4", optional = true, default-features = false }

hashbrown = { version = "0.16", optional = true, default-features = false, features = ["inline-more", "default-hasher"] }

obfstr = { version = "0.4", optional = true, default-features = false }



[package.metadata.docs.rs]

all-features = true

rustdoc-args = ["--cfg", "docsrs"]