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