Read (primitives)
Read primitive values from memory. All functions take a single address (integer) argument and return nil if the read faults (SEH-protected).
Syntax
Susano.Memory.ReadU8 (address) -> integer -- unsigned 8-bit
Susano.Memory.ReadU16(address) -> integer -- unsigned 16-bit
Susano.Memory.ReadU32(address) -> integer -- unsigned 32-bit
Susano.Memory.ReadU64(address) -> integer -- unsigned 64-bit
Susano.Memory.ReadI8 (address) -> integer -- signed 8-bit
Susano.Memory.ReadI16(address) -> integer -- signed 16-bit
Susano.Memory.ReadI32(address) -> integer -- signed 32-bit
Susano.Memory.ReadF32(address) -> number -- 32-bit float
Susano.Memory.ReadF64(address) -> number -- 64-bit double
Susano.Memory.ReadPtr(address) -> integer -- 64-bit pointer
Parameters
address (integer): The address to read from.
Return(s)
The typed value at the address, or nil on fault.
Example(s)
local base = Susano.Memory.Module()
local hdr = Susano.Memory.ReadU16(base) -- "MZ"
local nptr = Susano.Memory.ReadPtr(base + 0x3C)
local health = Susano.Memory.ReadF32(pedPtr + 0x280)
local flags = Susano.Memory.ReadU32(pedPtr + 0x50)