memory

Methods

alloc_mem

Returns userdata representing a block of memory

function memory.alloc_mem(size: int): userdata
-- example usage
local mem = memory.alloc_mem(4) -- allocate 4 bytes

get_address

Returns the address of memory associated with userdata

function memory.get_address(mem: userdata): int
-- example usage
local address = memory.get_address(mem)

read_s8

Reads and returns a signed 8-bit integer at the provided address

function memory.read_s8(address: int): int
-- example usage
local value = memory.read_s8(address)

read_u8

Reads and returns an unsigned 8-bit integer at the provided address

function memory.read_u8(address: int): int
-- example usage
local value = memory.read_u8(address)

read_s16

Reads and returns a signed 16-bit integer at the provided address

function memory.read_s16(address: int): int
-- example usage
local value = memory.read_s16(address)

read_u16

Reads and returns an unsigned 16-bit integer at the provided address

function memory.read_u16(address: int): int
-- example usage
local value = memory.read_u16(address)

read_s32

Reads and returns a signed 32-bit integer at the provided address

function memory.read_s32(address: int): int
-- example usage
local value = memory.read_s32(address)

read_u32

Reads and returns an unsigned 32-bit integer at the provided address

function memory.read_u32(address: int): int
-- example usage
local value = memory.read_u32(address)

read_float

Reads and returns a float at the provided address

function memory.read_float(address: int): float
-- example usage
local value = memory.read_float(address)

read_s64

Reads and returns a signed 64-bit integer at the provided address

function memory.read_s64(address: int): int
-- example usage
local value = memory.read_s64(address)

read_u64

Reads and returns an unsigned 64-bit integer at the provided address

function memory.read_u64(address: int): int
-- example usage
local value = memory.read_u64(address)

read_vec3

Reads and returns a vec3 at the provided address

function memory.read_vec3(address: int): vec3
-- example usage
local value = memory.read_vec3(address)

write_s8

Writes a signed 8-bit integer at the provided address

function memory.write_s8(address: int, value: int): void
-- example usage
memory.write_s8(address, value)

write_u8

Writes an unsigned 8-bit integer at the provided address

function memory.write_u8(address: int, value: int): void
-- example usage
memory.write_u8(address, value)

write_s16

Writes a signed 16-bit integer at the provided address

function memory.write_s16(address: int, value: int): void
-- example usage
memory.write_s16(address, value)

write_u16

Writes an unsigned 16-bit integer at the provided address

function memory.write_u16(address: int, value: int): void
-- example usage
memory.write_u16(address, value)

write_s32

Writes a signed 32-bit integer at the provided address

function memory.write_s32(address: int, value: int): void
-- example usage
memory.write_s32(address, value)

write_u32

Writes an unsigned 32-bit integer at the provided address

function memory.write_u32(address: int, value: int): void
-- example usage
memory.write_u32(address, value)

write_float

Writes a float at the provided address

function memory.write_float(address: int, value: float): void
-- example usage
memory.write_float(address, value)

write_s64

Writes a signed 64-bit integer at the provided address

function memory.write_s64(address: int, value: int): void
-- example usage
memory.write_s64(address, value)

write_u64

Writes an unsigned 64-bit integer at the provided address

function memory.write_u64(address: int, value: int): void
-- example usage
memory.write_u64(address, value)

write_vec3

Writes a vec3 at the provided address

function memory.write_vec3(address: int, value: vec3): void
-- example usage
memory.write_vec3(address, value)