帝国3吧 关注:76,779贴子:2,211,141

[改派相关]分享一个aoe3决定版的自动打包工具

只看楼主收藏回复

先贴上项目地址 https://github.com/sophronia-del/aoe3-auto-packager
因为游戏数据的xml文件需要编码成xmb后再打包成bar才能被读取的, 所以改一个文件的时候需要用工具手动给修改过的文件做转码, 再手动把转码后的文件替换到数据目录里, 再手动把替换后的数据目录打包成bar文件, 整个流程非常繁琐, 开发这个工具就是为了自动完成三个步骤
楼下放具体的使用说明


IP属地:浙江1楼2024-03-24 12:14回复
    首先需要准备两个目录, 分别成为数据目录和源码目录, 前者直接通过工具解包原始bar文件得到, 后者是把数据目录里的xmb文件解码成xml文件, 并按照原目录结构整理得到
    下面两张图分别是数据目录和源码目录, 源码目录使用git管理版本, 没有解码子目录下的xmb文件



    IP属地:浙江2楼2024-03-24 12:21
    回复
      使用方式就很简单了, cmd进入到应用程序所在目录, 执行命令 .\aoe3-auto-packager.exe source=<源码目录> data=<数据目录>, 就会在数据目录的上一级目录下生成打包后的bar文件 Data_generated.bar, 用这个文件替换掉游戏文件的Data.bar


      IP属地:浙江3楼2024-03-24 12:26
      回复
        如果熟悉git, 那么还有一个进阶使用方法. 在源码目录建立git仓库, 然后进入到.git/hooks目录下, 新建两个文件post-commit 和 post-merge, 注意这两个文件是没有后缀名的, 把下面一行代码贴到两个文件里
        <应用程序完整路径> source=. data=<数据目录> suffix=recent
        效果是在git提交后和拉取后分别执行一次自动打包, 生成的文件名是Data_recent.bar


        IP属地:浙江4楼2024-03-24 12:32
        回复
          纠正一下第四楼, 前面还要加一行 #!/bin/sh, 否则钩子没法执行, 文件的完整内容是这样的
          #!/bin/sh
          <应用程序完整路径> source=. data=<数据目录> suffix=recent


          IP属地:浙江6楼2024-03-24 12:38
          回复
            如图, 对源码目录仓库执行git-pull后会自动执行一次打包, 如果需要多人联机共享一份数据的话, 就可以采用这样的方式同步文件, 省的把整个压缩包传来传去


            IP属地:浙江7楼2024-03-24 12:40
            回复
              如果还想简化掉替换文件的步骤, 可以进入到steam游戏数据目录steamapps\common\AoE3DE\Game\Data, 使用如下命令
              mklink Data.bar <程序生成的bar文件全路径>
              生成一个始终指向最新生成的bar文件的链接, 这样打包后的bar文件无需替换也可以立即生效


              IP属地:浙江8楼2024-03-24 12:46
              回复
                随便展示一个修改效果, 所有国家的卡片上限调整为35张


                IP属地:浙江9楼2024-03-24 12:50
                回复
                  @长弓不拉墙😇 请求加精


                  IP属地:浙江来自Android客户端10楼2024-03-24 12:56
                  回复
                    决定版这个打包断了很多修改党的路


                    IP属地:河北来自Android客户端11楼2024-03-24 15:16
                    回复
                      不是很懂打包的意义。修改只需要拆包,然后丢本地模组文件夹就完事了。如果替换bar文件,每次打开steam都会自动重新下载官方版本。


                      IP属地:上海12楼2024-03-24 15:59
                      收起回复
                        楼主是否需要这个?
                        https://github.com/AOE3-Modding-Council/Resource-Manager


                        IP属地:安徽13楼2024-03-24 20:37
                        收起回复
                          看不懂,加精了


                          IP属地:山东来自Android客户端14楼2024-03-27 03:55
                          收起回复
                            这个有啥用?


                            IP属地:广东来自iPhone客户端15楼2024-03-29 15:18
                            收起回复
                              里面没exe啊


                              IP属地:上海16楼2024-04-01 10:00
                              收起回复