Versatile C++ game scraper: Skyscraper
-
@hi_im_daft If you want to change the look of the artwork exported by Skyscraper you can do that by editing "~/.skyscraper/artwork.xml". This is also well documented, so please check it out. Then, when you're done editing that file, rescrape with '-s localdb' and it will create new artwork from the recipe in artwork.xml. As AnalogHero notes, you can't have different screenshot artwork per ES theme, but if the theme uses the cover/boxart artwork specifically in one theme, and the screenshot in another, then those two can be exported from Skyscraper, and it will use one with one theme, and the other with the other. It's all up to how the ES theme is composed, and not something Skyscraper has control over.
So bottom line, if you have one ES theme only using cover, and another theme only usinge screenshot, then edit artwork.xml so it exports both to your liking. Then it will work as you expect.
With that said, please wait a few days. The new 2.3.0 release has A LOT of eye candy compared to the current release of Skyscraper. It can even render 3D boxart just by adding a <gamebox/> node to an artwork.xml <layer> node. And it will be well documented and easy to use.
-
I'll definitely be looking forward to the new release. Thanks for all the help guys. :)
-
Is it possible to add Bandai Wonderswan and Color platforms?
I can't see it in the platforms source code.
Thanks! -
@bleuge Sure, it'll be in 2.3.0 when it's done (which is really soon now!)
-
@muldjord This is awesome, cant wait. Did you had the time to look into the number of players issue? Its not that important really, just add it to your todo list :)
-
@analoghero I'm sorry, I forgot what that was... Can you refresh my memory?
Aaaaaaaaaaadn, release is imminent now. I've created a quick video showing off the new compositor features and I've completely updated the artwork documentation. Pretty much all I need to do now is go through the last couple of sanity checks and 2.3.0 will be released. Which means it'll be out within an hour probably. :)
-
@muldjord profanitywordhere man, you work pretty fast. Thanks for doing the best scraper around.
-
This post is deleted! -
@muldjord It was the thing that most Emulationstation themes can only handle integer numbers in the number of players field. Some scrapingsources return things like
1 - 2 simultaneous
which will display garbage in the theme. -
Skyscraper 2.3.0 released: https://github.com/muldjord/skyscraper
The ARTWORK release. Check artwork documentation here
- MAJOR: Completely rewrote the artwork compositing engine
- Now supports nested layers which anchors to the parent layer for easy placement
- Implemented 'balance' effect that adjusts the colors of the parent layer
- Implemented 'blur' effect that blurs the parent layer
- Implemented 'brightness' effect that adjusts the brightness of the parent layer
- Implemented 'contrast' effect that adjusts the contrast of the parent layer
- Implemented 'frame' effect that allows you to add a graphical frame to the parent layer
- Implemented 'gamebox' effect that turns the parent layer into a nice looking 3D game box
- Implemented 'mask' effect that allows you to mask out certain parts of the parent layer
- Implemented 'opacity' effect that adjusts the opacity of the parent layer
- Implemented 'rounded' effect that rounds the corners of the parent layer
- Implemented 'stroke' effect that outlines the parent layer
- Improved 'shadow' effect to adhere perfectly to softness as radius
- Added '-a' command line option for setting custom artwork xml config file
- Added 'artworkXml' config file options for setting custom artwork xml config file
- Implemented resource system that allows user to place files in '[homedir]/.skyscraper/resources' and use them in the '[homedir]/.skyscraper/artwork.xml' layers and effects
- Added 'From cache' boolean to output plus note about '--updatedb'
- 'simple mode' now also accepts "Y" as a yes answer instead of just "y"
- Now also looks for 'jp' region if no english region media is found for 'screenscraper' module
- Now always accepts 'screenscraper' results no matter if platform matches or not
- Now sets 'minMatch' to 0 by default for 'localdb' , 'arcadedb' and 'screenscraper' scraping modules. Can be overruled on command line and in config file
- Made localdb more thread safe, might've fixed rare issues of resources being mixed up internally
- Now works with filenames provided on command line even if they don't include full path
- Added resource sources to output
- Added 'wonderswan' and 'wonderswancolor' platforms
This is by far the biggest Skyscraper release to date. It's been a long ride but worth it! The biggest news is of course the new compositor!!! Just look at what you can do now!!!
A bunch of fixes and (quite cool) features also made it in. Check the notes for the details, it's too much to go through here. Please enjoy this release, and if you create some awesome artwork.xml files, please share them. The examples I've made myself are mostly to demonstrate certain effects.
Happy scraping guys!
- MAJOR: Completely rewrote the artwork compositing engine
-
@muldjord Nice video, the new functions are very good explained. Would be nice if i could preview my changes to artwork.xml like you do.
-
Also, guys if you would be so kind to share the news wherever you see fit (forums, social media), I would appreciate it a lot!
-
"Wait a few days", he says, then releases it about 12 hours later. /:-p What a liar.
EDIT: Also, what an above poster was saying about the "number of players" data. I get the same issue sometimes. Some databases just format it as a "1 - 2" or "1 - 4" players instead of just "2" or "4" players. Been trying to scrape around that, but it is odd/annoying. I'd imagine (like they do) that there's a way to trim the "1 -" from it. Like, if the field is more than 1 character, trim to the last character. Would be troublesome for any games that have more than 9 players though, but I don't know of any games people would be running on a retropie that would fit that criteria.
-
@muldjord Thank you SO MUCH for huge effort and update to Skyscraper and I'll definitely make an follow-up to my post on Reddit. But can you tell us how to view artwork.xml previews like you do on your videos please?
-
@sammyboy It's a bit tricky to do. You have to compile it on a Linux machine that ISN'T the RetroPie. I would suggest Ubuntu since the installation procedure on there is exactly the same as on the pi. Then you need to create a rom folder with just 1 single rom inside. Then you need to scrape that rom with sources until you have all of the artwork types for it (start by trying screenscraper, it probably has all of them). Then you open a terminal and type in "watch -n2 Skyscraper -p [platform] -i /[full]/[rom]/[folder] -s localdb --unattend". Be sure to change [platform] and the rom folder. That command will run Skyscraper every 2 seconds, using the localdb without asking any questions, which will result in the exported media to be updated every 2 seconds from the '[homedir]/.skyscraper/artwork.xml' file. Now open the relevant output image in an image viewer that automatically reloads if the image changes. The default one in Ubuntu works.
Now all you need to do is open up an editor and edit '[homedir]/.skyscraper/artwork.xml' and the image will update with your changes every 2 seconds.
So yeah, not so simple unfortunately. It can be done on the pie itself too if you ssh connect to it from another machine through 2 different terminals. On one you run the above command. On the other you edit the artwork.xml. And then you open a file browser and browse to the export folder where the images reside. I DO NOT recommend doing this on the pi, as the command will save data to the SD card every 2 seconds while you're working on it. SD cards do not like that! You've been warned. :)
Concerning the "players" problem, I will fix this soon. I've made note of it and it should be easily doable to just convert any known format to simply be 1 digit. :)
-
@muldjord Have to report a bug: When scraping with screenscraper module all games get compared as
.hack link
and get all the same results! -
@analoghero I don't understand, please elaborate. What does ".hack link" mean?
-
@muldjord Dont know what this is. I wanted to update my dbs as there are no wheels scraped. The command im using was :
Skyscraper -p megadrive -s screenscraper --updatedb
-
@analoghero Could you post the output, please? I still don't understand what you mean. Just tested it here with screenscraper on megadrive platform and it works well.
-
pi@retropie:~ $ Skyscraper -p megadrive -s screenscraper --updatedb ------------------------------------------ Running Skyscraper v2.3.0 by Lars Muldjord ------------------------------------------ Platform : 'megadrive' Scraper module : 'screenscraper' Input folder : '/home/pi/RetroPie/roms/megadrive' Game list folder : '/home/pi/RetroPie/roms/megadrive' Covers folder : '/home/pi/RetroPie/roms/megadrive/media/covers' Screenshots folder : '/home/pi/RetroPie/roms/megadrive/media/screenshots' Wheels folder : '/home/pi/RetroPie/roms/megadrive/media/wheels' Marquees folder : '/home/pi/RetroPie/roms/megadrive/media/marquees' Local db folder : 'dbs/megadrive' Reading and parsing local database, please wait... Successfully parsed 9285 resources! Looking for optional 'priorities.xml' file in local db folder... Found! Priorities loaded successfully! 'gamelist.xml' already exists, do you want to overwrite it (y/N)? y Checking if 'gamelist.xml' is writable?... It is! :) Do you wish to skip existing entries (y/N)? n Starting scraping run on 628 files using 4 threads. Sit back, relax and let me do the work! :) #1/628 Pass 1 ---- Game 'Empire of Steel (Europe)' found! :) ---- From cache: NO Search match: 0 % Game title: '.hack-Link' () Compare title: 'Empire of Steel' Platform: 'PSP' () Release Date: '' Developer: 'Bandai Namco' () Publisher: 'CyberConnect2' () Players: '' () Tags: 'Role playing games' () Rating (0-1): '' () Cover: YES () Screenshot: YES () Wheel: NO () Marquee: NO () Description: () The first game in the .hack series for PSP (and the planned final game for the franchise), .hack//LINK logs player into a new version of its virtual landscape called The World R:X (the "R" stands for "Revision"). Set 10 years after the last .Hack, players take control of Tokio Kuryu, a second year junior-high student. Presented through manga-style visuals, the game's story promises to clear up the mysteries from past entries. Over 100 characters from past .hack games, anime, manga, and books will make an appearance. Gameplay promises to retain the basics of past titles, with players facing off in battle against enemies as they explore dungeons. The difference here is that you move around in a party of two, with the CPU-controlling the other character. The game will include 33 such CPU-controlled characters. For the PSP game, the battle system has been changed to a more action-heavy combat system. Elapsed time: 00:00:04 Estimated time: 00:48:06 #2/628 Pass 1 ---- Game 'Spirou (Europe) (En,Fr,De,Es)' found! :) ---- From cache: NO Search match: 40 % Game title: '.hack-Link' () Compare title: 'Spirou' Platform: 'PSP' () Release Date: '' Developer: 'Bandai Namco' () Publisher: 'CyberConnect2' () Players: '' () Tags: 'Role playing games' () Rating (0-1): '' () Cover: YES () Screenshot: YES () Wheel: NO () Marquee: NO () Description: () The first game in the .hack series for PSP (and the planned final game for the franchise), .hack//LINK logs player into a new version of its virtual landscape called The World R:X (the "R" stands for "Revision"). Set 10 years after the last .Hack, players take control of Tokio Kuryu, a second year junior-high student. Presented through manga-style visuals, the game's story promises to clear up the mysteries from past entries. Over 100 characters from past .hack games, anime, manga, and books will make an appearance. Gameplay promises to retain the basics of past titles, with players facing off in battle against enemies as they explore dungeons. The difference here is that you move around in a party of two, with the CPU-controlling the other character. The game will include 33 such CPU-controlled characters. For the PSP game, the battle system has been changed to a more action-heavy combat system. Elapsed time: 00:00:05 Estimated time: 00:30:12 ^C
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.