- Notifications
You must be signed in to change notification settings - Fork3
Toolkit for garrysmod development with the source sdk and lua c api
License
Vurv78/rglua
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a crate that allows interop with the (g)luajit c api as well as the source sdk through libloading and vtable bindings.You can then use these for binary modules or manually injected code, like withAutorun-rs
More information on binary modules can be found on the garrysmod wiki:Creating Binary Modules and examplescan be found here.
If you are targeting 32 bit make sure to install the toolchain and build to it:
rustup target add i686-pc-windows-msvccargo build --target=i686-pc-windows-msvc
There are actually a decent amount of libraries out there for gmod development.Here's a comparison and why you could use this one.
Library | rglua | rust-glua-sys | gmod-rs | gmrs |
---|---|---|---|---|
Full Lua C Api Bindings | ✔️ | ❌ | ❌ | ❌ |
On Crates.io | ✔️ | ❌ | ✔️ | ❌ |
Proc Macros | ✔️ | ❌ | ✔️ | ✔️ |
Interfacing w/ Source SDK | ✔️ | ❌ | ❌ | ❌ |
Returning Result<> from functions | ✔️ | ❌ | ❌ | ✔️ |
Can be used on stable | ✔️ | ✔️ | ❌ | ✔️ |
Real world examples | ✔️ | ❌ | 〰️ | ✔️ |
Linux / OSX Support | ✔️ | ❌ | ✔️ | ✔️ |
Github Stars | 😢 | 👍 | 👑 | 🤷♂️ |
You can help with that last one 😉
This is heavily based off of garrysmod_common, in how we export the lua_shared functions and trying to replicate everything from the Lua C Api.
About
Toolkit for garrysmod development with the source sdk and lua c api