rom.pointer.lua
---@meta pointer
-- Class representing a 64-bit memory address.
---@class (exact) rom.pointer
-- Returns a memory instance, with the given address.
---@param address integer Address
---@return pointer
function pointer:new(address) end
-- Adds an offset to the current memory address and returns a new pointer object.
---@param offset integer offset
---@return pointer # new pointer object.
function pointer:add(offset) end
-- Subs an offset to the current memory address and returns a new pointer object.
---@param offset integer offset
---@return pointer # new pointer object.
function pointer:sub(offset) end
-- Rips the current memory address and returns a new pointer object.
---@param offset integer offset
---@return pointer # new pointer object.
function pointer:rip(offset) end
-- Rips (cmp instruction) the current memory address and returns a new pointer object.
---@param offset integer offset
---@return pointer # new pointer object.
function pointer:rip_cmp(offset) end
-- Retrieves the value stored at the memory address as the specified type.
---@return number # the value stored at the memory address as the specified type.
function pointer:get_byte() end
-- Retrieves the value stored at the memory address as the specified type.
---@return number # the value stored at the memory address as the specified type.
function pointer:get_word() end
-- Retrieves the value stored at the memory address as the specified type.
---@return number # the value stored at the memory address as the specified type.
function pointer:get_dword() end
-- Retrieves the value stored at the memory address as the specified type.
---@return number # the value stored at the memory address as the specified type.
function pointer:get_float() end
-- Retrieves the value stored at the memory address as the specified type.
---@return number # the value stored at the memory address as the specified type.
function pointer:get_double() end
-- Retrieves the value stored at the memory address as the specified type.
---@return number # the value stored at the memory address as the specified type.
function pointer:get_qword() end
-- Sets the value at the memory address to the specified value of the given type.
---@param value number new value.
function pointer:set_byte(value) end
-- Sets the value at the memory address to the specified value of the given type.
---@param value number new value.
function pointer:set_word(value) end
-- Sets the value at the memory address to the specified value of the given type.
---@param value number new value.
function pointer:set_dword(value) end
-- Sets the value at the memory address to the specified value of the given type.
---@param value number new value.
function pointer:set_float(value) end
-- Sets the value at the memory address to the specified value of the given type.
---@param value number new value.
function pointer:set_double(value) end
-- Sets the value at the memory address to the specified value of the given type.
---@param value number new value.
function pointer:set_qword(value) end
-- Retrieves the value stored at the memory address as the specified type.
---@return string # the value stored at the memory address as the specified type.
function pointer:get_string() end
-- Sets the value at the memory address to the specified value of the given type.
---@param value string new value.
function pointer:set_string(value) end
-- Creates a memory patch for modifying the value at the memory address with the specified value.
--The modified value is applied when you call the apply function on the lua_patch object.
--The original value is restored when you call the restore function on the lua_patch object.
---@param value number new value.
---@return lua_patch # memory patch instance for modifying the value at the memory address with the specified value. Can call apply / restore on the object.
function pointer:patch_byte(value) end
-- Creates a memory patch for modifying the value at the memory address with the specified value.
--The modified value is applied when you call the apply function on the lua_patch object.
--The original value is restored when you call the restore function on the lua_patch object.
---@param value number new value.
---@return lua_patch # memory patch instance for modifying the value at the memory address with the specified value. Can call apply / restore on the object.
function pointer:patch_word(value) end
-- Creates a memory patch for modifying the value at the memory address with the specified value.
--The modified value is applied when you call the apply function on the lua_patch object.
--The original value is restored when you call the restore function on the lua_patch object.
---@param value number new value.
---@return lua_patch # memory patch instance for modifying the value at the memory address with the specified value. Can call apply / restore on the object.
function pointer:patch_dword(value) end
-- Creates a memory patch for modifying the value at the memory address with the specified value.
--The modified value is applied when you call the apply function on the lua_patch object.
--The original value is restored when you call the restore function on the lua_patch object.
---@param value number new value.
---@return lua_patch # memory patch instance for modifying the value at the memory address with the specified value. Can call apply / restore on the object.
function pointer:patch_qword(value) end
-- Creates a memory patch for modifying the value at the memory address with the specified value.
--The modified value is applied when you call the apply function on the lua_patch object.
--The original value is restored when you call the restore function on the lua_patch object.
---@param value number new value.
---@return lua_patch # memory patch instance for modifying the value at the memory address with the specified value. Can call apply / restore on the object.
function pointer:patch_float(value) end
-- Creates a memory patch for modifying the value at the memory address with the specified value.
--The modified value is applied when you call the apply function on the lua_patch object.
--The original value is restored when you call the restore function on the lua_patch object.
---@param value number new value.
---@return lua_patch # memory patch instance for modifying the value at the memory address with the specified value. Can call apply / restore on the object.
function pointer:patch_double(value) end
---@return boolean # Returns true if the address is null.
function pointer:is_null() end
---@return boolean # Returns true if the address is not null.
function pointer:is_valid() end
-- Dereferences the memory address and returns a new pointer object pointing to the value at that address.
---@return pointer # A new pointer object pointing to the value at that address.
function pointer:deref() end
-- Retrieves the memory address stored in the pointer object.
---@return number # The memory address stored in the pointer object as a number.
function pointer:get_address() end