Open Dracks opened 10 months ago
I assigned you the issue!
All external data (meaning the data
, music
, save
and campaign
directories as well as duneconfig.cfg
) can already reside in the personal data directory ~/.local/share/dunedynasty
. So that should already work out of the box.
The folders music
(external music packs) and campaign
(custom campaigns) might be a bit problematic though, since they include required ini- and cfg-files. So these folders must be copied over to the personal data directory.
It would be the best option to retain the functionality to have everything in the same folder as the executable. This way file-handling would be consistant on all platforms, the music
and campaign
folders can simply be used as-is, and portable mode (e.g. on a USB-stick) would be possible just as on the other platforms.
Hey, I just had some advance (sorry, I didn't had a lot of time to move it), but I see that cmake is not checking for the library enet, and then when compiles is crashing, (I will try to add that to the flathub) but I think will be nice to have it in the cmake
hey @Dracks,
thanks for the great work! i've just pushed a commit, that makes cmake check for the ENET, MAD and FLUIDSYNTH libraries.
MAD (package libmad0-dev
) is required for mp3-playback and FLUIDSYNTH (packages libfluidsynth-dev
and fluidsynth
) for soundfont-based MIDI playback. both are required for the full functionality of Dune Dynasty.
publishing to flathub is definitely a good idea! i'll look into it, once your pull request is merged.
hey, one thing, what should be the name to be used in the flatpak?
hey, one thing, what should be the name to be used in the flatpak?
Does it have to be a special format? Or just the app name? "Dune Dynasty
" i'd say then.
Does it have to be a special format? Or just the app name? "
Dune Dynasty
" i'd say then.
Sorry, name was not correct, it was the id, is this ID: https://github.com/gameflorist/dunedynasty/pull/14/files#diff-c1ccd431d3ba4694ebb86aa70c6bac63933495f3a54a38ee2fc0770101efac3aR1
I think we can use com.github.dunedynasty too, but not sure.
Ah, ok. According to the docs it should be the reverse-DNS of a domain controlled by the project with the trailing section representing the specific project.
I've just created https://gameflorist.github.io (just a redirect to https://github.com/gameflorist).
So i think the appropriate ID would be "io.github.gameflorist.dunedynasty
".
Hey,
I know I'm not super active, sorry a lot of side projects, what I saw is that usually flatpak scripts are put in a diferent github repositori, Is it fine that I create it and when I've got some poc working you fork it, and then we set yours as principal?
Another thing, flatpak works as some kind of container, which makes the accessing the data a lot more tricky.
Jaume
Hey Jaume,
No worries at all, take your time!
Regarding the repository: I could also create the repo and add you as a collaborator. What name would you suggest? gameflorist/dunedynasty-flatpak
?
yeah, that should work...
But it will take a lot of time, I'm trying to pack another app, because I wish to have it on steamdeck, and is been a nightmare. At lease for a person that doesn't know almost anything about flatpak :(
Still, I think I'm close to get it runing in the other one, and with that, should be easy to get it here.
Hey, I get it building,
But I don't get the data, currently, I've got this:
[dracks@frame-work-fedora flatpak_dunedynasty]$ flatpak run com.gameflorist.dunedynasty
Dune data directory: .
Personal data directory: /home/dracks/.var/app/com.gameflorist.dunedynasty/config/dunedynasty/
--------------------------
ERROR LOADING DATA FILE
Did you copy the Dune2 1.07eu data files into the data directory
./data ?
[dracks@frame-work-fedora flatpak_dunedynasty]$ ls /home/dracks/.var/app/com.gameflorist.dunedynasty/config/dunedynasty/
data
[dracks@frame-work-fedora flatpak_dunedynasty]$ ls /home/dracks/.var/app/com.gameflorist.dunedynasty/config/dunedynasty/data/
ATRE.PAK ENGLISH.PAK FINALE.PAK GERMAN.PAK INTRO.PAK MENTAT.PAK ORDOS.PAK SOUND.PAK
DUNE.PAK FILELIST.TXT FRENCH.PAK HARK.PAK INTROVOC.PAK MERC.PAK SCENARIO.PAK VOC.PAK
I've also have a copy of the data in ~/.config/dunedynasty/data and ~/.local/share/dunedynasty And of course I added the permissions to access this folders.
This are the permissions:
If you create a repo, I will upload my current stuff (also, I added an action to generate the flatpak)
Will be nice, if when there is no contents, we show a window telling exactly what's missing. (If you guide me, I can modify the code, I know a little bit of C and C++)
Dracks
Very cool! 😊👍
I've just created https://github.com/gameflorist/dunedynasty-flatpak and added you as a collaborator.
Regarding location for data:
I've also have a copy of the data in ~/.config/dunedynasty/data and ~/.local/share/dunedynasty
Try ~/.local/share/dunedynasty/data
. That should work.
Will be nice, if when there is no contents, we show a window telling exactly what's missing. (If you guide me, I can modify the code, I know a little bit of C and C++)
Currently the following message is displayed:
Did you copy the Dune2 1.07eu data files into the data directory
./data ?
Would it suffice to change this to something like this?
Did you copy the Dune2 1.07eu data files into the data directory?
The data directory can be placed in one of the following locations:
./data
~/.local/share/dunedynasty/data
Thanks,
I just pushed my changes, I just realise I've got some issues with permissions and files I think. The other project that I was trying to get with flatpak (which is working), has some issues with the configuration, is not saving the file, any time that I restart the project, starts without a config.
I was thinking to ask in the flatpak forum, (If I don't see any solution next month, I will put it there)
If you have some time and wishes to test something, there is an action in the workflow of the flatpak repo, to build and generate a flatpak bundle (you can try if you wish/have linux)
To continue the discussion opened in my P/R: https://github.com/gameflorist/dunedynasty/pull/6
Will be nice to have some flatpack, appimage or similar, since I've got a linux as a personal laptop, I will try to investigate and generate.
The only issue I see is how to work with the external data, since should not be anymore relative to the executable and should be in the user directory or some global/system directory. But first things first, create some packed app for linux.
Note: I cannot assign it to me :(