Reading, analyzing and serializing data from Freelancer games
using LibreLancer.Data;
var freelancerPath = "C:\\Program Files (x86)\\Freelancer";
var vfs = LibreLancer.Data.IO.FileSystem.FromPath(freelancerPath);
var ini = new FreelancerIni(vfs);
var data = new FreelancerData(ini, vfs);
data.LoadData((msg) =>
{
Console.WriteLine(msg);
});
Console.ReadLine();
ini → game configuration (freelancer.ini)data → the entire game loaded in memory (structures, parameters, resources)var settings = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto
};
var json = JsonConvert.SerializeObject(data, settings);
File.WriteAllText("freelancer_dump.json", json);
var settings = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto
};
var json = File.ReadAllText("freelancer_dump.json");
var data = JsonConvert.DeserializeObject<FreelancerData>(json, settings);