GCII XML merger utility

Is anyone up to making it?

As the title and sub-title said.

10,890 views 8 replies
Reply #1 Top

No, wouldn't really work anyway. You can simply merge two modded XML files, or a modded and regular XML file and expect the game to work.

Reply #2 Top

Download BeyondCompare.  It's what professionals use to merge code.

Reply #3 Top

Which would be great except GC2 has these things called tech trees, and merging two of the same tech tree will probably result in technology spaghetti.

Reply #4 Top

BC is great, but just running a compare wouldn't help if the sequences are different. You'd need to actually read the files in to a keyed data structure to eliminate duplicates, and check for orphan references. It should actually be pretty simple to do.

Reply #5 Top

Quoting kryo, reply 4

BC is great, but just running a compare wouldn't help if the sequences are different. You'd need to actually read the files in to a keyed data structure to eliminate duplicates, and check for orphan references. It should actually be pretty simple to do.

Yes, merging two large mods would require a lot of work even with BeyondCompare.  But there is no better tool that I know of to accomplish the task.  BeyondCompare also has a Folder Compare option by which you can compare ALL the files (one at at time, of course) for the two mods.

Whenever a new patch comes out for FE, I always use BC to compare the patch files to the existing files then compare the patch to my modded files.  Makes it easier to merge my mod into the patch (or mod my mod to fit the patch).

Reply #6 Top

All valid points, but would it be possible to make a program specifically designed to do this?

EDIT:

for GCII I mean, not just XMLs in general.

Reply #7 Top

Quoting Aerion, reply 5
Yes, merging two large mods would require a lot of work even with BeyondCompare. But there is no better tool that I know of to accomplish the task. BeyondCompare also has a Folder Compare option by which you can compare ALL the files (one at at time, of course) for the two mods.

Yes, I use BC every day. But the point is that it, like any other compare tool, can't really do much for situations where the files don't share common ancestry. Particularly for something like mod files where you have very structured, repeating markup but the data will be completely different and unrelated between the two, it's not going to give you any useful result. In that sort of scenario, what you really need is to concatenate the two and identify/resolve conflicts based on the data, rather than on position in the file.

 

would it be possible to make a program specifically designed to do this?

Yes.

Reply #8 Top

Here is a very quick and dirty racial tech tree merger. All it will do is pull in two files, and eliminate any duplicate techs in favor of the second file (it will not attempt to actually merge duplicate techs together).

It is guaranteed to crash if you do anything but pick two well formed tech trees (zero validation, error handling, or concern with performance); if you want more you'll need to do it yourself (source is included). :)