Kingdom Come: Deliverance
0 of 0

File information

Last updated

Original upload

Created by

ActualBP

Uploaded by

ActualBP

Virus scan

Some manually verified files

Tags for this mod

About this mod

This program detects conflicts in your load order and resolves them. It attempts to re-create AnotherSymbiote's TW3 Script Merger functionality for KCD. Actively supporting and developing.

Permissions and credits
Changelogs
Notice: I am changing careers/moving across the US and will not be able to support this program for some time. I will try and get back to it soon, I apologize for the inconvenience.
Why do we need a mod merger?

Kingdom Come: Deliverance loads *.pak files located in your (Game directory)\Data folder. Mods that make changes to any of the core game files are stored in separate *.pak files. The game loads these files in alphabetical order -- this, it loops through each *.pak file and loads each game file. When any of your mods edit the game file, the last one in alphabetical order will be loaded, effectively wiping out all previous ones. Additionally, if your mods are not named in such a fashion to be loaded AFTER the game's files, the game files will load after your mod, and it will appear to not work.

This program was designed to mimic functionality of AnotherSymbiote's Script Merger mod for The Witcher 3. Since KCD and TW3 load mods so similarly, I wanted to make this program as comfortable to use as possible, and most of us likely have experience with that tool.

How does it work?

The program detects conflicts in 3 phases:
  • Examines all *.pak files in the game's Data folder and ignores original game files (this has already been pre-mapped by an XML file)
  • Checks to see if a previous merge has occurred, if so, determine all files that have been merged
  • Examines remaining *.pak files and checks if any of them edit the same file

KDiff3 (by Joachim Eibl) is used to resolve conflicts in text files (XML files, LUA scripts, etc.). For non-text file conflicts, an overwrite must be selected (through a simple point-and-click interface).

The merged files are then archived and placed in the Data directory (currently as "zzzz_merge.pak")

Requirements

This program requires .NET Framework 4.6.1. This should be already on your machine, but if you have issues you can use the following links:


Installation

No special instructions for installation, simply extract the program to a folder and run.

As of 0.1.13 no extra folders are required, but you need KDiff3 on your local machine if you download the base version.

Usage Instructions

I will be adding a readme file soon that will explain all functions and available options in great detail. I hope this covers enough to started with the basics.

  • Run the program and select your Kingdom Come: Deliverance folder e.g. (Steam folder)\steamapps\common\KingdomComeDeliverance
  • Conflict detection will automatically start after the reference file is found/generated
  • Use the check boxes to select files for merge
  • Click "Merge Selected"
  • If you have text conflicts, you will need to replace the conflicts in KDiff3 (this will automatically start)
  • To merge text conflicts, simply select your replacements and save/close (the program will automatically determine the next conflicts and your previous merges)
  • If you have non-text conflicts (like textures or flash assets), you will be prompted to pick which one to use

Merging Tips:
  • You can enable single file merges with vanilla files under  Options -> Conflict Detection and click "Show Mods Without Conflicts" (brought up by Newkz)
  • When merging TBL files as non-text conflicts, as long as you select any empty file (0 bytes size), the mods will all work fine (brought up by RawNG)

Upcoming features

Next build (0.1.15):

  • Check non-text files for binary equals and skip if Auto-Merge is selected

Next release (0.2.0):

  • Localization files are ignored (the program deliberately ignores all folders in the Data directory at the moment)
  • Implement a tool specifically meant to handle XML merges (from fireundubh)