I've been doing some UCC restructuring lately for
making it easier to integrate mod components into your
own mod. This is easy enough when it's just UCC
sourcecode, but one of the major stumbling-blocks to
combining one or more mods is merging the changes from
datafiles made in Exult Studio: files like initgame.dat
(which stores the initial state of every object in the
game), weapons.dat and others. At the moment this
requires painstakingly recreating the changes from one
mod into the other.
To make this easier, what about supporting
difference-patches to these datafiles? So, instead of
saving a completely new version of the datafile, Exult
Studio could save only the changes made by the mod. ES
already supports this to a certain extent for
shapes.vga, where a mod's own smaller shapes.vga is
overlaid onto the original shapes.vga.
This doesn't directly support merging the datafile
patches from two mods, but if this approach was taken
it would be much easier to write separate behaviour for
Exult Studio (or a commandline utility) to do merge two
difference-patches into one.
Logged In: YES
user_id=1203053
One thing I have been thinking about in this front: maybe we
could have ES save not only a diff patch as you request, but
also a (plain-text) script that would be 'compiled' by a (as
yet non-existing) utility into the diff patches. That way,
the scripts from different mods could be more easily edited
and merged, then recompiled into the actual patch files.
Logged In: YES
user_id=197243
This would definitely be a Good Thing, yes. Something else
to bear in mind: a difference patch (and accompanying
sourcefile) for something like initgame.dat must track not
only additions, but also modifications to and removals of
existing objects from the original initgame.dat.