The major change in this version is due to a change the internal hashtable utility, which was removed and all the internal metadata which LuaAutoC uses was instead put into the Lua registry and accessed using Lua tables.
The two major advantages of this is that LuaAutoC no longer relies on static variables, and that all the meta-data about the LuaAutoC types can be found by looking into the registry either by C users or Lua users.
Here is a brief (incomplete) change log intended for people porting code.
- Removal of internal Hashtable. Instead all data is in the Lua registry in Lua tables
- Merged all source files into single source file. Simplified build process.
- Renamed header
lautofunc.h
tolautocall.h
. - All open and close functions merged into
luaA_open
andluaA_close
- All functions now take Lua state
L
as the first variable. - Functions that ended in
typeid
to indicate they takeluaA_Type
inputs now end in justtype
- Typedef of
luaA_Type
is nowlua_Integer
. - Renamed
luaA_typeid
toluaA_type
- Renamed
luaA_type_name
toluaA_typename
. - Renamed
luaA_type_size
toluaA_typesize
. - Removed
luaA_struct_next
, this proved difficult to implement in the new system. - Enum functions no longer take case sensitive argument. Aliases should be used instead (
luaA_enum_value_name
). - Removed
luaA_function_void
. UseluaA_function
and specifyvoid
as the return type. This is now dealt with automatically. - Removed
luaA_function_decl_void
. UseluaA_function_declare
and specifyvoid
as the return type. This is now dealt with automatically. - Removed
luaA_function_reg_void
. UseluaA_function_register
and specifyvoid
as the return type. This is now dealt with automatically. - Renamed
luaA_function_decl
toluaA_function_declare
. - Renamed
luaA_function_reg
toluaA_function_register
. - Function
luaA_function
no longer takes argument count. This is now found automatically. - Function
luaA_function_declare
no longer takes argument count. This is now found automatically. - Function
luaA_function_register
no longer takes argument count. This is now found automatically. - Exposed argument and return stack sizes for fake stack.
- Renamed
demos
folder toexamples
and all the files within. - Changed
luaA_call
andluaA_call_name
to remove their arguments from stack, only leaving return values. - Switched argument order to
luaA_struct_push_member
so that member comes before input. - Switched argument order to
luaA_struct_push_member_name
so that member comes before input. - Switched argument order to
luaA_struct_to_member
so that member comes before output. - Switched argument order to
luaA_struct_to_member_name
so that member comes before output.