Gregory's Software and Stuff

DevLog July 2019: CCAnimationEditor Part 3

Posted on 2019-07-28

I can now say that CCAnimationEditor, the program I have been working on for the past 4.5 months, is finally ready for a beta release (v0.1.0). Work was a bit slow this month since the program was nearing completion and there was not much left to do.

Over this month I did few tests of the output and I eventually managed to get it working properly. The tests were important as the editor would serialize the JSON data into objects and deserialize into JSON when saving, rather than modifying the JSON directly. As I stated before, the animations are in a grouped format which made working with the format a bit difficult. The output is not an exact match to the original, primarily because the original code was more or less written by hand while my editor generates the code automatically. However, it does work in-game:

One of the biggest issues is how bug the MainWindow class is. The file totals to over 1700 lines and is hard to navigate:

While I could try to split the code across other files by use of inheritance (if that's possible), I could not be bothered to do that while making the editor. Furthermore, having all of the main window code in one file made the code a huge mess and whenever I would get back from a long break it would take me a while to figure out how everything worked again. While there is comments in the code which detail what some sections do, that still does not give a full idea how the program works.

So instead I tried making a separate documentation file while explains how everything works. While this would make it easier for both me and other people to figure out how everything works, documenting everything accurately from scratch takes some time. As of now, the files are still a work in progress.

Anyways, CCAnimationEditor will be released on June 31. All I just need to do is finish up a few things and it should be done.