Making premade gamelist.xml with xtra media collections
-
@UDb23 renaming it to gamelist.xml.
-
@UDb23 actually there's no need to make it named as gamelist.xml ;-)
-
@meleu said in Making premade gamelist.xml with xtra media collections:
Please, I'm not disrespecting your work on that program at all.
Don't worry; I understand what you mean. As said, regardless of final results, it was and is a good opportunity for refresh my VB knowledge under Windows.
I really like the Raspberry with all the opportunities it offers thru Linux... it reminds me when I started with the Vic20 so many years ago... no GUI... just commands and programming line by line... I loved it !!That's why I think that making everything on one environment should be less confusing.
And it does of course make sense if @Used2BeRX is ok with your proposal.
I will not get offended if you'd like to manage the whole conversion + folder process with a single script. ;-)
Take care by the way... as said I have a significant amount of metadata (in a different format) for Vic20 that I may end up asking you to convert on top of @Used2BeRX txt files. -
@meleu If command is used with the right filename.. of course not. lol.
-
@meleu Is your script only converting one file at a time now then? I thought I was just pointing it to the folder and it was converting all of them to the gamelist.xml . If we're just testing single files then, I was mistaken.
EDIT:
I just tried
./fullpath-gamelist.sh /home/pi/RetroPie/Media/NES/XMLTest/MEGA MAN I.XML
and got "MEGA": file not found.UDb23's program doesn't create a gamelist.xml It just converts the {gamename}.TXT to {gamename}.XML
-
@Used2BeRX @UDb23 hey guys, forget my script for a while.
I understood that the MetaX output was a complete gamelist.xml but it's not the case. Looks like it creates an individual game entry in a gamelist.xml format.
Right now I'm downloading the @Used2BeRX files and trying to understand their structure, etc.
Go play some games! :D
-
I just tried
./fullpath-gamelist.sh /home/pi/RetroPie/Media/NES/XMLTest/MEGA MAN I.XML
and got "MEGA": file not found.When a file has spaces in the name, use quotes. Example:
./fullpath-gamelist.sh "/home/pi/RetroPie/Media/NES/XMLTest/MEGA MAN I.XML"
Also, I think you'll be amazed when you discover that you just to type part of the filename and then press TAB. The shell tries to complete the name for you... ;-)
-
@meleu Sure thing. I've been working on another project of mine already in the mean time.
Keep in mind a few things about the file structure of what you're downloading.
- It's different than the Pi filestructure in a few ways.
- Our system had a Media folder, then the Systems were inside of that. Pi file structure made me have to change that to be /{system_name}/Media/
- Roms in our structure were a folder inside of the media folder. Pi file structure made that completely different.
Please reference the folder structure I had above to see the changes made for Pi.
-
@UDb23 Hey UDb23. I was wondering if you could still make the program put all of the individual files into a global gamelist.xml for each file. That way I would only have to copy 1 single file to the Pi for the conversion (that was what meleu originally thought we were doing too).
Also, I think we should talk about how to make the folder synopsis.txt files for conversion as well. It would be nice to have the entire gamelist.xml file made and then just have the media/roms altered on the pi after the fact.
What do you think?
-
@Used2BeRX when @meleu said:
Go play some games! :D
I'm pretty sure he meant he's looking to make also the txt to xml conversion on the Pi.
Nevertheless I can finalize MetaX with the bugfixes we spoke about and also generate the global gamelist.xml file (on top of single files).
Concerning folder synopsis.txt; I can add this too to MetaX.
I would suggest a structure basically the same as the game txt files:path= image= name= releasedate= developer= publisher=
and description should be at the end of the file and have this line before:
=======
Folder txt files should be named
Fold_yyyy.txt
, where yyyy should recall the folder name (it's not relevant to the program as the real folder name is in the path inside the txt). -
@UDb23 Sounds great.
I've been talking to Nemesis and I wanted both his and Meleu's input on one more possible change. I think Nemesis has come up with a way to verify exactly what media is in which folders (waiting on his confirmation on that).
I'm thinking if this is the case, it might be a good idea if MetaX creates empty media fields, ie: <path></path>, <image></image>.
I would want to hear what Nemesis and Meleu have to say about that first though.
Also, although I already re-cased everything to be all caps, it looks like Nemesis has come up with a way to ignore case sensitivity. That could come in handy for other people with their own sets who don't want to go through the massive pain of having to re-case everything.
I appreciate you finishing MetaX though. If I only had to copy one file to the Pi per system before finalizing it with a script it would be much less of a headache.
and description should be at the end of the file and have this line before:
=======
Folder txt files should be named
Fold_yyyy.txt
, where yyyy should recall the folder name (it's not relevant to the program as the real folder name is in the path inside the txt).So the line before description for the folders should be exactly 7 "=", or just any number of them?
Also, is it alright if I have the TXT files cased as "FOLD_YYYYYY.TXT"? After re-casing, everything else is all in Caps now for consistency.
-
@Used2BeRX said in Making premade gamelist.xml with xtra media collections:
So the line before description for the folders should be exactly 7 "=", or just any number of them?
Program just needs to understand that's the line before description and not part of another text; so I would say "====" (4 x "=") should be fine. Unless you know some game or description text that includes "====".
Also, is it alright if I have the TXT files cased as "FOLD_YYYYYY.TXT"? After re-casing, everything else is all in Caps now for consistency.
No problem; you can use whatever case you like.
-
@UDb23 Sweet.
Did you choose the ====== because of what I had in the description? I actually used that because I thought it looked good (it actually displayed in the rom screen). Could we just use the "__________________" like the rom entries? No worries if we can't. Just let me know.
I still haven't heard from Nemesis on whether or not we should leave the media fields blank. I'm going to be going to bed soon, so I might not have an answer on that for a while unless he posts it here.
-
@Used2BeRX can you post somewhere a pack with all the Synpsis txt files you have?
No need for any media, only txt files.
-
@Used2BeRX we can use whatever chars you like. if we use the same as rom entries, that's fine.
-
Hey guys, can you confirm the correlations below?
xml : txt <name> : the very first line of the txt file <desc> : the content starting below "______" to the end of file <releasedate>: "Release Year" <developer> : "Developer" <publisher> : "Publisher" <genre> : "Genre" <players> : "Players" <rating> : UNUSED <path> : UNUSED (script should find the ROM based on the game name) <image> : UNUSED (script should find the image based on the game name) <video> : UNUSED (script should find the video based on the game name) <marquee> : UNUSED (script should find the marquee based on the game name)
-
@UDb23 SUPER IMPORTANT!!!!
I just realized that we're going to need an extra line created by MetaX. I don't think that meleu will be able to properly match all of the files from the global gamelist.xml without a line that has the "GAME FILE NAME" in it. What I mean is, after the global gamelist.xml file is created, there is nothing inside of it that says that the entry for "Mega Man" should match any filenames "MEGA MAN I.XXX"
Could you add that to the program in a field under <name></name> and call it
<xtrasname></xtrasname>
?@meleu Those are all good, but there's a lot more than that.
Here's a breakdown of the XML of Super Mario Bros.
<path>./SUPER MARIO BROS I.zip</path>
Script should find ROM based on <xtrasname></xtrasname> (The field I just asked UDb23 to add to MetaX output)<image>/home/pi/RetroPie/Media/NES/Artwork/Box Front/Super Mario Bros..jpg</image>
<image> =
/Artwork/Box Front/
by default. (Was going to talk later about script to change which image type is named as image. I'm hoping that once these are done that at some point skins can take advantage of multiple images at once or just swap which ones you use like we're able to do on our emulators).Script should find <image> based on <xtrasname></xtrasname>
<cart>/home/pi/RetroPie/Media/NES/Artwork/Cart/Super Mario Bros..jpg</cart>
Cartridge/CD Image: Script should find <cart> based on <xtrasname></xtrasname><title>/home/pi/RetroPie/Media/NES/Artwork/Titles/Super Mario Bros..jpg</title>
In game Title Shot: Script should find <title> based on <xtrasname></xtrasname><action>/home/pi/RetroPie/Media/NES/Artwork/Action/Super Mario Bros..jpg</action>
In game Action Shot: Script should find <action> based on <xtrasname></xtrasname><threedbox>/home/pi/RetroPie/Media/NES/Artwork/3D Boxart/Super Mario Bros..png</threedbox>
3D Boxart: Script should find ROM based on <xtrasname></xtrasname><video>/home/pi/RetroPie/Media/NES/Movies/Super Mario Bros..wmv</video>
Video Preview: Script should find ROM based on <xtrasname></xtrasname><gamefaq>/home/pi/RetroPie/Media/NES/GameFAQs/Super Mario Bros..Zip</gamefaq>
GameFAQ Collection in Zip File: Script should find <gamefaq> based on <xtrasname></xtrasname><manual>/home/pi/RetroPie/Media/NES/Manuals/Super Mario Bros..zip</manual>
Game Manual: Script should find <manual> based on <xtrasname></xtrasname><vgmap>/home/pi/RetroPie/Media/NES/VGMaps/Super Mario Bros..zip</vgmap>
VGMap Collection in Zip File: Script should find <vgmap> based on <xtrasname></xtrasname><marquee>/home/pi/RetroPie/Media/NES/Artwork/Marquee/Super Mario Bros..jpg</marquee>
Marquee Image: Script should find <marquee> based on <xtrasname></xtrasname>OTHER FIELDS:
<name>Super Mario Bros.</name>
<xtrasname></xtrasname> (Synopsis File Name) THIS DOESN'T EXIST FROM METAX YET!
<platform>Nintendo Entertainment System</platform>
<region>USA</region>
<media>Cartridge</media>
<controller>NES Gamepad</controller>
<genre>Platformer</genre>
<gametype>Licensed</gametype>
<releasedate>1985</releasedate>
<developer>Nintendo</developer>
<publisher>Nintendo</publisher>
<players>1 or 2 Alternating</players>
<license></license>
<programmer></programmer>
<musician></musician>You've got an email with the synopsis entries. NES has a folder for synopsis files that MetaX converted to XML files. Unfortunatley at this point it still put in "dummy" fields, so all of the media is pointing to Atari 2600 folders in those changes.
UDb23 was going to fix that and let you pick a media spot, but I wanted to know if it would just be better for UDb23 to make all of those fields and just leave them blank and let your script find any media that exists and add only what is actually in the folders???
-
@meleu To simplify everything for the Linux scripting since we're going to be populating the Media fields, I will take the time to convert all of the media folders to the same names that the roms folders are on Pi.
For example:
NES will be:
/home/pi/RetroPie/Media/nes/
/home/pi/RetroPie/Media/nes/Artwork/
/home/pi/RetroPie/Media/nes/Artwork/3D Boxart/
/home/pi/RetroPie/Media/nes/Artwork/Action/
/home/pi/RetroPie/Media/nes/Artwork/Box Front/
/home/pi/RetroPie/Media/nes/Artwork/Cart/
/home/pi/RetroPie/Media/nes/Artwork/Titles/
/home/pi/RetroPie/Media/nes/Movies/
/home/pi/RetroPie/Media/nes/GameFAQs/
/home/pi/RetroPie/Media/nes/Manuals/
/home/pi/RetroPie/Media/nes/VGMaps/
/home/pi/RetroPie/Media/nes/Marquees/Game Boy Advance will be:
/home/pi/RetroPie/Media/gba/
/home/pi/RetroPie/Media/gba/Artwork/
/home/pi/RetroPie/Media/gba/Artwork/3D Boxart/
/home/pi/RetroPie/Media/gba/Artwork/Action/
/home/pi/RetroPie/Media/gba/Artwork/Box Front/
/home/pi/RetroPie/Media/gba/Artwork/Cart/
/home/pi/RetroPie/Media/gba/Artwork/Titles/
/home/pi/RetroPie/Media/gba/Movies/
/home/pi/RetroPie/Media/gba/GameFAQs/
/home/pi/RetroPie/Media/gba/Manuals/
/home/pi/RetroPie/Media/gba/VGMaps/
/home/pi/RetroPie/Media/gba/Marquees/It will take me a while to make these changes and to separate systems that were combined on our old system, but it should eliminate a lot of possible confusion for your scripting.
-
@Used2BeRX man, keep in mind that these are the only xml elements that ES takes into account when reading a gamelist.xml:
- name
- path
- desc
- image
- video
- marquee
- thumbnail (according to docs it's ignored)
- rating
- releasedate
- developer
- publisher
- genre
- players
- playcount (automatically filled)
- lastplayed (automatically filled)
Any extra info you have in your txt files is completely ignored.
-
@meleu I know that. I'm hoping that in the future there will be more use for these files. I just want pointers to them in the files in case. Our emulators make great use of all of those files.
Check my last post. I'm going to be re-doing the media folders to match RetroPie standards to simplify the coding necessary to find all the parts and populate the fields.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.