Getting up to speed


I am curious to the state of the editors. I am concerned with if projects made by the editors can be exported to a format that the player can use. Also as to how the XML format that lcf2xml use is setup. While I have an interest on writing modules, I think I would rather write documentation until how things work is much more clear and work on making the editors more usable.


Hello. Well file read/write is done in liblcf. A big deal of sources are autogenerated from csv and the other half is hilariously templatizated. i only know how to use it, I have not diven onto it but i admit some change should be grat (like adding operators = == != and souch to autogenerated files).

About editos, as you may know, there’s and editor developed on gtk and another one using qt. THEY WORK DIFFERENT. EditorGtk has it’s own file format not matching liblcf*s structure, and because of this even if it’s posible to edit and save a map these games can’t be played yet.
Other thing you should know is that both editors have not activity lately, because of lack of time of developpers.

In my case, i want to make a job of game programing, so i’m using my spare time to develop small games and learn diferent languages/libraries/engines. Anyway, i’m always around to make sugestions and i always check if there are pull request waiting to be merged.


Got it. I should probably figure out how liblcf works before doing anything more since it is the core to the project. What would be a good way to figure out how to use it? The player is very complex, so would lcf2xml be a good starting point? Also when I do get the hang of liblcf should I document it? I know that the GTK version of the editor does not have it as a dependency so I can assume it currently does not export in the player’s format (something I might look at working on, but I think a tutorial in a less documentation like fashion might be something I would work on).


there was a big discusion about the new file format, about using huge files or small files sorted in folders, the conclusion was to split files to allow export/import data easyly, and on EditorQt y was doing quite the same, until Lobomon suggested to use liblcf directly. Since EditorGTK was unactive since before i even start with EditorQt liblcf was never implemented on it, and i’m not sure if it will ever be.

Lcf2xml wont be of help for you because it just opens a file and writes it again without interacting with the game’s data. If you want a simple example where this information is modified you can take a look here: … actors.cpp
Take a look to function in line 293. When a diferent actor of the database is selected, the attributes are loaded on the widgets of the editor. In most of the other functions the actor is modified by user input.

When the database is opened current database is copied and modifications are stored on duplicate until the are accepted, and then saved.

The best place you can take a look abot HOW TO ACCESS GAME DATA is here … src/data.h
You can access most of the data from there. If you want to actually see how files are readen/writen i can’t help you :S