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)