14 releases (7 breaking)

0.9.0 Apr 21, 2024
0.8.0 Nov 20, 2023
0.7.0 May 13, 2023
0.4.3 Jan 23, 2023
0.4.1 May 1, 2022

#1415 in Game dev


Used in dfhack-remote

MIT/Apache

2MB
42K SLoC

dfhack_proto

Crates.io docs.rs Crates.io

This subcomponent of dfhack_remote contains all the generated code for interacting with DFHack remote API.

It contains two main modules:

  • [messages] exposes the protobuf messages. This is the standard generated protobuf.
  • [stubs] exposes the plugins and their RPC. DFHack is not using gRPC and this is a custom implementation

Internally these two modules are created under the generated module.

The terminology is based on gRPC: The stubs expose the feature from the plugin. They are built from a channel implementing the data exchange.

The code is regenerated under the condition that the environment variable DFHACK_REGEN is set.

This crates generates all its code directly in a source subfolder. It would likely be cleaner to use the $OUT_DIR, or macro to do this job.

Dependencies

~1.7–5MB
~93K SLoC