3 个版本 (破坏性更新)
使用旧的 Rust 2015
0.3.0 | 2018 年 12 月 22 日 |
---|---|
0.2.0 | 2018 年 12 月 19 日 |
0.1.0 | 2018 年 12 月 9 日 |
#1847 in 命令行工具
在 p3dtxt 中使用
100KB
2.5K SLoC
armake2
armake 的继任者,用 Rust 编写以提高可维护性和内存安全,旨在提供相同的特性,除了从未完成的自定义 P3D 二进制化。
状态:未实现 PAA 命令,一些选项未实现,测试中。
自 armake 以来的一些更改
- 新的 v3 签名
- 签名验证
- 独立的
preprocess
命令 - 独立的
pack
命令用于非二进制化的 PBO,而不是build -p
- 配置现在通过
rapify
命令进行 rapified - 改进配置解析错误
- 自动截断警告以防止垃圾邮件
性能
性能应与 armake
相当或更好,具体取决于修改组成和环境。更多操作在内存中进行,以牺牲内存使用为代价减少磁盘 I/O。特别是在二进制化过程中,减少了复制次数,对于资产密集型修改或没有 SSD 的用户,可以大大加快构建速度。
BWMod 构建基准测试
armake1
Time (mean ± σ): 676.463 s ± 17.609 s [User: 1.5 ms, System: 3.9 ms]
Range (min … max): 653.793 s … 706.619 s
armake2
Time (mean ± σ): 434.666 s ± 1.109 s [User: 0.0 ms, System: 4.1 ms]
Range (min … max): 433.415 s … 435.526 s
加速 1.56
ACE3 构建基准测试
armake1
Time (mean ± σ): 110.083 s ± 2.772 s [User: 4.9 ms, System: 16.8 ms]
Range (min … max): 108.270 s … 113.274 s
armake2
Time (mean ± σ): 98.190 s ± 0.452 s [User: 0.0 ms, System: 13.6 ms]
Range (min … max): 97.767 s … 98.666 s
加速 1.12
(所有基准测试均在 i5-8600K 上的 4 核 VM 上使用 4 个线程进行)
构建
构建需要 cargo
,Rust 的包管理器和 OpenSSL 开发库。要编译和运行,请使用
cargo run
要构建发布版本,请使用
cargo build --release
在 Windows 上,使编译和静态链接 OpenSSL 的工作变得最简单的方法是下载 预编译的 OpenSSL 二进制文件 (非轻量级,64位) 并设置以下环境变量
OPENSSL_DIR=C::\OpenSSL-WIN64
OPENSSL_STATIC=1
OPENSSL_LIBS=libssl_static:libcrypto_static
用法
armake2
Usage:
armake2 rapify [-v] [-f] [-w <wname>]... [-i <includefolder>]... [<source> [<target>]]
armake2 preprocess [-v] [-f] [-w <wname>]... [-i <includefolder>]... [<source> [<target>]]
armake2 derapify [-v] [-f] [-d <indentation>] [<source> [<target>]]
armake2 binarize [-v] [-f] [-w <wname>]... <source> <target>
armake2 build [-v] [-f] [-w <wname>]... [-i <includefolder>]... [-x <excludepattern>]... [-e <headerext>]... [-k <privatekey>] [-s <signature>] <sourcefolder> [<target>]
armake2 pack [-v] [-f] <sourcefolder> [<target>]
armake2 inspect [-v] [<source>]
armake2 unpack [-v] [-f] <source> <targetfolder>
armake2 cat [-v] <source> <filename> [<target>]
armake2 keygen [-v] [-f] <keyname>
armake2 sign [-v] [-f] [-s <signature>] [--v2] <privatekey> <pbo> [<signature>]
armake2 verify [-v] <publickey> <pbo> [<signature>]
armake2 paa2img [-v] [-f] [<source> [<target>]]
armake2 img2paa [-v] [-f] [-z] [-t <paatype>] [<source> [<target>]]
armake2 (-h | --help)
armake2 --version
有关更多信息,请参阅 armake2 --help
。
依赖项
~6–15MB
~193K SLoC