Versatile C++ game scraper: Skyscraper
-
@steptoe It's way too much to cover I'm afraid. On Linux and macOS it's quite simple due to their relatively standardized nature. Not so much for Windows. I will try to update it semi-regularly though. 3.3.8 is on there now.
-
i have a question as to the location of all the stored files. would it be possible to be able to move it to where the roms ,bios, and themes folders are? when i connect to pi with windows pc this folder is what i can access. so when i make a backup it would be right there with the main files and would make transfer easier.
-
@jrbbib The
cache
should be in the\\retropie\configs\all\skyscraper
folder, which is accessible via file shares if you want to make a backup from your PC. -
@mitu ok thank you! i kept getting lost with the tree list. when i use file browser i put in IP of pie, there are only a few dir i can see(bios, configs, roms, and splashscreens). i missed the config when i saw where they said files go in this discussion. thank you again
-
-
@muldjord Thanks for the extra efforts for us windows users
-
Is it possible to adjust settings in the artwork.xml for certain systems only? For example if I wanted only screenshots displayed, but just for arcade?
I searched the documentation but either couldn't find anything or missed it.
-
@quicksilver Yes, just create individual artwork.xml files for the platforms and enter them into the config.ini's platform sections. For instance like so:
[amiga] artworkXml="artwork-amiga.xml"
You can also do it similarly for different frontends like so:
[pegasus] artworkXml="artwork-pegasus.xml"
It's documented here
-
@muldjord thank you so much, knew it had to be there somewhere. Skyscraper can do it all!
-
@muldjord Sorry to bug you again, but what I am trying to accomplish is to have the marquees show up in a specific area in the theme I am using but not composited with the rest of the artwork. I can get the marquees to show up in the theme but it also shows up in the composite image too. How can get the marquee to show up in the correct place in the theme but not also display in the artwork composite?
EDIT: I figured it out. I added
<output type="marquee" resource="marquee"/>
to the .xmlsorry for pinging you!
-
Skyscraper 3.4.0 released: https://github.com/muldjord/skyscraper
- Disabled config.ini migration as most people should be migrated now
- Added 'launcher' option to 'simple mode' when using 'pegasus' frontend
- Added 'excludeFiles' config option that allows excluding certain files when scraping (Thank you to 'timothybrown' for suggesting this)
- Added 'includeFiles' config option that allows only including certain files when scraping
- Added '--excludefiles' cli option that allows excluding certain files when scraping
- Added '--includefiles' cli option that allows only including certain files when scraping
- If 'noresize' is set all images are now saved to cache in their original format and size instead of always converting them to PNG's (Thank you to 'krkroft' for requesting this)
- Added 'jpgQuality' config option that sets the default JPG quality (0-100) when '--noresize' is NOT set. Screenshots and images with transparency are still saved as PNG's.
- Upped 'screenscraper' request limiter to 1.2 seconds per request to avoid 'maximum threads per minute reached' error message
Quite a few new things made it into this release. The most prominent one is that Skyscraper now handles the
--noresize
option a bit differently. The option makes Skyscraper save all media "as is" from the sources, without resizing them. But in older versions I always converted all artwork resources to PNG when saving them, which caused the 4000x3000 cover artwork for some games to take up huge amounts of space. So when user 'krcroft' requested that the artwork would use the format that the sources served to me instead, I thought about that for half a year... hrm... Anyways, I completely rewrote the artwork acquiring code and internal structures so it will now, in fact, save the artwork exactly as is when using the--noresize
orcacheResize="false"
options. While doing this I also optimized how Skyscraper works by default, so the sizes of any artwork will now be a bit bigger and take up less space, pretty much without any loss of quality. So it's a win-win on all fronts! You can even save more space by setting and lowering thejpgQuality="95"
config.ini option.Another quite interesting feature is the
--excludefiles
/excludeFiles=
option and companion--includefiles
/includeFiles=
option. These will allow you to mask out any files within the scraping scope. So if you have a bunch of files with[BIOS]
in their name, you can now mask these out but enteringexcludeFiles="*[BIOS]*"
in config.ini or similar for the CLI option. This can be set on several levels, check the documentation for details.Lastly, I rarely scrape a huge number of files these days as I basically have all of my data in my cache now. So it was only today, when testing this release, I stumbled upon an error when scraping with the
screenscraper
module. Turns out my 60 request per minut limiter was too close to the edge and sometimes ScreenScraper would actually give back a "too many requests" error. So I've upped the limiter a bit to 1.2 seconds per request per thread. This fixed the issue. So if you've been having json errors from screenscraper, please try it again.As I have rewritten quite a lot of code for this release I've also tested it quite thoroughly. I have not found any errors. But software has bugs, so please let me know if this version gives you any problems.
-
Thank you so much for your ongoing effort! 👍
-
Is anyone else having trouble scraping through the
screenscraper
module right now? I just keep getting amaximum threads allowed already used : 5/5
and I keep getting libpng errors... Something is going on. Please let me know if you are also seeing these issues. -
@muldjord I scraped some PSP ROMs about 6 hours ago and didn't have any issues. So if there is a problem it just started recently.
-
Thanks, yeah, I just tried it again and now it seems to be working... Oh well. :)
EDIT: Asked on their Discord and turned out it was a bug in the API that they've now fixed.
-
Skyscraper 3.4.1 released: https://github.com/muldjord/skyscraper
- Further optimized artwork space requirements. Now checks if original takes up less space than resized artwork, then forces use of original for those cases
- The 'thegamesdb' module now also supports wheel and marquee for the games that have them (Thank you to 'tv21' for pointing this out)
- Updated developer and publisher json list for 'thegamesdb'
thegamesdb
now supports retrievingwheel
andmarquee
artwork resource types. And I optimized the artwork resource export pipeline a bit further. If you scraped with 3.4.0 there's no need to redo it, it's only a small difference. -
Any chance you can updated the Windows version to 3.4.1? Unless you have an update in the pipeline.
-
@LiveFastCyYoung Sure, I've updated it to the latest 3.4.2 now. Get it here: http://www.muldjord.com/downloads/Skyscraper_3.4.2_unsupported_win_version.zip
-
@muldjord Much appreciated!
-
Skyscraper 3.4.3 released: https://github.com/muldjord/skyscraper
- Implemented workaround to incorrectly formatted JSON returned from 'screenscraper' when checking user credentials
- All arcade platforms now use 'flyer' from 'screenscraper' for cover artwork instead of 'box-2D'
There have been issues logging in to
screenscraper
lately. This stems from a bug in their code which formats the returned JSON incorrectly after checking the credentials. This leads to a parse error in the Skyscraper JSON parser which then lead to a failed login. I've implemented a workaround that fixes the JSON before parsing it. I have reported the bug to them, I hope they fix it soon so I can remove this workaround again.User @aidy80-s suggested I use the
flyer
artwork fromscreenscraper
for the arcade platforms. This was a brilliant idea, so this has now been implemented as well.
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.