1个不稳定发布
0.1.0-alpha.1 | 2024年3月1日 |
---|
#1152 in 游戏开发
215KB
4.5K SLoC
Rust的X-Plane插件API
目的
xplane.rs 为所有X-Plane支持的平台的Rust编程语言提供了一种便捷的接口,用于X-Plane插件开发。这些接口应该 大部分 是安全的。
本项目旨在支持任何64位版本的X-Plane,只要使用正确的特性门控。测试是在XPLM400和X-Plane 12上进行的,但将努力保持与XPLM210的基础API兼容性。如果发现兼容性回归,请向列表发送电子邮件。
大部分开发都在develop
分支上完成,而trunk
分支在发布时保持稳定。
状态
这个库正在进行全面重写以强制执行线程不变性。不要使用当前状态。以下是组件清单
- 编译并可以从X-Plane中调用(状态未知,将进行测试。)
- 调试日志输出到控制台/日志文件
- DataRef的读取和写入
- 命令
- GUI
- 绘图
示例
更多示例可以在examples/
目录中找到。
然而,这个小的片段是使您的插件编译所需的最小模板。
use xplane::plugin::{Plugin, PluginInfo};
use xplane::{debugln, xplane_plugin};
struct MinimalPlugin;
impl Plugin for MinimalPlugin {
type Error = std::convert::Infallible;
fn start() -> Result<Self, Self::Error> {
// The following message should be visible in the developer console and the Log.txt file
debugln!("Hello, World! From the Minimal Rust Plugin");
Ok(MinimalPlugin)
}
fn info(&self) -> PluginInfo {
PluginInfo {
name: String::from("Minimal Rust Plugin"),
signature: String::from("org.samcrow.xplm.examples.minimal"),
description: String::from("A plugin written in Rust"),
}
}
}
xplane_plugin!(MinimalPlugin);
免责声明
本项目当前维护者是一位坚定的支持乌克兰对抗俄罗斯、反对一切人权侵犯的跨性别女同性恋者。
如果您
- 不坚定地支持LGBTQ+人群,包括跨性别个体。
- 认为LGBTQ+人群“不应该公开展示”
- 支持“放弃T”,TERF或类似运动。
- 认为恋童癖包含在LGBTQ+中,要么是因为您想让它包含,要么是因为您认为该社区接受它。它不接受。
- 拒绝使用人们偏好的名字、代词和性别标签。
- 不支持乌克兰反抗其俄罗斯压迫者。
- 支持任何极右翼政党或政治家(包括弗拉基米尔·普京、共和党、AfD、FdI和类似人士)
我无法阻止您,但如果有人被发现符合上述标准并与项目互动,将被阻止进一步互动。
许可证
本软件受Mozilla公共许可证(Mozilla Public License, version 2.0)许可。任何在提交 ba89d4234c5b4d7088a40b2bb8f537f72e1e2df3
之前的代码,均可根据您的选择,同时受Apache许可证和MIT许可证的许可。
这对您意味着什么?
我明白了,您没有时间阅读许可证。以下是一些关于此许可证对您意味着什么的要点。
- 您可以将此库与其他不同许可证的工作结合使用,只要此库的文件保持独立。
- 此库的代码,在MPL-2.0许可证(或兼容)下,必须对用户易于获取。
- 大型工作的接收者必须了解该库的使用、其许可证以及如何获取此库的代码。
- 对此库文件的任何修改都必须在MPL-2.0下发布。
- 只要明确表明这是您个人的行为,而非贡献者的行为,您就可以将此库用于商业用途。
这还有一些细微差别,但这些要点概括了主要内容。
贡献
除非您明确说明,否则您提交的任何有意包含在作品中的贡献将按照上述方式许可,不附加任何额外条款或条件。
所有提交都必须签署(使用命令git commit -s
)。这是您已阅读并同意开发者证书起源(Developer Certificate of Origin, DCO)条款的声明。这可以与CLA(贡献者许可协议)相提并论,但不同之处在于您的版权仍归您所有。您所做的只是证明您可以在存储库的许可证下贡献代码。DCO文本的副本保存在此存储库的DCO.txt中。
您可以使用您偏好的姓名签署DCO,只要它相对一致,这样我们就可以跟踪每个人的身份。
最低支持的Rust版本
此crate的MSRV始终是给定提交时的最新稳定编译器版本。也许它可以在较旧版本上运行。也许不行。没有保证。
一旦发布稳定版本,这可能会发生变化。
依赖项
~1.8–4MB
~80K SLoC