Currently, DevilutionX either autodetects Diablo installation via find_steam_game dependency or requires copying MPQs into installation or data folder.
It would be more user-friendly to offer a dialogue for importing MPQs on first launch in case find_steam_game doesn't autodetect the location. This is the approach of OpenRCT2 (reimplementation of Rollercoaster Tycoon 2) and CorsixTH (reimplementation of Theme Hospital)
This is a requirement for Flatpak, as copying files to sandbox is unacceptable
Here's the quick mock-up I made, of how the dialogue should look like:
Import button opens a file-picker where user can pick their MPQ location
On Linux, we should use xdg-desktop-portal API, (documentation is here) so that the dialogue is supported in sandboxes like flatpak, and so that it will show native GUI elements regardless of the distribution
This is also how things work for Android... except we don't have the import button on the screen (I ended up not wanting to mess with it before release since I'm not used to Java development)
Currently, DevilutionX either autodetects Diablo installation via
find_steam_game
dependency or requires copying MPQs into installation or data folder. It would be more user-friendly to offer a dialogue for importing MPQs on first launch in casefind_steam_game
doesn't autodetect the location. This is the approach of OpenRCT2 (reimplementation of Rollercoaster Tycoon 2) and CorsixTH (reimplementation of Theme Hospital)This is a requirement for Flatpak, as copying files to sandbox is unacceptableHere's the quick mock-up I made, of how the dialogue should look like:
Import button opens a file-picker where user can pick their MPQ location
On Linux, we should use xdg-desktop-portal API, (documentation is here) so that the dialogue is supported in sandboxes like flatpak, and so that it will show native GUI elements regardless of the distribution