6 个版本
0.4.1 | 2024年4月1日 |
---|---|
0.4.0 | 2024年3月30日 |
0.2.0 | 2022年10月25日 |
0.1.2 | 2022年2月15日 |
在 游戏 中排名 #187
每月下载量 258 次
用于 wg-toolkit-cli
305KB
6K SLoC
WG Toolkit
提供 Wargaming.net(BigWorld,Core 引擎)发布的各种编解码器实现的工具包。这些编解码器是 Core 引擎(之前称为 BigWorld)的一部分,特别用于《坦克世界》。此工具包还提供网络协议的实现。
库
- 工具包页面
- 工具包文档
- 打包 XML 编解码器
- 反序列化
- 序列化
- 坦克模型编解码器
- 视觉树反序列化
- 顶点/索引反序列化
- 编译空间编解码器 (进行中)
- 反序列化某些部分
- BWTB(头部表)
- BWST(字符串表)
- BWT2(地形2)
- BWSG(静态几何形状)
- BWCS(编译空间设置)
- BWAL(资产列表)
- 反序列化某些部分
- 资源虚拟文件系统(只读)
- 包索引
- 从本地文件系统或包中读取文件
- 从本地文件系统或包中读取目录项
- 网络协议 (进行中)
- 数据包编码和解码 (部分标志支持)
- 向捆绑包中添加元素
- 组装接收到的数据包
- 遍历捆绑包中的元素
命令行界面
- 工具包页面
- 打包 XML
- 反序列化和显示
- 值编辑(字符串、整数、布尔值、浮点数)
- 资源虚拟文件系统
- 读取文件内容并将其复制到 stdout
- 以可能的配置递归方式读取目录内容
WoT 命令行界面
尚未发布,尚未工作,但存在于代码库中,可能在某个时刻集成到 CLI 中。
贡献指南
向代码库贡献时,应遵循一些规则
- 每个主要功能都应该有自己的目录模块;
- 每个辅助功能,被核心功能内部使用,应位于其自己的文件模块中的
util
模块下。 - 当在自定义读取器和/或写入器上工作,但只实现其中之一时,请预先考虑如果两者都实现,您的模块应该如何构建;
- 捕获所有错误并将它们转发到公共接口;
- 自定义错误类型应全部使用
thiserror::Error
派生来定义; - 当处理不提供懒读/写操作的自定义读取器或写入器时,请创建简单的公共函数,如直接输出的
from_reader(reader: impl Read)
或to_writer(writer: impl Write)
。
致谢
感谢SkepticalFox提供的wot-space.bin-utils Python库,它直接启发了这个crate。
感谢SkaceKamen提供的wot-model-converter Python库,它对处理后的模型文件格式的开源工作。
依赖项
~9–20MB
~274K SLoC