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
Returns the address of memory associated with userdata
function memory.get_address(mem: userdata): int
-- example usage
local address = memory.get_address(mem)
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)
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)
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)
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)
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)
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)
Reads and returns a float at the provided address
function memory.read_float(address: int): float
-- example usage
local value = memory.read_float(address)
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)
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)
Reads and returns a vec3 at the provided address
function memory.read_vec3(address: int): vec3
-- example usage
local value = memory.read_vec3(address)
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)
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)
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)
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)
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)
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)
Writes a float at the provided address
function memory.write_float(address: int, value: float): void
-- example usage
memory.write_float(address, value)
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)
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)
Writes a vec3 at the provided address
function memory.write_vec3(address: int, value: vec3): void
-- example usage
memory.write_vec3(address, value)