use game_mem_utils::{GameMemUtils, hex};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mem = GameMemUtils::new("h3hota HD.exe", false)?;
let gold: u32 = mem.read_at(hex!("8320b84"))?;
println!("Current gold: {gold}");
mem.write_at(hex!("8320b84"), 400000u32)?;
let new_gold: u32 = mem.read_at(hex!("8320b84"))?;
println!("New gold: {new_gold}");
let health: u32 = mem.read(0x1000)?;
println!("Health: {health}");
let mana: u32 = mem.read_hex("2000")?;
println!("Mana: {mana}");
let bytes = mem.read_bytes(hex!("8320b84"), 4)?;
println!("Raw bytes: {bytes:?}");
let player_name = mem.read_string(hex!("8320c00"), 32)?;
println!("Player name: {player_name}");
Ok(())
}