3个不稳定版本
0.2.1 | 2020年5月14日 |
---|---|
0.2.0 | 2020年4月5日 |
0.1.0 | 2020年3月22日 |
在无标准库中排名第331
每月下载27次
在flips中使用
235KB
6.5K SLoC
flips.rs

Rust对Flips的绑定,Flips是浮点IPS修补器。
🗺️ 概述
Flips是IPS、BPS和UPS格式的流行修补器,通常用于修补游戏卡带的ROM。它以在所有广泛使用的修补器中创建最小的BPS和IPS文件而闻名。此库提供了一个安全的API来创建和应用于任意源补丁。
格式 | 应用 | 创建 | 元数据 | 研究 |
---|---|---|---|---|
UPS | ✔️ | |||
IPS | ✔️ | ✔️ | ✔️ | |
BPS | ✔️ | ✔️ | ✔️ |
🔌 使用方法
从两个文件中加载ROM和补丁,将补丁应用到ROM上,然后将它写回文件
extern crate flips;
// get the input ROM and patch
let patch = std::fs::read("FE_LonelyMirror_v3_3.ups").unwrap();
let rom = std::fs::read("Fire Emblem 8.rom").unwrap();
// apply the patch and write the output
let output = flips::UpsPatch::new(patch).apply(rom)
.expect("could not apply patch");
std::fs::write("FE_LonelyMirror.rom", output).unwrap();
查看在线文档以获取更多关于如何使用此库的示例。
📝 特性
📦 no_std
支持
no_std
支持可以通过禁用std
功能来选择。这将禁用对std::error::Error
和std::vec::Vec
的支持。它还将禁用硬件加速CRC32实现的动态调度。
🧩 CRC32
Flips 已修复以使用 crc32fast
库,而不是它原本使用的朴素算法,这在创建或应用 BPS 和 UPS 补丁时显著提高了性能,因为这两种格式都会在每次计算它们的输入和输出时的校验和。
📋 更新日志
本项目遵循 语义版本控制,并提供了一份 更新日志,其格式符合 保持更新日志 的规范。
📜 许可证
此库在 GNU 通用公共许可证 v3.0 的许可下提供,因为 Flips 本身是 GPLv3 软件。
依赖项
~68–290KB