nngn
|
Lua library and scripts.
More...Directories | |
lib | |
Files | |
all.lua | |
alloc.cpp | |
alloc.h | |
configure.lua | |
debug.lua | |
dump_lights.lua | |
function.cpp | |
function.h | |
Operations on callable types, function call implementation. | |
get.cpp | |
get.h | |
Functions for retrieving values from the stack. | |
init.lua | |
input.lua | |
inspect.lua | |
iter.cpp | |
iter.h | |
Table iteration. | |
limits.lua | |
limits_minimal.lua | |
lua.cpp | |
lua.h | |
lua_state.cpp | |
main.lua | |
mem.lua | |
path.lua | |
plot.lua | |
profile.lua | |
push.cpp | |
push.h | |
Functions for pushing values onto the stack. | |
register.cpp | |
register.h | |
Functions/macros for registering user types. | |
state.cpp | |
state.h | |
lua_State wrappers. | |
strict.lua | |
table.cpp | |
table.h | |
Operations on table values. | |
timeline.lua | |
traceback.cpp | |
traceback.h | |
Functions for printing the call stack. | |
user.cpp | |
user.h | |
Operations on light/full user data values. | |
utils.cpp | |
utils.h | |
General utilities for stack manipulation. | |
value.cpp | |
value.h | |
Operations on generic stack values. | |
Lua library and scripts.
This module is divided in three parts:
*.{h,cpp}
) are a generic library for C++ ←→ Lua interaction. It provides a convenient, typed interface built on top of Lua's C API that can be used to expose functionality from C++ to Lua and interact with the VM. The main interfaces are described below.lib/
subdirectory are a convenience library built on top of the engine in the main src/
directory. It both wraps the existing components in Lua interfaces and augments them with peripheral, higher-level components.*.lua
) are a wrapper around the lib/
subdirectory with preset values and functions for common tasks, used mostly in interactive exploratory and debugging sessions.See register.h for information on how to register and manipulate user types and their meta tables.
Most of the code is centered around manipulating the Lua data stack, which is done automatically using templates in this module. See the following files for more information: