So I'm currently looking at http://pandorawiki.org/Libpnd_hub and trying to find out how to write a program that will behave nicely when packaged as a PND.
The system itself is decently specified, but what exactly is required from the application programmer is left kind of implicit, so I thought I'd confirm some things.
- As I gather, all files should be read relative to the location of the executable. Specifically, resource files should be read from the program folder, and configuration and save data should be written to the program folder. Is that right, or should some things go to the user's home directory?
I've mentioned this before as well, but it would be nice if the launcher could set up some environment variables so programs that follow the XDG Base Directory spec would just work when packaged up correctly. If my understanding is correct, you'd need to specify the mounted directory in XDG_DATA_HOME and XDG_CONFIG_HOME, and append it to XDG_DATA_DIRS and XDG_CONFIG_DIRS.
- Programs that require user supplied data files, like id game engines, should use the <mkdir> tag to create a directory in the root of the SD card for the user to put their stuff in. They should then search (both?) inserted SD cards for their files, and display an message explaining what the user needs to do if it doesn't find them.
- File associations are specified with MIME types. There isn't currently any way for a PND to add new MIME types to the system.
If this is the case, I do hope the system will come with a fairly complete set of file types. In particular, it would be nice if it covered all the common ROM formats. I see some fuzz about front-ends and specifying ROM directories and such, but I personally just want to browse to my ROM and tap it.
The system itself is decently specified, but what exactly is required from the application programmer is left kind of implicit, so I thought I'd confirm some things.
- As I gather, all files should be read relative to the location of the executable. Specifically, resource files should be read from the program folder, and configuration and save data should be written to the program folder. Is that right, or should some things go to the user's home directory?
I've mentioned this before as well, but it would be nice if the launcher could set up some environment variables so programs that follow the XDG Base Directory spec would just work when packaged up correctly. If my understanding is correct, you'd need to specify the mounted directory in XDG_DATA_HOME and XDG_CONFIG_HOME, and append it to XDG_DATA_DIRS and XDG_CONFIG_DIRS.
- Programs that require user supplied data files, like id game engines, should use the <mkdir> tag to create a directory in the root of the SD card for the user to put their stuff in. They should then search (both?) inserted SD cards for their files, and display an message explaining what the user needs to do if it doesn't find them.
- File associations are specified with MIME types. There isn't currently any way for a PND to add new MIME types to the system.
If this is the case, I do hope the system will come with a fairly complete set of file types. In particular, it would be nice if it covered all the common ROM formats. I see some fuzz about front-ends and specifying ROM directories and such, but I personally just want to browse to my ROM and tap it.