博得之门吧 关注:54,041贴子:1,150,542
  • 1回复贴,共1

开发了一个工具,用于博德之门版本各mod的环境版本控制

取消只看楼主收藏回复

开发了一个工具,用于博德之门版本安装mod的环境版本控制。
比如,在A环境下安装{mod1, mod2, mod3}
在B环境下安装{mod1, mod4, mod5}
在C环境下安装{mod6, mod7, mo8}
...
众所周知,mod安装要往 dialog.tlk 和 override 目录下写数据。特别是dialog.tlk,会不断追加内容。
要想手动区分环境,就要自己建目录,把dialog/override复制过去,自己维护各个环境。而且一旦环境多了或者时间久了,容易出错。
基于这个工具,可以通过几行命令,直接切换当前游戏的mod环境,避免手动复制等操作。而且还可以避免遗忘,而忘记当前游戏是什么环境了。
这个工具会自动复制出一套 dialog.tlk, override,然后自动对环境进行隔离、切换、维护。并且,还能识别中文/英文环境(需要基于weidu)。
在使用上举例来说,
bg2git -h # 查看帮助
bg2git -fork origin abc # 根据原版纯净分支origin,复制出一个新分支abc,作为一套新环境
bg2git -ck abc # 切换当前环境为abc
bg2git -push abc # 比如在abc环境下安装了若干mod后,要对这一环境进行保存,则执行push命令
bg2git -ck aaa # 切换当前环境为aaa
bg2git -v # 查看当前环境是哪个环境
bg2git -b # 列出当前语言下,所有的环境
bg2git -rename aaa bbb # 重命名aaa环境为bbb
------------------------------------------------------------------------------------------
给几个基于环境控制的使用场景:
- 比如要做 mod 整合,或者安装多个mod。由于mod 冲突,所以有一定的失败率。为了避免频繁重装,可以先 -ck 出一个稳定的基础分支环境,在这个环境上做各种 mod 的安装。就算失败了,只要从基础分支上重新 -ck 出新分支即可,之前的工作是全部能够得到保留。而且,还可以以这个环境为基准,-ck 出新的环境。不断进行迭代。安装完成后,直接 -d 将用不着的环境删除即可。
- 比如有2个 mod 不共存。可以先 -ck 出一个基准环境,在这个环境上安装各种mod。然后,分别 -ck 出2个独立的环境,然后再分别安装彼此不兼容的mod。这样,可以保证每个环境下的override 和 dialog.tlk,都是干净的,而且可以随意切换环境。
- 比如今天想玩A环境下的{mod1, mod2},那么就切换至A环境。再想玩B环境下的{mod3, mod4},那么就切换至B环境。可以随意切换。


IP属地:上海1楼2024-04-13 17:41回复
    如图所示,这就列出了当前有 7 个不同的环境:
    TMP_1712828278
    imoen-romance
    origin
    自定义法术
    breach_expand
    multi_mod
    备份
    可以通过 -ck 命令随意在这几个环境之间切换


    IP属地:上海2楼2024-04-13 17:50
    回复