Menu

#85 Difference patches for initgame.dat and other datafiles

open
nobody
None
5
2006-08-18
2006-08-18
No

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.

Discussion

  • Marzo Sette Torres Junior

    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.

     
  • Alun David Bestor

    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.

     
MongoDB Logo MongoDB