Pnd Conversion


sdmsanilover

Still Fresh
Joined
Mar 6, 2010
Messages
22
So, will games that have been optimized for pandora be easy to convert to PND, or will the library have them already coverted? If so, could i take any random file and covert it to PND extensions, even if it wont run properly?

Sorry if this topic has come up before, and sorry for not knowing if its obvious.
 
sdmsanilover said:
So, will games that have been optimized for pandora be easy to convert to PND, or will the library have them already coverted? If so, could i take any random file and covert it to PND extensions, even if it wont run properly?

Sorry if this topic has come up before, and sorry for not knowing if its obvious.
I'm not sure you understand what you mean. PND files aren't executable, you can't just rename an executable file to PND and it works. A PND file is an archive of other files. You take the executable, plus all the image, sound, whatever data, pack it into an ISO file, and then append an XML file to it which describes what is in the PND file. You, as the end user, don't need to worry about anything like that.
If you're a developer who just wants to use your own code, you don't need to store it as a PND file, just use it as is. When it comes time to distribute your work, you can turn it into a PND file and then upload it to the appstore.
 
Last edited by a moderator:
WizardStan said:
sdmsanilover said:
So, will games that have been optimized for pandora be easy to convert to PND, or will the library have them already coverted? If so, could i take any random file and covert it to PND extensions, even if it wont run properly?

Sorry if this topic has come up before, and sorry for not knowing if its obvious.
I'm not sure you understand what you mean. PND files aren't executable, you can't just rename an executable file to PND and it works. A PND file is an archive of other files. You take the executable, plus all the image, sound, whatever data, pack it into an ISO file, and then append an XML file to it which describes what is in the PND file. You, as the end user, don't need to worry about anything like that.
If you're a developer who just wants to use your own code, you don't need to store it as a PND file, just use it as is. When it comes time to distribute your work, you can turn it into a PND file and then upload it to the appstore.

thanks for clearing that up. I thought it was a file extension, not an archive, thanks for not getting mad.
 
Last edited by a moderator:
http://pandorawiki.org/PND:FAQ

Basically a PND file is just an ISO disk image with an xml descriptor file appended, and an optional screenshot image also appended.
You could make one manually relatively easily if you wanted, although there will likely be tools to help (if not already).

Example commands for linux:

For ISO format:
Code:
$ genisoimage -o mygame.pnd mygamedirectory
Or for SquashFS:
Code:
$ mksquashfs mygamedirectory mygame.pnd
Finally
Code:
$ cat PXML.xml >> mygame.pnd
$ cat mygamescreenshot.png >> mygame.pnd

EDIT: I'm not entirely familiar with shell commands, so these might be wrong, please correct me if they are :)

EDIT2: Added command for SquashFS, thanks dflemstr
 
Aninhumer said:
http://pandorawiki.org/PND:FAQ

Basically a PND file is just an ISO disk image with an xml descriptor file appended, and an optional screenshot image also appended.
You could make one manually relatively easily if you wanted, although there will likely be tools to help (if not already).

Example commands for linux:
Code:
$ genisoimage -o mygame.pnd mygamedirectory
$ cat PXML.xml >> mygame.pnd
$ cat mygamescreenshot.png >> mygame.pnd

i already work with lots of iso's so i should be fine with it. Thanks for the info page!
 
Last edited by a moderator:
Please note that SquashFS can be used instead of ISOs as well, and that SquashFS is the preferred format since it reduces the file size of PND files drastically.
 
A PND is a filesystem-image. At least ISO9660 (cdrom-fs, an "iso"), and squashfs (a compressed, read-only filesystem) are supported. I'd recommend squashfs, as it's easier to create (just run 'mksquashfs <directory> <name>.pnd', practically the same as creating a zip, rar, or tar.gz), takes less space, and is probably faster.
Just create the pxml.xml (?) that contains the descriptions and stuff, and any other files the pnd-system expects, properly lay out your app, run mksquashfs over the directory, and you've got yourself a pnd.

When run, the pnd is mounted (read-only), and aufs (a unionfs-like thing) is used to overlay it with a writable folder.
At least, that's how I understand it works...
 
You could make it executable:
Code:
echo ':pnd-exec-image:M::hsqs::/path/to/pnd_run.sh:' > /proc/sys/fs/binfmt_misc/register

I did a little work on making actual executable SFS images, by using a fairly simple system with a DBUS daemon for mounting, and a thumbnailer for GNOME. Basically it will make something more akin to OSX .app folders. Also I dropped the ridiculous UnionFS (AUFS) stuff.
 
It is an icon appended, not screenshots. Fat media such as screens, audio preview and video should be in the pnd. Only pxml and icon are appended since those are needed immediately to help he user know what's inside

(a menu will mount the pnd to pull out the fat media as mounting is pretty quick on flash media)

jeffphone
 
Converting to pnd is trivial to .. very easy on *nix right now; we've got some sh-scripts up on the site to just take a directory and turn it into a pnd in one step; add that to your makefile and *poof*. OR do it by hand with a couple easy steps, all documented.

For Windows, you can do the same sort of thign with batch files if you like (its document with downloads to tools in the libpnd hub page.) A few people (our own Evildragon even!) are working on GUI tools for editting PXML and making pnd files .. so shoudl be a piece of cake.

jeff
 
Back
Top