rrplug 4.2.0

framework for R2Northstar plugins
Documentation
# rrplug
[![crates.io](https://img.shields.io/crates/v/rrplug)](https://crates.io/crates/rrplug)
[![docs.rs](https://docs.rs/rrplug/badge.svg)](https://docs.rs/rrplug)
[![rrplug-test-build](https://github.com/R2NorthstarTools/rrplug/actions/workflows/rrplug-test-build.yml/badge.svg?branch=master)](https://github.com/R2NorthstarTools/rrplug/actions/workflows/rrplug-test-build.yml)

framework for working with [R2Northstar](https://northstar.tf/)'s plugin system.

this crate provides convenient abstractions with compile time checks while not limiting unsafe access to any parts of plugin sys or the titanfall 2 engine.

## rrplug template

plugins v4 removed some dependencies on external files so now templates are redundant but a [template](https://github.com/catornot/rrplug-template) still exists

## cross compiling plugins

To compile a plugin from a host machine that's not using windows, you need to install the required target.

```bash
rustup target add x86_64-pc-windows-gnu
```

Then create a cargo config to always compile your project for windows.

```bash
mkdir .cargo
echo "[build]\ntarget = \"x86_64-pc-windows-gnu\"" > .cargo/config.toml
```

## versioning
rrplug had a major rewrite for each plugins version so versions that a `x` plugins version are `x.\*.\*`
| rrplug  | plugins |
| :-----: | :-----: |
| `4.*.*` |  `v4`   |
| `3.*.*` |  `v3`   |
| `2.*.*` |  `v2`   |
| `0.1.*` |  `v1`   |