Giter VIP home page Giter VIP logo

rglua's Introduction

๐ŸŒ‘ rglua cratesio Build Status License github/Vurv78

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 with Autorun-rs

More information on binary modules can be found on the garrysmod wiki: Creating Binary Modules and examples can be found here.

Usage

If you are targeting 32 bit make sure to install the toolchain and build to it:

rustup target add i686-pc-windows-msvc
cargo build --target=i686-pc-windows-msvc

Comparison

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 ๐Ÿ˜‰

Acknowledgements

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.