2个稳定版本
1.0.1 | 2022年12月10日 |
---|
#386 在 压缩
15KB
117 行
FESTY - FEST的Rust替代方案
为了便于使用,使用Rust编写的3DS压缩。FEST需要.NET Framework运行时来编译和运行。通过使用Rust包,应该可以轻松地将3DS保存文件解压缩功能移植到任何地方。
目前,由于压缩与原始加密文件不完全匹配,因此尚未实现压缩。不用担心,Citra和3DS都可以很好地读取未加密的文件。据muhmuhten所说,在本地化中存在这种边缘情况,因为日语的标题较小,所以他们决定加密它——不要引用我,我甚至不确定我是否记得正确。
只需确保不要在您的保存目录中放置太多文件,因为如果太满,游戏几乎肯定会崩溃。
发布
这只是一个包,您可以在https://crates.io/crates/festy下找到。
- FESTY-CLI festy作为命令行工具
- FESTY-CLI.WASM 与上述相同,但使用WebAssembly,可以直接通过wasmer运行
- FESTY.WASM festy编译成WebAssembly
示例
Rust
use festy;
fn main() {
// read an encrypted/compressed file into a buffer
let file_encrypted = std::fs::read("chapter0").unwrap();
// decompress the file_buffer and return the decompressed buffer
let file_buffer = festy::file::decompres(file_encrypted).unwrap();
// write the buffer to a file
std::fs::write_to_file("chapter0_dec", &file_buffer).unwrap();
}
致谢
大部分工作归功于muhmuhten,他是负责逻辑的人。
依赖关系
~120KB