quadkorex wrote:
>> Daniel Collins <dcplus@...> wrote:
>> <snip>
>> I have C# and C++ code that parses the location data (and almost
>> everything else) from the savegame files which I can make
>> available if it would help.
>> <snip>
>>
>
> I am very interested in that if you are willing to make it available.
> That'd be cool. The C# especially, C++/dll very interesting too.
>
> Cheers,
> Quadko
>
Regarding the C# code, I used to have the character editor source in the
files section but I don't seem to have the latest version there. I will
do a bit of a clean up and upload the source. Currently all the C# code
is in a single project that builds the application. The code that works
with the actual savegame data is quite discrete from the rest of the
application though so what I will do is split that code off into a
separate assembly. That will make it much easier to reuse in other
applications. Savegame support is pretty complete for reading. Writing
is less complete but most data other than events can be written. The
main SaveGame class also has methods for dumping various bits of data to
CSV files.
The C++ code was originally a port from the C# but annoyingly it now has
more complete support for writing savegame data since it handles event
changes. Mostly I use this to remove events but new ones can also be
added for experimental reasons. I didn't write the C++ as a proxy to the
C# code since I didn't want it to require the .Net runtime. The annoying
part to that is having two independent code branches to maintain. I will
port the event writing code back to the C# as part of the clean up.
Also, it turns out the C++ savegame code only builds to a static lib,
which I then link to a dll containing the Lua binding API. Since you
would have the full source, using the static lib would be easy, but it
is only a small change to build to a dll instead.
All this builds in MS Visual Studio 2005 but the C++ should build
anywhere with a bit of tweaking.
I should be able to get this stuff cleaned up and uploaded over the next
few days. I will also try to sort out a release for the Lua scripting
stuff. Currently the Lua interface to the save game data is complete,
along with a bunch of scripts that do various useful things such as a
more powerful and flexible world regen tool and scripts for analysing
and comparing events structures from multiple savegames. I will set up a
self-contained directory tree and some instructions then upload it.
cheers,
DC