Closed LostDragonist closed 4 years ago
At this point, this is on hold indefinitely due to the platform API issue. It looks like the program itself needs to be updated to handle new platforms which doesn't seem like a quick process (example: https://github.com/gogcom/galaxy-integrations-python-api/pull/71).
/shrug.
This issue is to document thoughts, progress, roadblocks, etc., concerning implementing a plugin for GOG Galaxy 2.0 (https://www.gog.com/galaxy).
Goals
References
Galaxy API and documentation: https://github.com/gogcom/galaxy-integrations-python-api LostDragonist plugin repo: https://github.com/LostDragonist/galaxy-mo2
Observations / Limitations
As of 12/23/19, each "thing" you want to run must be defined as a separate game. The API provides no method for the user to provide options, pick options, or do anything except pick a game and run a game.
As of 12/23/19, only plugins that have a specific platform defined in the API are allowed. There is no method to create an "MO2" platform without changing the API. The plugin could implement a platform present in the API that is not being used by the user but that gets ugly quick.
Implementation Ideas
Assuming an "MO2" platform can eventually be created, my current idea is to have the "main executable" for each MO2 instance be defined as a game in Galaxy. "Major executable" would be defined as the script extender (SKSE, F4SE, etc.) OR the game executable (SkyrimSE.exe, Fallout4.exe) if the script extender is not present. Global instances would be parsed from %LocalAppData%. Portable instances would have be entered by the user into a config.ini in the plugin folder.
The reasoning behind having only the main executable present is that this is the probably the one the user will want to launch most of the time and there's little point to cluttering up the Galaxy interface with more stuff.