Skip to content

silicate-bot/geode-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

geode-rs

An effort to port the Geode client mod API to Rust (WIP).

Crates

  • broma-rs - an implementation of the Broma language parser in Rust.
  • stl-core - partial implementations of the 3 major C++ stdlibs (libcxx, msvc, gnustl)
  • geode-codegen - converts Broma definitions to Rust types (similar to Geode's codegen).
  • geode-macros - proc macro implementations for geode-rs
  • geode-rs - bindings for Cocos, FMOD, the Geode loader API and Tulip
  • geode-example - example of a Rust Geode mod, hooking regular functions and constructors, storing own data in modified classes, logging, cross-compiling for android32/android64/imac/m1 from Windows, rendering egui ui
  • geode-egui - crossplatform egui backend implemented in Cocos, similar to gd-imgui-cocos
  • mac-universal - used to merge intel and m1 mac binaries into one fat mach-o .dylib in geode-example (apple bullscheisse)

TODO

  • Proper cocos bindings (something better than bindgen)
  • Inherit cocos classes?
  • android32 (untested, compiles), iOS, MacOS
  • Automatically generate loader bindings? (long shot)

About

Write Geode mods in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 46.7%
  • Zeek 29.6%
  • C 10.5%
  • Rust 6.5%
  • Objective-C++ 3.2%
  • Java 2.1%
  • Other 1.4%