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

    Versatile C++ game scraper: Skyscraper

    Scheduled Pinned Locked Moved Ideas and Development
    skyscraperscrapergamelist.xmlscrapinggithub
    1.6k Posts 113 Posters 1.6m 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.
    • A
      annomatik
      last edited by annomatik

      Hi! Skyscraper scraps many games for me, but some it does not scrap are quite common which I find odd. E.g. Chaos Engine and Lemmings.

      Here's the list of some of the currently not scraped games I'm experiencing with Skyscraper:

      Amiga

      AlienBreed1_v2.3a_0998.lha (2 + 3D scrap fine)
      "Bad Ninjas (Homebrew 2018).adf"
      Cadaver&CadaverThePayoff_v2.2_0900.lha
      ChaosEngine1_v1.2_AGA_1324.lha
      ChaosEngine2_v2.1_AGA_0173.lha
      CrazyCars1_v1.2.lha
      CrazyCars2_v1.1_0311.lha
      CrazyCars3_v2.1.lha
      DefenderOfTheCrown_v3.1_0317.lha
      DeluxePacMan_v1.0_AGA.lha
      EyeOfTheBeholder1_v1.5_0116.lha
      EyeOfTheBeholder2_v1.1_0834.lha
      GhostsNGoblins_v1.2.lha
      GhoulsNGhosts_v1.0_2252.lha
      Gobliiins1_v1.3_0065.lha
      Gobliins2_v1.4_0185.lha (Goblins3 scraps fine)
      GreatGianaSisters_v1.6_2945.lha
      "Inviyya (Homebrew Demo 2018).adf"
      ItCameFromTheDesert1_v2.0_0014.lha
      ItCameFromTheDesert2_v2.0.lha
      JamesPond1_v2.1.lha
      JamesPond2_v2.0_AGA_1354.lha
      JamesPond3_v1.0_AGA_0688.lha
      "Lemmings 3 AGA (1 of 4).adf"
      Lemmings1_v1.5_Files_2089.lha (Lemmings 2 scraps fine)
      Llamatron_v1.1_1MB.lha
      Lotus1_v1.1_0774.lha
      Lotus2_v1.11_0497.lha (Lotus 3 scraps fine)
      MegaLoMania_v1.7_0272.lha
      MontyPythonsFlyingCircus_v1.3_0273.lha
      Nebulus1_v1.3_0361.lha (Nebulus 2 scraps fine)
      "Operation Lemming v1.2.adf"
      Populous1&DataDisks_v1.1_0069&1217.lha
      Populous2&ChallengeGames_v1.3_0079.lha
      ProjectX1_v1.3_0886.lha
      ProjectX2_v1.3_0289.lha
      ProjectXSE_v1.5_0927.lha
      RType1_v1.4.1_0940.lha (RType 2 scraps fine)
      SensibleTrainSpotting_v1.0.lha
      ShadowOfTheBeast1_v2.2_1357.lha
      ShadowOfTheBeast2_v1.3a_1359.lha
      ShadowOfTheBeast3_v1.6_0016.lha
      Speedball1_v2.0_0581.lha (Speedball 2 scraps fine)
      SuperMethaneBros_v1.3.lha
      TitusTheFox_v2.0_0226.lha
      Turrican1_v2.0_0092.lha ( Turrican 2 + 3 scrap fine)
      Xenon1_v1.2_0399.lha (Xenon 2 scraps fine)
      "Zerosphere (Homebrew 2015).adf"
      NES

      "Balloon Fight (USA) 2P.nes"
      "Banana Prince (GER).nes"
      "Castlevania 2 (USA).nes" (Castlevania 1 scraps fine)
      "Donkey Kong Jr. (World).nes" (Donkey Kong scraps fine)
      "Galaga (USA).nes"
      "Ninja Gaiden 1 (USA).nes"
      "SCAT (USA) 2P.nes"
      "StarTropics 1 (USA).nes"
      "Tetris (Nintendo).nes" (Tetris (Tengen) scraps fine)

      1 Reply Last reply Reply Quote 0
      • muldjordM
        muldjord
        last edited by muldjord

        @annomatik Most of the LHA's are not yet in the screenscraper database. It will work for some of them with the openretro module, but overall they are poorly supported at this time (for all scrapers, not just Skyscraper). We are in the process of making them work with both openretro and screenscraper.

        As for the nes games, try looking them up on the screenscraper site and check if your checksums for your roms match those in their database. If they do please provide some documented examples of matches that don't return a result and I can look into this further. Thank you. :)

        1 Reply Last reply Reply Quote 0
        • A
          annomatik
          last edited by

          thanks, will do. Which checksum tool should I use (either Windows or Raspbian would be fine)?

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @annomatik
            last edited by

            @annomatik On Linux you can use md5sum <filename> or sha1sum <filename>, on Windows I think you can use Powershell to compute them - https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-6.

            1 Reply Last reply Reply Quote 1
            • muldjordM
              muldjord
              last edited by

              Hi guys, please check here: https://retropie.org.uk/forum/topic/19588/skyscraper-now-officially-part-of-retropie-please-test

              :)

              1 Reply Last reply Reply Quote 0
              • A
                annomatik
                last edited by

                ok, here are the check sums for the NES games... which database should I compare them to?

                The MD5 sums:

                8bff672e12a06787abfa3372f27f2ae4 Balloon Fight (USA) 2P.nes
                a1db8a18bae78e276d22e0725062b559 Banana Prince (GER).nes
                73fa5a34a5c1579161a8c1e8ef1b2afc Castlevania 2 (USA).nes
                e824d5b1c62bc13de3d2716d29225371 Donkey Kong Jr. (World).nes
                9ab02f9f92d67a7ae91ebf981c1e2adf Galaga (USA).nes
                2e4a6b4553d1f47db8f0e484aa5cfa3e Ninja Gaiden 1 (USA).nes
                d8cbc5f2dbf44fae5239a170ad6a092d SCAT (USA) 2P.nes
                cd7816986cbae890e15debd5a06e6414 StarTropics 1 (USA).nes
                5c4ab6b03431f7298b19bcab58e858f0 Tetris (Nintendo).nes

                The SHA1 sums:

                3031c47d4481360a911763213fc3ee4a94779d0a Balloon Fight (USA) 2P.nes
                ef8214f4bad14443b37121091690416f8375fbfc Banana Prince (GER).nes
                990f6b4c12812ab11f2716d82bfda59de742d636 Castlevania 2 (USA).nes
                1e6fcc6af295a2e41f8370efcf2440da4f29d017 Donkey Kong Jr. (World).nes
                f0c642b45424b85231e8fe678c9b741fbf16cce9 Galaga (USA).nes
                82e8d9e63a2f7cdaefc89ca3a8946b793b15db76 Ninja Gaiden 1 (USA).nes
                74a15693eebc2c01c7982c0c9a3f294bc26f53a7 SCAT (USA) 2P.nes
                ec6ebf666e3871a8dd6f296a6e200a3ca3d82a87 StarTropics 1 (USA).nes
                865849aa2064ab38a5959116e697ebbfda9f4795 Tetris (Nintendo).nes

                mituM 1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @annomatik
                  last edited by

                  @annomatik said in Versatile C++ game scraper: Skyscraper:

                  ok, here are the check sums for the NES games... which database should I compare them to?

                  I posted in your other topic how you can check the data on the Screenscraper.fr site, each game has it's own set of name/roms/hashes associated (in the 'ROMs/ISOs' tab of the game detail page)

                  0_1539342857947_986b9071-805d-4840-a8a0-a9d1eab95809-image.png

                  1 Reply Last reply Reply Quote 0
                  • A
                    annomatik
                    last edited by

                    Wow, that's a ton of games there... :-)

                    I just checked the first couple of games. Balloon Fight, Banana Prince, Castlevania 2, Donkey Kong Jr. : many versions are there, but not with the checksums I have.

                    So... I can think of at least four solutions:

                    • Do I really have to keep looking for the right roms ? That would be probably a lot of effort.
                    • I could try adding my own versions to the lists, but why, the meta-data is already there, the roms are working fine, there's already many different versions of the same game (why not just have a list of different checksums for the same game?)...
                    • Could Skyscrapper just match filenames, not CRC sums? How would I enable that? and, if not
                    • Can I maybe give Skyscrapper a pointer to the right meta-data?

                    In Kodi, it is possible to add a .nfo file, which can contain the link to the details-page of a movie / tv show episode. It is in the exact same solution like the video, just instead of mp4/mkv/whatever, it has the extension nfo. In its simplest form, it's just a simple link, but it can also be used for storing all meta-data, if wanted. And if combined with a link, it first takes the provided meta-data from the nfo and takes the rest via scrapping from the nfo.

                    Maybe, if that's not yet possible, it would be possible to provide direct links somehow?

                    Thanks!

                    muldjordM 1 Reply Last reply Reply Quote 0
                    • T
                      tacodog
                      last edited by

                      @muldjord Thanks for the replay about the psx games. I was able to write a script that would read the m3u file to get the cue file, and then grab the checksum of the bin/cue files and grab the correct images using --query. It works great.

                      I have another question/issue. I just scraped my nes roms and Super Mario 2 seems to grab the japanese wheel no matter what I do. I've tried --region 'us', 'eu', and 'wor', but I always get the "Super Mario USA" wheel.

                      Is this an issue with the way I'm running Skyscraper? an issue with the program itself? or an issue with the screenscraper database? Can you repeat this?

                      The wheel I want is located here:
                      https://screenscraper.fr/image.php?gameid=1248&media=wheel&hd=1&region=wor&num=&version=&maxwidth=600&maxheight=300

                      Skyscraper -p nes --refresh --region 'wor' --unpack -s screenscraper -i . -o . -g . --pretend /mnt/exhd0/roms/nes/Favorites/Super\ Mario\ Bros.\ 2\ \(USA\)\ \(Rev\ A\).zip
                      

                      The md5 of my (unzipped) rom is d769d73689ea4684dbb0bd7cf3a24b2f.

                      Thanks

                      muldjordM 1 Reply Last reply Reply Quote 0
                      • muldjordM
                        muldjord @annomatik
                        last edited by

                        @annomatik Skyscraper already matches just filenames when it looks for games at screenscraper. But it only works if the filename is unique in their database. So if they have 2 roms with the same filename, it won't work. This is not a Skyscraper thing, but a screenscraper thing, so not something I can change. You can try scraping the games with some of the other sources. They are filename search based.

                        You can, however, overwrite the checksums Skyscraper uses when looking for the games with the '--query' option. Read more about that here: https://github.com/muldjord/skyscraper/releases/tag/2.7.5

                        It works from 2.7.5 and newer. :)

                        1 Reply Last reply Reply Quote 0
                        • muldjordM
                          muldjord @tacodog
                          last edited by

                          @tacodog I'll need to look into that when I get the time. It could be a bug of some sort. If the '--region us' doesn't pull it in, there might be a problem. If the wheel exists in their database, it should use it. If it didn't it will prioritize other regions until it finds one that does exist. So either there's a problem with the us wheel in their database, or there's an issue in Skyscraper. Should be easy to reproduce though.

                          1 Reply Last reply Reply Quote 0
                          • T
                            tacodog
                            last edited by

                            @muldjord One more request/suggestion. Would it make sense to divide the import directory by system? My understanding is that all images now go in import/screenshots. So if I wanted to use custom images for Mortal Kombat 2, I would have to remember to change the images in the import directory when building snes or megadrive databases. Not really a big problem, just an idea.

                            muldjordM 2 Replies Last reply Reply Quote 1
                            • A
                              annomatik
                              last edited by

                              Cool, will try the query option. Thanks!

                              1 Reply Last reply Reply Quote 0
                              • A
                                annomatik
                                last edited by

                                Didn't work :-( I used the following script, it said it scraped something, but when I started Emulationstation again, there still was no meta-data for the games I specified:

                                #!/bin/bash
                                ./Skyscraper -p nes -s screenscraper --query sha1=F5E4CD9F287A8233EEE35AD1881B2770D9F2C453 "/home/pi/RetroPie/roms/nes/Balloon Fight (USA) 2P.nes"
                                ./Skyscraper -p nes -s screenscraper --query sha1=74357C80B61FFD25AC2A802391068600F2646D98 "/home/pi/RetroPie/roms/nes/Banana Prince (GER).nes"
                                ./Skyscraper -p nes -s screenscraper --query sha1=85793B0F013EC0F24F36FED0A2859B3B74131510 "/home/pi/RetroPie/roms/nes/Castlevania 2 (USA).nes"
                                ./Skyscraper -p nes -s screenscraper --query sha1=02633E208732B598E3A8EB80B6E0E09926F25E83 "/home/pi/RetroPie/roms/nes/Donkey Kong Jr. (World).nes"
                                ./Skyscraper -p nes -s screenscraper --query sha1=DA54C223D79FA59EB95437854B677CF69B5CAC8A "/home/pi/RetroPie/roms/nes/Galaga (USA).nes"
                                ./Skyscraper -p nes -s screenscraper --query sha1=CA513F841D75EFEB33BB8099FB02BEEB39F6BB9C "/home/pi/RetroPie/roms/nes/Ninja Gaiden 1 (USA).nes"
                                ./Skyscraper -p nes -s screenscraper --query sha1=74A15693EEBC2C01C7982C0C9A3F294BC26F53A7 "/home/pi/RetroPie/roms/nes/SCAT (USA) 2P.nes"
                                ./Skyscraper -p nes -s screenscraper --query sha1=FDD3D68C7B5B2F9DC7EC50D9888B0A8EDBAAEC28 "/home/pi/RetroPie/roms/nes/StarTropics 1 (USA).nes"
                                ./Skyscraper -p nes -s screenscraper --query sha1=77747840541BFC62A28A5957692A98C550BD6B2B "/home/pi/RetroPie/roms/nes/Tetris (Nintendo).nes"

                                1 Reply Last reply Reply Quote 0
                                • muldjordM
                                  muldjord
                                  last edited by

                                  @annomatik You need to always rescrape with:

                                  $ Skyscraper -p [platform]
                                  

                                  when you've added new data to the cache as you just did. That will regenerate the gamelist.xml using all of your cached data. Please read the github documentation thoroughly. It's all very well-documented including these features. :)

                                  1 Reply Last reply Reply Quote 0
                                  • muldjordM
                                    muldjord @tacodog
                                    last edited by

                                    @tacodog That's a good idea, I will add it to the roadmap. :)

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      annomatik
                                      last edited by annomatik

                                      Thanks, that worked. To be honest, I'm a little overwhelmed by the doc, so if it's ok for you, I'll just ask my question here.

                                      Next topic. After scraping, I now have a "Adventure Island 3", a "Adventure Island Classic" and a "Adventure Island II".

                                      What I'd like to have instead: "Adventure Island 1", "Adventure Island 2" and "Adventure Island 3".

                                      Where would I specify that so it does not get overwritten with the next db update? Thanks

                                      alt text

                                      muldjordM 1 Reply Last reply Reply Quote 0
                                      • A
                                        annomatik
                                        last edited by annomatik

                                        Also, is it possible to configure the console-colors used? The yellow is very hard to read on a white background. Thanks!

                                        alt text

                                        1 Reply Last reply Reply Quote 0
                                        • muldjordM
                                          muldjord @annomatik
                                          last edited by

                                          @annomatik If you wish to use your own titles (and keep them) for any game, I suggest using the 'import' feature. Please read the documentation on how to use that. I am not gonna go over it here as it is already well-documented.

                                          I will answer questions that aren't covered in the documentation, but I expect you to take your time and read it, overwhelming as it might be. Just read the sections you need to learn about. It'll be worth it in the end.

                                          As for terminal colors, I don't know if you can change them in Putty. I am not a Windows user myself, so you will have to look into Putty's documentation. There is not a way to change them in Skyscraper.

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            annomatik
                                            last edited by

                                            Ok, thanks.

                                            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.