8 个版本
0.3.4 | 2024年4月15日 |
---|---|
0.3.3 | 2024年2月26日 |
0.3.2 | 2023年10月5日 |
0.3.0 | 2023年9月28日 |
0.1.2 | 2023年3月8日 |
#383 在 解析器实现
每月459次下载
9.5MB
5.5K SLoC
nwn-lib-rs
Neverwinter Nights 1 和 2 数据文件的解析库和命令行工具
下载
查看发布页面
工具
nwn-gff
- 读取和写入 GFF 文件(ARE, GIT, DLG, BIC, UTC, UTI, ...)
- 转换为和从 JSON, YAML 转换
- 以文本形式显示内容(易于使用 git 进行比较)
- 设置 GFF 值
- 转储内部 GFF 结构(仅限调试使用)
nwn-erf
- 创建 ERF 存档(ERF, PWC, HAK, MOD)
- 解包 ERF 存档内的文件
- 当 ERF 文件被截断时恢复文件(如果可能的话)
- 列出 ERF 存档中的文件
- 查看 ERF 元数据
nwn-tlk
- 读取和写入 TLK 文件(并修复)
- 转换为和从 JSON, YAML 转换
- 以文本形式显示内容(易于使用 git 进行比较)
- 编辑 TLK 条目(文本,声音,...)
- 合并 TLK 文件(具有基本冲突管理)
nwn-2da
- 读取和写入 2DA 文件(并修复)
- 转换为和从 JSON, YAML 转换
- 合并 2DA 文件(具有基本冲突管理)
- 支持 2DAM,一种易于合并操作的定制文件格式
nwn-trn
- 读取和写入 NWN2 TRN 文件(TRX, TRN)
- 打印 TRN 数据包信息
- 打包/解包 TRN 数据包到单独的文件
技巧与技巧
改进 git diff 和合并工具
nwn-lib-rs 可以用于改进 git diff 以查看 GFF 文件(蓝图,日志,区域等)和 TLK 文件中做出的更改,并在合并冲突的情况下快速合并 TLK 内容。
假设 nwn-lib-rs 工具已安装到 C:\nwn-lib-rs\
,打开终端(Windows 上的 git bash)并运行
git config --global diff.gff.textconv '"C:/Program Files/nwn-lib-rs/nwn-gff"'
git config --global diff.tlk.textconv '"C:/Program Files/nwn-lib-rs/nwn-tlk"'
git config --global diff.tlk.xfuncname '^\s*([0-9]+)>'
git config --global mergetool.tlk.cmd '"C:/Program Files/nwn-lib-rs/nwn-tlk" "$LOCAL" -I tlk --merge "$REMOTE" --merge-format tlk -o "$MERGED" -O tlk'
在您的模块目录中,或任何包含 NWN 文件的 git 目录中,创建一个名为 .gitattributes
的文件
# Areas
*.[aA][rR][eE] diff=gff
*.[gG][iI][cC] diff=gff
*.[gG][iI][tT] diff=gff
# Dialogs
*.[dD][lL][gG] diff=gff
# Module
*.[fF][aA][cC] diff=gff
*.[iI][fF][oO] diff=gff
*.[jJ][rR][lL] diff=gff
# Blueprints
*.[uU][lL][tT] diff=gff
*.[uU][pP][eE] diff=gff
*.[uU][tT][cCdDeEiImMpPrRtTwW] diff=gff
# Others
*.[pP][fF][bB] diff=gff
*.[tT][lL][kK] diff=tlk merge=tlk
依赖关系
~2.2–3.5MB
~64K SLoC