The output menu was buggy, looked dated, and was difficult to navigate, if I may say so myself. Let me quickly give you an overview of what has changed before I provide an in-depth analysis.
- Quickly see the content of each set by clicking their name.
- Export/import sets to enable backups/sharing.
- Non-existent events imported from a set file will be added to your event file. This makes it even easier to exchange sets for specific DLC planes.
- Icons to emphasize each action.
- Tooltips when hovering over icons to provide more context.
- When no output sets are detected, an explanation is shown of what an output set is and how to create your own.
- All the output menu logic has been cut up and bundled code-wise to make it easier to maintain. For those interested, you can now find all the code for this menu in the outputmenu folder. BitsAndDroids/Bits-and-Droids-flight-connector (github.com)
- Implemented Google test framework.
- Fixed an issue where stopping the connector left open several lingering functions.
- The window size of the output menu used to jump all over the place. The UI should be more consistent as of this update.
Trimming the behemoths
Specific code files have been growing beyond their initial goal. One of my files of shame has been the form builder file. This used to be a single class responsible for generating the UI of 90% of the menus. This resulted in a file bigger than 1000 lines of code. I’ve trimmed off all the output menu logic for this first iteration into bite-sized classes. This makes it easier to locate and maintain the code for myself and others. By doing this trimming, I’ve encountered a giant pile of redundant or duplicate code snippets. I’m aiming to work my way through all the menus to ensure a cleaner and less bug-prone environment.
The import functionality enables you to import sets created by others (or yourself).
What may seem like a logical name for me might not work for you. That is why the connector asks you which name you’d like to give to the set.
Even though the menu has improved vastly, there are still some features that need to be implemented.
- After importing a set, you still have to restart the connector before it can be used.
- Show an overview of the outputs present in the set you are importing
- When adding events to the event file, they get added as integer outputs. This has to be altered to match the original output.
As always, feel free to leave any suggestions or bug reports on my GitHub page.