Skip to content

Launchpad 9.1

Compare
Choose a tag to compare
@bmcclure bmcclure released this 26 Sep 23:12
· 419 commits to master since this release

On the front-end, the only change you should notice is that the platform name and icon have been added to the main window. This makes it easy to tell which launcher a game is running in without having to open the editor.

On the backend, big changes are underway which add flexibility to the underlying application architecture.

In recent releases, Launchpad introduced the concept of "modules" which can add functionality to the main application, however so far those modules are fairly limited in scope and could only be provided by the application itself. Additionally, all discovered modules have been automatically enabled.

Going forward, the module system has been expanded in the following ways:

  • Module discovery is automatic (based on a set of search directories and the *.module.ahk naming pattern)
  • The module loader checks whether each module is enabled or not before loading it (in the future, the GUI will allow toggling them)
  • The module loader allows passing in arbitrary configuration values to each module (in the future, the GUI will also allow you to configure each module)
  • There are now different types of modules, and a module can offer multiple types: Launchpad, LaunchpadLauncher, LaunchpadBuilder. This means modules can be made to be activated only within the environment they were designed for, so you can install a Launcher module that doesn't affect the main Launchpad application, or you can install a Builder module that affects only the build process and doesn't bloat the compiled launcher.

The next step is to create a Modules window where you can enable, disable, and configure each discovered module.

After that, a build system will be introduced so that 3rd-party modules can be used in one of two ways:

  1. For the AHK (source) version of Launchpad, the build system will simply manage an include file which includes all AHK files from enabled modules
  2. For the compiled version of Launchpad, the build system will manage the modules include file plus rebuild Launchpad itself to include any changes to 3rd-party module includes.

This build system is planned to run automatically when you start Launchpad, so that it can detect if you have changed your installed modules, rebuild your include files, rebuild Launchpad if required, and restart the application seamlessly. If you have not changed your modules, this process should be nearly instantaneous. If you have made changes and are using the source version, it might take a second or so. If you are using the compiled version and have changes, it will likely take 3-4 seconds for Launchpad to rebuild and restart.

There are several challenges remaining with implementing this system, but the recent changes mean we are closer than ever.