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.5m 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.
    • T
      TomFury @muldjord
      last edited by

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

      @TomFury That was actually the idea and I thought I checked the skipped files, but I probably checked the report files instead. I think I will change the skipped files to include filenames instead and cross my fingers people won't miss the old format.

      EDIT: 3.7.4 now out with both of these things fixed.

      Awesome! I will give it a try the nearest couple of days :-).

      1 Reply Last reply Reply Quote 0
      • ClydeC
        Clyde @muldjord
        last edited by

        @muldjord Thanks for the update! It's great that you still find the time to work on this. 👍

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

          Decided to remove the code that replaces : in the Pegasus command string. I can't remember why I put it in there, but things seem to work without it. So maybe I put it in there before I added the newer Pegasus parser (which seem to work with the : in place).

          So 3.7.5 released where : is now allows in Pegasus launch command. It's been requested a few times.

          1 Reply Last reply Reply Quote 0
          • S
            sleve_mcdichael
            last edited by sleve_mcdichael

            @muldjord most of the time I am scraping only new titles, and I want videos, so I have videos="true" enabled in my config.ini so I don't have to type the flag every time.

            Let's say I want to re-scrape the screenshots for a bunch of existing titles, so I want to disable videos only temporarily, for one run only. I see I can use --flags nocovers,nowheels,nomarquees to skip those assets but I don't see a way to negate the videos without editing my config. Is there something I've overlooked?

            [Edit]: ...also, is there a way to output something besides the "screenshot" to the gamelist <image> tag? If I just want the box art, for example. I guess I can output to the screenshot "type" with the cover "resource":

            <output type="screenshot" resource="cover"/>
            

            Is this the right/only way?

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

              @sleve_mcdichael

              but I don't see a way to negate the videos without editing my config. Is there something I've overlooked?

              You can set videos="true" for all individual platforms that you want to use videos. And then not set it for the ones you want to use artwork.

              Example:

              [nes]
              videos="true"
              

              also, is there a way to output something besides the "screenshot" to the gamelist <image> tag?

              Yes, you can set any output node in artwork.xml to substitue an export type to use a different artwork source.

              Example:

              <output type="screenshot" resource="wheel" mpixels="0.1" width="640" height="400">
              

              The above will export a screenshot but use the wheel artwork as source for it.

              S 1 Reply Last reply Reply Quote 0
              • S
                sleve_mcdichael @muldjord
                last edited by

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

                @sleve_mcdichael

                You can set videos="true" for all individual platforms that you want to use videos. And then not set it for the ones you want to use artwork.

                It's not specific to a certain platform. Here's my use case:

                I have both images and videos for each title; the video plays in the gamelist and the image is shown on launch.

                Yesterday, I wanted to scrape videos. Tomorrow, I will want to scrape videos. In the future when I add new games, I will want to scrape videos.

                Today, I want to re-scrape some of my existing titles to get a better screenshot for the image. But I don't need to re-scrape all the videos or other image assets again, I just want the screenshots.

                To do that, I edit my config.xml, disable videos, and then save the xml. Then I scrape with --cache refresh --flags nocovers,nowheels,nomarquees to re-download the screenshots (and textual datas) only, then once I have all the new screenshots that I want, I edit the xml again and re-enable the videos so that when I add more new games again tomorrow, they have videos.

                Granted, this isn't something I'll need to do very often, it just would be convenient-er if there was a novideos flag as well instead of editing the config.xml twice.

                Yes, you can set any output node in artwork.xml to substitue an export type to use a different artwork source.

                Example:

                <output type="screenshot" resource="wheel" mpixels="0.1" width="640" height="400">
                

                The above will export a screenshot but use the wheel artwork as source for it.

                Well, that was my question. It has to be called "screenshot", then? So I can't, for example, output a cover and a screenshot, and use the one called 'cover' in the gamelist.

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

                  @sleve_mcdichael

                  It just would be convenient-er if there was a novideos flag as well instead of editing the config.xml twice.

                  I do consider this a niche case, as you also mention yourself. Having both a videos and novideos flag seems like bloating and contradicting to me. I'll forego it for the time being.

                  It has to be called "screenshot", then?

                  In the case of an EmulationStation gamelist generation, the screenshot is the image used in the <image> tag. You can export any resource to that tag by using my example. If that is not what you mean, I'm not sure I understand what you are describing.

                  S 1 Reply Last reply Reply Quote 1
                  • S
                    sleve_mcdichael @muldjord
                    last edited by

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

                    If that is not what you mean, I'm not sure I understand what you are describing.

                    I was describing something like:

                    <image>/home/pi/.emulationstation/downloaded_media/nes/covers/Castlevania (USA) (Rev 1).png</image>

                    ...but I understand from your response, this is not possible and that I should use type="screenshot" resource="cover" in that situation instead.

                    New question: what should I expect to see with --flags interactive? In my composite art, using the default artwork.xml, many games show a "title" screenshot instead of a gameplay one. For example:

                    Castlevania (USA) (Rev 1).png

                    On www.screenscraper.fr, I can see that for this game there are three "title" screenshots and one regular.

                    What should I see when I use --flags interactive? I expected to be presented with a choice, perhaps something like:

                    1. Screenshot Title (Europe)
                    2. Screenshot Title (Japon)
                    3. Screenshot Title (Monde)
                    4. Screenshot (Monde)
                    

                    ...but when I run Skyscraper -p nes -s screenscraper --flags interactive "/path/to/Castlevania (USA) (Rev 1).7z", nothing different happens, it just processes the file and exits with no interaction. I even tried removing "unattendSkip" from my config.ini and it was the same. The config.ini I am using right now is:

                    [main]
                    
                    ## define paths
                    # inputFolder="/home/pi/RetroPie/roms"
                    gameListFolder="/home/pi/.emulationstation/gamelists"
                    mediaFolder="/home/pi/.emulationstation/downloaded_media"
                    # cacheFolder="/home/pi/.skyscraper/cache"
                    # importFolder="/home/pi/.skyscraper/import"
                    
                    ## cache settings
                    # cacheCovers="true"
                    # cacheScreenshots="true"
                    # cacheWheels="true"
                    cacheMarquees="false"
                    
                    ## video settings
                    #videos="true"
                    videoSizeLimit="42"
                    videoConvertCommand="videoconvert.sh %i %o"
                    videoConvertExtension="mp4"
                    symlink="true"
                    
                    ## generic
                    brackets="false"
                    subdirs="false"
                    theInFront="true"
                    #unattendSkip="true"
                    artworkXml="artwork-wide.xml"
                    maxLength="10000"
                    
                    [arcade]
                    artworkXml="artwork-tall.xml"
                    
                    [gb]
                    artworkXml="artwork-tall.xml"
                    ## allow gbc titles in gb folder
                    # addExtensions="*.gbc"
                    
                    [gba]
                    artworkXml="artwork-wide.xml"
                    
                    [gbc]
                    artworkXml="artwork-tall.xml"
                    
                    [genesis]
                    ## allow sega cd titles in genesis folder
                    addExtensions="*.iso *.cue *.chd"
                    
                    [pcengine]
                    ## use 'tg16' folders for pce titles
                    inputFolder="/home/pi/RetroPie/roms/tg16"
                    gameListFolder="/home/pi/.emulationstation/gamelists/tg16"
                    mediaFolder="/home/pi/.emulationstation/downloaded_media/tg16"
                    cacheFolder="/home/pi/.skyscraper/cache/tg16"
                    importFolder="/home/pi/.skyscraper/import/tg16"
                    
                    [screenscraper]
                    ## userCreds="user:pass"
                    userCreds="REDACTED:REDACTED"
                    
                    [esgamelist]
                    ## import customized ES textual data
                    cacheRefresh="true"
                    unattend="true"
                    videos="false"
                    cacheCovers="false"
                    cacheScreenshots="false"
                    cacheWheels="false"
                    cacheMarquees="false"
                    
                    [import]
                    cacheRefresh="true"
                    

                    Is it because my rom is (USA) and the "Screenshot" isn't? But none of the "Screenshot Title"s are, either, and the one it is using appears to either be the "(Europe)" or "(Monde)" ("World") version.

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

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

                      New question: what should I expect to see with --flags interactive?

                      The interactive flag is meant for situations where a scraping module returns more results than one. screenscraper never does because it is checksum based. Only the name search based ones do, such as thegamesdb. The flag is not meant to let you choose between resources from a scraping module. That is not possible currently and probably won't be, sorry.

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        sleve_mcdichael @muldjord
                        last edited by

                        @muldjord ah, I misunderstood the point of it, then. 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.