RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Making premade gamelist.xml with xtra media collections

    Scheduled Pinned Locked Moved Ideas and Development
    gamelist.xmlpremade scrapeeasy config
    448 Posts 16 Posters 150.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • meleuM
      meleu @UDb23
      last edited by

      @UDb23 actually there's no need to make it named as gamelist.xml ;-)

      • Useful topics
      • joystick-selection tool
      • rpie-art tool
      • achievements I made
      UDb23U 1 Reply Last reply Reply Quote 1
      • UDb23U
        UDb23
        last edited by UDb23

        @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.

        1 Reply Last reply Reply Quote 1
        • UDb23U
          UDb23 @meleu
          last edited by

          @meleu If command is used with the right filename.. of course not. lol.

          Used2BeRXU 1 Reply Last reply Reply Quote 1
          • Used2BeRXU
            Used2BeRX @meleu
            last edited by Used2BeRX

            @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

            meleuM 2 Replies Last reply Reply Quote 0
            • meleuM
              meleu @Used2BeRX
              last edited by

              @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

              • Useful topics
              • joystick-selection tool
              • rpie-art tool
              • achievements I made
              Used2BeRXU 1 Reply Last reply Reply Quote 1
              • meleuM
                meleu @Used2BeRX
                last edited by

                @Used2BeRX

                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... ;-)

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                1 Reply Last reply Reply Quote 0
                • Used2BeRXU
                  Used2BeRX @meleu
                  last edited by

                  @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.

                  1. It's different than the Pi filestructure in a few ways.
                  2. 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/
                  3. 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.

                  1 Reply Last reply Reply Quote 0
                  • Used2BeRXU
                    Used2BeRX @UDb23
                    last edited by

                    @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?

                    UDb23U 1 Reply Last reply Reply Quote 0
                    • UDb23U
                      UDb23 @Used2BeRX
                      last edited by UDb23

                      @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).

                      Used2BeRXU 1 Reply Last reply Reply Quote 0
                      • Used2BeRXU
                        Used2BeRX @UDb23
                        last edited by Used2BeRX

                        @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.

                        UDb23U 1 Reply Last reply Reply Quote 0
                        • UDb23U
                          UDb23 @Used2BeRX
                          last edited by UDb23

                          @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.

                          Used2BeRXU 1 Reply Last reply Reply Quote 0
                          • Used2BeRXU
                            Used2BeRX @UDb23
                            last edited by

                            @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.

                            UDb23U 1 Reply Last reply Reply Quote 0
                            • meleuM
                              meleu
                              last edited by

                              @Used2BeRX can you post somewhere a pack with all the Synpsis txt files you have?

                              No need for any media, only txt files.

                              • Useful topics
                              • joystick-selection tool
                              • rpie-art tool
                              • achievements I made
                              1 Reply Last reply Reply Quote 0
                              • UDb23U
                                UDb23 @Used2BeRX
                                last edited by

                                @Used2BeRX we can use whatever chars you like. if we use the same as rom entries, that's fine.

                                1 Reply Last reply Reply Quote 0
                                • meleuM
                                  meleu
                                  last edited by

                                  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)
                                  
                                  • Useful topics
                                  • joystick-selection tool
                                  • rpie-art tool
                                  • achievements I made
                                  Used2BeRXU 2 Replies Last reply Reply Quote 0
                                  • Used2BeRXU
                                    Used2BeRX @meleu
                                    last edited by Used2BeRX

                                    @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???

                                    meleuM 1 Reply Last reply Reply Quote 0
                                    • Used2BeRXU
                                      Used2BeRX @meleu
                                      last edited by

                                      @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.

                                      1 Reply Last reply Reply Quote 0
                                      • meleuM
                                        meleu @Used2BeRX
                                        last edited by meleu

                                        @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.

                                        • Useful topics
                                        • joystick-selection tool
                                        • rpie-art tool
                                        • achievements I made
                                        Used2BeRXU 1 Reply Last reply Reply Quote 0
                                        • Used2BeRXU
                                          Used2BeRX @meleu
                                          last edited by

                                          @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.

                                          meleuM 1 Reply Last reply Reply Quote 0
                                          • meleuM
                                            meleu @Used2BeRX
                                            last edited by meleu

                                            @Used2BeRX said in Making premade gamelist.xml with xtra media collections:

                                            @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.

                                            As I'm trying to convert those files so we can use them on RetroPie/EmulationStation, I'll focus on the currently useful xml elements and ignore the others. If/when the other info become useful, I can try to update the script to make use of them.

                                            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.

                                            I think there's no need for this, since my script will try to find them using the find command. But feel free to name the paths as you wish.

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            Used2BeRXU 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.