Versatile C++ game scraper: Skyscraper
-
@quicksilver Hm, I'll see if I can reproduce this. Can you give me the details - name of the file, folder (I guess it's
ports
?) ? -
@mitu correct the game folders+the .sh scripts to run the games are in my /roms/ports/ directory.
If I attempt to scrape the .sh scripts on the command line using "pc" as the platform I will get successful scrapes for doom, doom 2, quake, hexen etc. But it won't work if the platform is set as "ports". Screenscraper shows a message that it's not a supported platform and the gamesdb can't find anything (unless I change the platform to PC like I said). Oddly enough, if I trick it by scraping my ports using PC as the platform the Gameslist will not generate anything.
Edit: and speaking of PC, it looks like skyscraper doesn't recognize .conf files as a valid extension in my PC folder.
-
@quicksilver said in Versatile C++ game scraper: Skyscraper:
if I trick it by scraping my ports using PC as the platform the Gameslist will not generate anything.
How exactly are you 'tricking it' ? Are you copying the
.sh
files to thepc
folder and scraping it from there ? -
@mitu no, the .sh files are for my ports games (doom, quake etc.) and they are in my ports folder. What I'm doing is changing the platform on the command line to "pc"
So for example this is the default and it returns no matching games:
Skyscraper -p ports -s thegamesdb ./RetroPie/roms/ports/doom.sh
But if I change to:
Skyscraper -p pc -s thegamesdb ./RetroPie/roms/ports/doom.sh
It will find the game no problem. I believe this even works for screenscraper as well if the name is a 100% match.
-
@quicksilver Ah, ok, then it's normal that generating the list won't work, since the cache entry is associated with the
pc
platform. -
-
@quicksilver said in Versatile C++ game scraper: Skyscraper:
@mitu I figured it had something to do with that. But according to @muldjord, ports should already be looking for PC matches but unless I tell it to look for them by setting pc as the platform, it can't find them.
Quick note: You should never give it a file name on command line that is not related to the current input folder (which in this case is
roms/pc
). If you do, it won't be included when you generate the game list afterwards since it is no longer in the input directory. You are basically caching data for a file that effectively doesn't exist when you generate the platform later on (since it will look for files inroms/ports
at that point). :)Ports currently looks for both Windows, Dos and PC as platforms when using the file name based modules (all modules except
screenscraper
). So that should work. If you use the fix I gave you earlier it might also work withscreenscraper
. -
@muldjord said in Versatile C++ game scraper: Skyscraper:
Ports currently looks for both Windows, Dos and PC as platforms when using the file name based modules (all modules except screenscraper). So that should work. If you use the fix I gave you earlier it might also work with screenscraper.
Except that it isn't working properly. The gamesdb will give a "file not found" for every one of my ports games. If I manually switch the platform to pc it will find the games no problem (I am aware this will not work properly for generating the Gameslist). This says to me that the platform "ports" is not properly searching "pc" like it's supposed to.
Also do you have a PayPal account? Or only patreon? I would like to tip you for all your hard work on this but would like to give a one-time payment. Wasn't sure if cancelling a patreon after a one month paemt was considered bad form.
-
I really wish I could use this on my Windows machine. :(
Maybe I'll set up a Linux partition just to run this.
-
@quicksilver said in Versatile C++ game scraper: Skyscraper:
Except that it isn't working properly. The gamesdb will give a "file not found" for every one of my ports games. If I manually switch the platform to pc it will find the games no problem (I am aware this will not work properly for generating the Gameslist). This says to me that the platform "ports" is not properly searching "pc" like it's supposed to.
Also do you have a PayPal account? Or only patreon? I would like to tip you for all your hard work on this but would like to give a one-time payment. Wasn't sure if cancelling a patreon after a one month paemt was considered bad form.
pc
andports
have the exact same aliases, so this is caused by something else. The only difference between the platforms is thatpc
also looks for *.com *.bat and *.exe in addition to *.sh where ports only look for *.sh. So that might be the issue instead. The aliases are the same. But once again, you need to do the code change I mentioned earlier if you want it to work forscreenscraper
as well (I know you are usingthegamesdb
). Just to be clear. :)You can donate directly to paypal by using muldjordlars@gmail.com, but I'd actually suggest you donate to the RetroPie project instead. :) That's up to you of course.
-
@LiveFastCyYoung said in Versatile C++ game scraper: Skyscraper:
I really wish I could use this on my Windows machine. :(
Maybe I'll set up a Linux partition just to run this.
I'm not sure how much work it would take to get it on Windows (probably not that much). But if I do port it to Windows, it will be command line only. :)
-
@muldjord I'd be fine with command line only. :D
-
@muldjord thanks for the reply. All of my ports games are launched via .sh files so it shouldn't be a problem. But obviously it's not working so I'm not entirely sure what to do then.
I do donate already to RetroPie from time to time but I do also like to reward others as well!
Edit: looks like it's just thegamesdb that has an issue with ports. I scraped using openretro and mobygames and it picked up a lot of the games without an issue.
-
-
@LiveFastCyYoung said in Versatile C++ game scraper: Skyscraper:
@muldjord I'd be fine with command line only. :D
I've compiled a Windows version that seemingly works. Please follow the instructions in the INSTALL_README.txt after unzipping it. This is important, otherwise it won't run!
Also note that this version is 100% unsupported, so you are on your own in using it. :) The only thing I am interested in is to know whether it runs with the dll's I've included. If not I need to include them. So please let me know if it complains about missing dll's when running it. Other than that, it should work just fine. I did a really quick test with it and it scraped nes roms just fine and also generated a gamelist without problems.
Here ya go: http://www.muldjord.com/downloads/Skyscraper_3.1.2_unsupported_win_version.zip
EDIT: Another quick note. Windows probably has the worst command prompt of any OS and so it does not support the color codings I use. So the output will look pretty weird.
EDIT2: I just tried running it from the Powershell. This won't work. You apparently need to use the older Windows command prompt that you can run with "cmd".
EDIT3: Updated it to 3.1.1
EDIT4: Updated it to 3.1.2
-
-
Skyscraper 3.1.1 released: https://github.com/muldjord/skyscraper
- Worked around a bug in the 'screenscraper' xml output improving stability
- Added limiter to media getter functions for 'screenscraper' which should improve stability
I've been working to improve the stability of the
screenscraper
module. The fixes included in this release seem to have made quite a difference, so please update. -
Quick question guys - if I am trying to update a set of roms, do I have to delete the game list, rescrape the roms, and generate the new game list, or just rescrape and generate?
-
@chubsta said in Versatile C++ game scraper: Skyscraper:
Quick question guys - if I am trying to update a set of roms, do I have to delete the game list, rescrape the roms, and generate the new game list, or just rescrape and generate?
Depends on what you mean by "update a set of roms". If you mean you want to update the data from the sources, then you need to regather the data first using the "--refresh" option and then regenerate the game list afterwards. But if you mean "update a set or roms" after you've just changed some artwork configuration or other local Skyscraper setting, then you just need to regenerate the game list. No need to regather the data as it is already cached and ready for use.
EDIT: This page explains it: https://github.com/muldjord/skyscraper/blob/master/docs/USECASE.md
-
@muldjord thanks for the fast reply - I have removed a load of roms from one of my Mame sets, and added some more. I don't have any cached info as I clear the cache once I have scraped, my concern was that when writing a new game list it would add the new info to the old and I would end up with both duplicate games and also games in the list that are no longer in the folder.
I guess in this case it is simple enough to just delete the old one and rescrape to give myself a fresh game list.
Great scraper BTW, works so much better than anything else I have tried!
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.