Releases: Vurv78/rglua
rglua v2.1.0
rglua v2.0.0
- All lua c api functions are actual functions now (They were lazy cells as to make detours easy, but you should really just be using LUA_SHARED_RAW for that.
- Almost everything is documented
- OSX/Linux support
- Added Vector and Angle functions for lua api (luaL_checkvector, luaL_checkangle, tovector, toangle, pushvector, pushangle)
- A lot of functions like lua_topointer and lua_tolstring now return Option instead of T for additional safety. This may be an annoying change, but I'd advise to use lua_check* instead, or simply unwrap and comment as to prove the safety of the unwrap.
- Added IMdlCache bindings
Full Changelog: v1.0.0...v2.0.0
rglua v2.0.0-beta
Changelist will be compiled in v2.0.0.
Full Changelog: v1.0.0...v2.0.0-beta
rglua v1.0.0
-
Use $crate instead of rglua in macros
-
Add variadic support to dyn_symbols (In turn re-adds luaL_error and pushfstring
-
Add lua_getinfo
-
Add lua_next
-
Add lua_replace
-
Add lua_lessthan
-
Add lua_gc
-
Add rest of the functions we were missing
-
Add lua_objlen
Types are now T* instead of Type::*. Same with prior enums. Deprecated old ones -
Added LuaDebug
-
Added LuaAlloc
-
Added LuaHook
-
Added LuaReader
-
Removed redundant Interface trait, vtables already adds a function to get a ptr.
I'm not gonna work on this for a while this is getting tiring. Near the completion of the library (in terms of the lua part)
rglua v0.8.0
- Added ICVar bindings
- Added IMaterial / IMaterialSystem bindings
- Fix offsets in pretty much all interfaces (mostly engine though)
- Add GetGameDirectory, GetLevelName, IsPlayingDemo, IsRecordingDemo, IsPaused to engine interface
- Add engine example to show off how to use the engine interface.
- Make previously ignored tests compile
- util::dump_stack now returns a string instead of printing to stdout
- Add Vector and Angle types (Currently meant for interfaces, not lua values)
rglua v0.7.1
Wanted to make an elegant solution that would somehow make the pointer keep the value allocated, but I don't know enough about the standard library on how to do that. (I could std::mem::forget but that would just be awful)
Added docs for interfaces, lua_shared functions, types, global constants. Includes more example code.
rglua v0.7.0
- Changed file structure again sorry :(
- Added bindings for luaL_register
- Fixed luaL_openlib binding
- Added luaL_openlibs binding
- Renamed helper to util and make public
- Added try_cstr, try_rstr and reg macros
- Added util::dump_stack
- Renamed LuaL_Buffer to LuaBuffer
- Added LuaReg type
- Added is_even binary module example.
Type
is no longer a useless enum and is just a namespace with constants in it.- Removed deprecated rstring and cstring
- Reorganized interfaces
- Add
thiserror
as a dependency - Status and Mode are repr(i32) now for cast safety, will probably follow suit with Type in being namespaces with constants later.
- Shortened var signatures of bindings like 50% (Still ugly!)
Largest addition here is lua regs, to make life a lot easier. Especially with the reg! macro which lets you create them easily (And no need for a null reg at the end to tell C you're done adding functions, it does that for you.)
Most of these are breaking changes but I think this will be the last time for a while, having too many single files was getting bad.
rglua v0.6.1
- Add printgm to the prelude
- Added all of the lua_is* macros
- Added luaL_dostring
- Added luaL_dofile
- Added luaL_getmetatable
- Added luaL_argcheck
- Bump to edition 2021
rglua v0.5.0
Full Changelog: v0.3.0...v0.5.0
rglua v0.3.0
- lua_shared bindings are nearly complete