• v0.2.0 cc0e6cedff

    williamjcm released this 2020-01-12 15:01:49 +01:00 | 99 commits to master since this release

    File watching system

    This is perhaps one of the biggest backend changes the app got between v0.1.1 and v0.2.0.

    Now, instead of going through all hangars to see if there were changes, the manager asks the filesystem to send it updates for all the sav files in the save folder.

    If a M.A.S.S. gets created, deleted, moved, or updated, only its corresponding line gets updated, reducing flickering caused by the constant re-rendering of the list items.

    It also enables part of the next change, which is...

    Active slot tracking

    Active slot tracking screenshot

    Now, you can see which hangar is the currently-selected one in your profile. And if the game is running, the above change allows it to update in real-time!

    Sadly, due to how the game works, I can't make it changeable from the manager.

    Backup zip creation

    Backup button screenshot

    Thanks to this handy button, the manager will be able to automagically create a zip file containing your profile and M.A.S.S.es in the location of your choice.

    A word of advice: backup early, backup often, and make multiple backups. Storing the zip files on a cloud storage isn't a bad idea, because the zips really small (less than a megabyte if all hangars are filled).

    Game status indicator

    Game status indicator screenshot

    Every three seconds, the manager will take a look at the list of processes running on your computer to see if the game is running.

    If it's the case, all potentially-dangerous features (importing, moving, and deleting M.A.S.S.es) will be disabled in the manager.

    If the manager can't access the list of processes for whatever reason, those same features will be disabled, because the game could be running.

    Separation between GUI and backend

    This optimisation is more for my workflow than anything. Prior to this update, the backend code was in the same file as the GUI event handling code, and it was on its way to become a maintenance Hell.

    So, before it actually became a maintenance Hell, I separated all backend code from the GUI code.

    It'll also be easier for me to add new features, like the upcoming staging area mentioned in issue #1.

    Downloads