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 162.4k 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.
    • UDb23U
      UDb23 @meleu
      last edited by

      @meleu you're not sounding like that; don't worry. ;-)
      About the program I already made it in Visual Studio 2017 (vb); you won't believe it but Microsoft gives the community edition for free!
      These text files are not all structured in the same way so there still are a few fixes to be done to parse them correctly. No Problem on this side; it's fun to me to re-start some coding in visual basic after so many years. Working on a real project is far better then just studying; and vb has changed a lot over the years.

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

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

        Now he'd like to automate the install of metadata and media only for the roms a user actually has installed. Basically like scraping roms using local metadata and media instead of online. Any suggestions ?

        Actually, although that might not be a bad idea for future usability for other people without my setup, that's not exactly what I was asking. (And I noticed another issue while putting together this example):

        When the program reads "1ST ULTIMATE SUPER MARIO BROS.TXT", I'd like to see it be able to recognize what sub folder the rom "1ST ULTIMATE SUPER MARIO BROS.ZIP" is in and add that path to the <path></path> tag, instead of just putting "./" before the file name.

        For this example, using the table I had posted above, this line should read as:

        <path>/home/pi/RetroPie/roms/nes/(3) Unlicensed - Homebrew/(3_10) Super Mario Bros Updates/1ST ULTIMATE SUPER MARIO BROS.ZIP</path>

        (I think ./(3) Unlicensed - Homebrew/(3_10) Super Mario Bros Updates/1ST ULTIMATE SUPER MARIO BROS.ZIP would be the same thing???)

        Right now this is how it's reading:

        <path>./Frank's First Ultimate Super Mario Bros..zip</path>

        No path, but the other problem I noticed is that it's taking the altered game name instead of using the rom file name. In this example that means the file name is incorrect and the Case is wrong because the case of the TXT file and ZIP file and all Xtras will be all Caps "XXXXXX.XXX"

        Hope that clears up the confusion. I also hope it can be done. That's the 10,000 or so lines that I would be forced to do by hand that I mentioned before if we can't do this.

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

          @meleu At this point I'm really only concerned with getting everything up and running right with good gamelist.xml files that aren't going to take me a year or two to write by hand.

          I plan on sharing the work at that point, but I don't have any interest in putting all of that work into re-hosting stuff here. It's easily over 100,000 files, and once videos are thrown in the mix it's a giant collection that I doubt would fit anywhere here.

          I think I mentioned to Herb Fergus that I'm alright with somebody else putting it all up as long as credit is given to the team behind the work. That would all be in a readme when a release comes out.

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

            @Used2BeRX OK man. As the Overlay Master requested, I'll write the scraper. I just need to know where the xml files are supposed to be placed.

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

              @meleu if I'm the overlay master then you're the Script Grand Master ;-).
              @Used2BeRX ok, misunderstood original request. Now clear.

              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:

                No path, but the other problem I noticed is that it's taking the altered game name instead of using the rom file name. In this example that means the file name is incorrect and the Case is wrong because the case of the TXT file and ZIP file and all Xtras will be all Caps "XXXXXX.XXX"

                I modified the program: now the exact TXT filename (with .zip extension) will be used for the <path> tag.
                So if TXT filename corresponds to ROM filename (case included) the xml will inlcude the correct name for the rom file.

                Actual path were the ROM resides will then be found by @meleu 's new script, that will also automagically modify the path tag in the .xml accordingly.

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

                  @Used2BeRX New version (06) uploaded.

                  • No more errors (as far as I could check) with txt files import.
                    Error was due to max number of lines limit I used (was not expecting that long descriptions). Now basically unlimited.
                  • ROM name exactly as txt filename (as mentioned previously)
                  • "convert all" checkbox allows to convert all txt files in folder (tested on 7800 TXTs, converted 90 files without any issue).

                  Next to be implemented:

                  • implement all items/tags you requested (not yet finalized)
                  • custom media path (can be set by user)
                  • create global gamelist.xml (converting all txt in folder)
                  • fix append issue (currently appends to existing xml with same name, if file already exists)
                  Used2BeRXU 1 Reply Last reply Reply Quote 1
                  • Used2BeRXU
                    Used2BeRX @UDb23
                    last edited by

                    @UDb23 It works without crashing now. I did the Atari 7800 (90) for myself and I also did the NES (1,756 files!). I'm pretty sure that with a group that large not spitting out any errors that we're good on that now.

                    Two issues I noticed so far. (I'll study the output files and see if I find any more).

                    1. Zip file romname is showing the proper case now, but the extension is a lowercase ".zip". Can your program recognize that and case the extension accordingly? For my purposes, every file involved now will be all uppercase to avoid any confusion, so forcing it is also acceptable, but that will limit the use of the program for others not using my collection in the future.

                    2. All other media is still showing the game title instead of the romname, so the lines are wrong and the case is incorrect. Everything in the <artwork-type><movies><manual><vgmap><marquee>, etc. should be the exact same as the file name in the <path> tag (the extension will be different though of course).

                    Actual path were the ROM resides will then be found by @meleu 's new script, that will also automagically modify the path tag in the .xml accordingly.

                    I'd like to test this out. Was this implemented in this change, or you're going to put it in a future update? If it's in there now, how do I have to have the file structures set up since there is never a question about where the roms are found?

                    Future ideas:

                    If this script works, perhaps we can do even more upgrades to the program that would be similar to this one. For instance, a person might have artwork that is mixed between .JPG and .PNG. Using a similar script the exact file names could be put on each line of the tags (and also you could have the ability to completely skip tags if you didn't have the particular artwork).

                    I may or may not have somebody upgrading a lot of the videos we have. The old videos were .WMV and the new videos would be MP4. That would be awesome to have the program determine what extension to put in there.

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

                      Glad to hear it works and was able to manage that huge number of files :-)

                      1.Can your program recognize that and case the extension accordingly?

                      Should be able to detect actual case of extension of original file and apply to .zip accordingly.

                      2 All other media is still showing the game title .....should be the exact same as the file name in the <path> tag (the extension

                      I've overseen this; sure I can do. Very easy fix

                      Actual path were the ROM resides...

                      Current idea is that my program creates the xml files (eventually with some user customizable path for roms and media; to be set by user).

                      @meleu very kindly agreed to write a new specific script that would "scrape" (check) where actual roms are and automatically modify the required xml files. I'll wait for his feedback and proposal on this, including where xml file should be available to be accessed thru the web from his script (e.g. github). This would avoid user the need to download ALL xml files locally just to use/install only the ones he has roms for.

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

                        btw I have complete metadata for VIc20 roms I got thru a combination of an own written scraper (mobygames based) and other sources found on the web. Also have most cover art. Will try to find a way to generate the related xml for Retropie like I did for your txt files.
                        Likely it will be an additional convert command/option of MetaX.

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

                          @UDb23 Sounds good man.

                          I know you got a lot on your plate with this now and I don't want to bog you down with requests on it, but I was thinking about how to handle the sub-folders. Currently, I had written entries for the folders on the Atari gamelists that have information about the console itself as well as pointers to a .PNG file that shows a nice pic of the system.

                          If you look at the NES sub-folders, there are a TON of different ones. I'd like to make some cool artwork to display for each of these folders as well as a short description for what's inside each of them for the end user.

                          If I were to make TXT files for every sub-folder for the program to use, how would you suggest I name these, and how would you suggest I put the data in for your program to scrape? There wouldn't be much to add on these as far as media. Currently I'm only putting one picture from a folder called /Artwork/Console/.

                          I was thinking that for naming them I could start every folder entry with "FOLDER xxxxxxxxx.TXT"?

                          No need to give an answer on that right away. Id' like to see what you think about it.

                          I'm hoping that eventually we can get the entire process automated so that only existing media is added to the XML files and if any media is upgraded/added that you could simply re-run the program and get a completely working gamelist.xml file that contains the upgrades without having to worry about re-testing that everything still works and/or going through and making a lot of changes by hand.

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

                            @Used2BeRX Just a quick answer from my side as @meleu is the master in this area.
                            I read a post somewhere that folder images can be used in ES but can't remember how this is done. To provide necessary information about suggested folders you may create a info_folder_xxx.txt file or even just a single folderInfo.txt file that includes all necessary folder info.
                            Please check how we managed this for overlays here.; it may give you some idea. on how to structure it.

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

                              @UDb23 I already know how to make the folder images to show up. I was asking how to make the "FOLDERxxxxxx.TXT" files work in your program. I haven't made any txt files to run through your program, but here's an example of what a working <folder></folder> entry looks like in my gamelist.xmls for the Atari systems:

                              <folder>
                              		<path>./(1) Licensed</path>
                              		<image>/home/pi/RetroPie/Media/A7800/Artwork/Console/7800.png</image>
                              		<name>(1) Licensed Atari 7800 ProSystem Games</name>
                              		<releasedate>1982</releasedate>
                              		<developer>Atari Inc.</developer>
                              		<publisher>Ateri Inc.</publisher>
                              		<desc>LICENSED ATARI 7800 PROSYSTEM GAMES
                              ==========================================
                              The Atari 7800 ProSystem, or simply the Atari 7800, is a home video game console officially released by Atari Corporation in 1986. It is almost fully backward-compatible with the Atari 2600, the first console to have backward compatibility without the use of additional modules. It was considered affordable at a price of US$140.
                              
                              The 7800 has significantly improved graphics hardware over the 2600, but uses the same audio chip. It also shipped with a different model of joystick than the 2600-standard CX40.
                              
                              The 1986 launch is sometimes referred to as a "re-release" or "relaunch" because the Atari 7800 had originally been announced on May 21, 1984, to replace Atari Inc.'s Atari 5200, but a general release was shelved due to the sale of the company. A few units were released to test markets in June 1984 though.
                                             </desc>
                              </folder>
                              

                              My question to you was how would you like these individual sub-folder synopsis.txt files created?

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

                                @UDb23 It took a couple of days work, but I now have 100% confirmed filename/case matches for every rom, synopsis.txt and low def Pi-Zero artwork. Everything for the Pi-Zero is now completely prepared for testing when the program is ready.

                                To Do List:
                                100% match for the highest quality artwork I have for use with a greater Pi.
                                100% match for videos, manual scans, vgmap zips, gamefaq zips for use with a greater Pi. *

                                (* No current use for manuals, vgmaps or gamefaqs, but hopefully somebody will find a way to use them in EmulationStation like we can use them on the other platform)

                                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:

                                  here's an example of what a working <folder></folder> entry looks like

                                  nice, thanks.

                                  how would you like these individual sub-folder synopsis.txt files

                                  Let's wait for @meleu 's considerations on this; meanwhile I finalize the program.

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

                                    @UDb23 I got pretty much everything re-cased and compared now for both the PiZero and Pi3 setups. I'm still waiting on changing the highest quality artwork to JPG to see if you can make the program recognize what type of file is in the media folders since the original PNG files would look better.

                                    I'm ready to start making those synopsis.txt files for all of the folders whenever you guys have directions for me. Turns out there is going to be quite a bit of rain the next 3-4 days so the gig I had is going to be put off for a few more days at least.

                                    I also had a very long list I put together of about 500-600 romlist names that I wanted to change in those synopsis files a few months back that I finally got around to doing today. I'm not going to say that the names are perfect across nearly 10,000 games, but they're pretty damn close. I tried to make them exactly how they are displayed on the boxart for the games. I've been through that list about 5 or 6 times over the years and I'm really happy with how it looks now.

                                    Looking forward to being able to test more out and see if having all this artwork is going to break my Pi Zero or not. :)

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

                                      I'm ready to start.

                                      Here's what I need to actually start coding:

                                      • a gamelist.xml for the tests (preference for the classcis: atari2600, nes, megadrive, snes, gameboys... only one is enough).
                                      • the art files.
                                      • where the art files are supposed to be placed (a quick reading on the posts above made me believe the files will be at ~/RetroPie/Media/{SYSTEM_NAME}, but I need a confirmation from you guys).
                                      • please, name the systems the same way as RetroPie does (e.g.: atari2600 and not A2600).
                                      • Useful topics
                                      • joystick-selection tool
                                      • rpie-art tool
                                      • achievements I made
                                      mediamogulM Used2BeRXU 2 Replies Last reply Reply Quote 0
                                      • mediamogulM
                                        mediamogul Global Moderator @meleu
                                        last edited by

                                        @meleu

                                        I'm ready to start.
                                        Here's what I need...

                                        alt text

                                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                        P lilbudL 2 Replies Last reply Reply Quote 1
                                        • P
                                          phulshof @mediamogul
                                          last edited by

                                          Out of curiosity:
                                          What's the eventual plan with this code/xml/art? Will it be downloadable from somewhere? Integrated into GamesDB? ....?
                                          How do these lists compare to the MAME software lists?
                                          How do they compare to the HyperSpin XML files (with corresponding art sets)?

                                          meleuM Used2BeRXU 2 Replies Last reply Reply Quote 0
                                          • lilbudL
                                            lilbud @mediamogul
                                            last edited by

                                            @mediamogul I love GOTG

                                            Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                                            Backlog: http://backloggery.com/lilbud

                                            1 Reply Last reply Reply Quote 1
                                            • 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.