
EXEPatcher
这是一个Windows CMD批处理脚本,它利用开源工具包"bspatch"来应用补丁文件(由配套程序"bsdiff"创建)到XComGame.EXE文件。它会将原始游戏文件转换为备份。
查看大图EXEPatcher 脚本 本脚本已发布至公共领域。您可以随意使用它。
这是一个Windows CMD文件脚本,它利用开源包"bspatch"来对XComGame.EXE文件应用补丁文件(由配套程序"bsdiff"创建)。它将原始游戏文件转为备份(XComGame.exe.bak),而打补丁后的版本成为可执行文件。它可以安装在任何地方,但补丁文件必须放在与游戏可执行文件相同的位置。
包含的补丁文件将应用"禁用哈希检查"和"启用INI加载"模组到Steam版XCOM游戏,具体描述请参见此处。有关这些补丁文件分别适用于哪个游戏补丁版本的执行文件,请查看历史记录部分。
请注意,如果所有组件都位于同一位置,您可以手动完成此脚本的所有操作。该脚本的主要优势在于它可以与位于不同位置的组件一起使用,并且会在您缺少必需的 Patch_File 参数时发出提醒,同时避免了在命令行中包含所有路径的麻烦。
为什么需要脚本?
选择脚本文件来实现此补丁机制,是因为它是一个易于修改的工具,适用于任何人的Windows环境和任何游戏,并允许组件(补丁文件本身除外)安装在任何位置。
要求:
"bsdiff" 软件包,可在 [http://sites.inka.de/tesla/f_others.html#bsdiff] 获取。这是免费/开源软件。此处未包含。
脚本调整:
- 只有脚本开头定义的变量才需要修改。
- "bsdiff" 包可以安装在任何位置,但如果无法在 "Steam\steamapps\common\XCom-Enemy-Unknown" 或 ".\Binaries\Win32" 子文件夹中找到 "bspatch.exe" 文件(该文件包含在该包中),则应修改脚本以指向其位置。脚本顶部附近定义了一个变量(diffpath)专门用于此目的。由于 "bsdiff 包" 在安装时不会创建任何注册表项,因此无法通过其他方式确定您将其安装在哪里。
- 该脚本利用WMIC(如果可用;它是从XP专业版开始的Windows版本中包含的WMI工具集的一部分)来检索XCOM安装文件夹。如果WMIC不可用,则依赖于脚本顶部附近为此目的定义的变量(exepath)的值。这也可能需要您进行修改。所有定义的变量首先会进行有效性检查。
语法:
该脚本通过单个命令行参数调用,该参数由"bsdiff"创建的Patch_File的名称组成,该文件名可以采用任何形式。(例如:"EXEPatcher.cmd XComGame_Patch_20130711-233432"。)这使得脚本能够与多个补丁文件一起使用。只要文件的前缀命名为"XComGame_Patch",您只需提供"日期-时间"部分(即"20130711-233432",带或不带前导下划线)即可。其他文件名模式必须完整给出,或者修改脚本以匹配。建议您创建一个指向脚本的"快捷方式",并将Patch_File的名称作为参数,作为应用补丁的最简单方法。根据需要,可以使用不同的Patch_File参数创建更多快捷方式。通过简单调整变量,可以以类似的方式修补任何可执行文件。
确认测试:
在文本编辑器(如记事本)中编辑'DefaultGameCore.INI'(DGC.INI)文件,如下所示,以确认补丁正在运行:
- 搜索 'eItem_Shotgun',并将 'eWPAssault' 的原始行 'Properties[1]=' 条目分配替换为 'eWP_Anyclass',如下所示。你可以直接在任何文本编辑器中复制并粘贴这一行。(保存你的 '.BAK' 文件以恢复原始的 DGC.INI。)
[下面这一行必须作为单行出现在 DGC.INI 文件中,不能有任何自动换行或换行符。]
Weapons=(iType=eItem_Shotgun,ABILITIES[0]=eAbility_ShotStandard,ABILITIES[1]=eAbility_Overwatch,ABILITIES[2]=eAbility_NONE,ABILITIES[3]=eAbility_NONE,ABILITIES[4]=eAbility_NONE,ABILITIES[5]=eAbility_NONE,Properties[0]=eWP_AnyClass,Properties[1]=eWP_AnyClass,Properties[2]=eWP_None,Properties[3]=eWP_None,Properties[4]=eWP_None,Properties[5]=eWP_None,iDamage=6,iEnvironmentDamage=30,iRange=22,iReactionRange=8,iReactionAngle=360,iRadius=0,iCritical=40,iOffenseBonus=10,iSuppression=10,iSize=eItemSize_Large,iHPBonus=0,iWillBonus=5)
- 加载任何你处于XCOM基地(策略游戏阶段)的先前存档,或者开始新游戏直到那个阶段,进入军营,查看士兵,并将狙击手或支援兵的装备更改为霰弹枪。(重装兵有其他职业限制,仅凭这个简单的修复无法使用霰弹枪。)
- 除了突击兵之外,任何人装备霰弹枪都证明你正在从'\config'文件夹加载DGC。游戏可执行文件中嵌入的'资源缓存'中的'原版' DGC.INI只允许突击兵装备霰弹枪。通过此更改,狙击手和支援兵也可以装备。
- 对DGC.INI的后续更改若似乎无效,很可能是因为需要调整更多设置,或是特定职业、技能或属性与特定物品存在不兼容性,或类似原因。请查阅Wiki文章DefaultGameCore.ini settings - XCOM:EU 2012以了解已知的DGC修改问题(并请更新任何新发现以惠及他人)。
- 一个被修改过的'XComGame'或'XComStrategyGame' UPK文件,如果在未对其应用"哈希检查"修正的情况下加载(例如XSHAPE),表明补丁的另一部分已生效。请注意,"ToolBoks" [http://xcom.nexusmods.com/mods/79/?] 同样具备禁用"哈希检查"的功能。
安装:
- 获取并安装bsdiff包到任意位置。
- 将压缩包解压到任意位置。
- 将补丁文件 [XComGame_Patch_20130711-233432] 移动/复制到游戏可执行文件所在的同一文件夹(即 "Steam\steamapps\common\XCom-Enemy-Unknown\Binaries\Win32")。
- 编辑脚本 'EXEPatcher.cmd',使其指向 'bsdiff' 包的安装文件夹,并根据上述要求进行其他必要的修改。
卸载:
从可执行文件夹中移动/删除补丁文件 [XComGame_Patch_20130711-233432]。 从安装文件夹中删除 "EXEPatcher.cmd" 文件。
已知的不兼容性:
未知。
未来开发:
改进了对多个补丁文件的选择处理。
历史:
v1.0 XComGame_Patch_20130711-233432 适用于已更新至补丁4的XCOM游戏(日期:2013年2月20日,文件属性版本:1.0.0.28586,变更列表:356266)。 禁用哈希检查并启用加载DGC和DLO INI文件。
v1.1 更新了文档,包含了一个测试以确认补丁正在工作。
更新 XComGame_Patch_20130815-003451 - 禁用哈希检查并启用加载 DGC、DMP 和 DLO INI 文件。所有这三个文件都是某些模组(如"Long War")所必需的,这些模组通过从其他 INI 文件中"借用"一些空间来用于另一个文件,从而绕过了"INI 文件总大小限制"问题。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。