QuakeServer.Extensions.Memory (quake_server v0.1.0)

Copy Markdown View Source

FTE's builtins over a program's memory as bytes: createbuffer (a zeroed block one byte longer than asked, or null for a size below 1), memrealloc (a new block holding the old one's bytes, the old one given back; a size of 0 is taken as 1, one below 0 or above 16 MiB fails with null), memcmp (bytes compared as unsigned, the sign of the first difference) and memstrsize (a string's length in bytes).

Memory words hold integers, floats and strings made while running; as bytes an integer is its 32 bits and a float its single-precision bits, little end first, and a string reads as zeros.

Summary

Functions

size bytes of the program's memory from byte address address.

Run memory builtin builtin.

Write data into the program's memory from byte address address, the bytes around it in its words kept.

Functions

bytes(qc, address, size)

@spec bytes(QuakeC.t(), integer(), non_neg_integer()) :: binary()

size bytes of the program's memory from byte address address.

call(s, binary, argc)

@spec call(map(), String.t(), non_neg_integer()) :: map()

Run memory builtin builtin.

put_bytes(qc, address, data)

@spec put_bytes(QuakeC.t(), integer(), binary()) :: QuakeC.t()

Write data into the program's memory from byte address address, the bytes around it in its words kept.