Kodi Community Forum
[RELEASE] Rom Collection Browser - Browse and launch emulator game ROMs - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Game Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=291)
+---- Thread: [RELEASE] Rom Collection Browser - Browse and launch emulator game ROMs (/showthread.php?tid=70115)



- malte - 2010-10-13

New scraping test version is available.

Features:
- new scraper: GiantBomb.com
- better matching of search results
- mix parsing of big local desc files with online scraping

new version: http://romcollectionbrowser.googlecode.com/files/script.games.rom.collection.browser-0.7.3.zip
new scraperpack: http://romcollectionbrowser.googlecode.com/files/RCB%20scraperpack%20V2.zip
new example config.xml: http://pastebin.org/157338

In config.xml you have to:
Quote:- replace PathToRoms with the path to your roms
- replace every PathToScraperPack with the path where you unzipped the scrapers
- replace every PathToArtwork with the path where you want to store your artwork (make sure you have subfolders boxfront, boxback, cartridge and screenshot)
- Add your emu command to "emulatorCmd"

Advanced configuration:
- In the giantbomb and moby scraper you see these attributes: replaceKeyString=" III, II" replaceValueString=" 3, 2". You can use this configuration to remove or replace parts of your rom file names before searching. The above example will replace all " III" with " 3" and all " II" with " 2" before searching.
- If you want to add scraping for more RomCollections just copy the complete RomCollection entry and adjust the pathes to your data. One more thing that you have to do: Check the console id that mobygames uses in its search url (e.g. 21 = Sega32, 15 = SNES). You can check for other ids if you start a search by console on mobygames.com and see what the url looks like.

If you don't find any information about your games just check how the game is called on the scraped site and maybe replace some values during the search or rename your rom files. Or add info about your games to the scraped site if the info is missing there.

I am quite satisfied with the scraping functionality and will work on breaking up the configuration from now on. So next version will definitely break compatibility with this one.


- hikaricore - 2010-10-13

malte Wrote:@hikaricore:

Sorry, I think there is a mistake in the above config. FileType must be like this (parent romcollection instead of game):

Code:
<FileType>
    <name>fallback</name>
    <type>image</type>
    <parent>romcollection</parent>
</FileType>

I never got around to actually testing it yet but I'll try with this change tomorrow. ^_^


- harryzimm - 2010-10-13

Hi,

Will the new scraping version work for nintendo 64 games? I tried the previous version for snes games and it scraped very well. The reson i ask is i tried with the last version and it downloaded snes covers for my n64 games.(This could have been a problem with my config)

cheers

Edit.. Never mind, it works ok.


- Flomaster - 2010-10-13

ZOMG..... it keeps getting better all the time

-=Jason=-


- binlist - 2010-10-16

Hi people,
I'm new to Rom Collection Browser..
I'm only using ZSnes
I have configured everything as i have read through this thread.
But i have a little problem, some of my roms won't load but takes me back to Xbmc, like Alladin.smc works but not Addams Family Values.smc,
It seems like it won't open ROMS that have space in the title..
Don't know how to fix this, maybe someone can help?
Here is my config.xml
http://www.pastebin.org/241852

Binlist


- hikaricore - 2010-10-16

That's what you get for not reading the wiki. :p
Use quotes around %ROM% like all the examples show. "%ROM%"


- binlist - 2010-10-16

hikaricore Wrote:That's what you get for not reading the wiki. :p
Use quotes around %ROM% like all the examples show. "%ROM%"

Thank you very much..
The funny part is that i removed them from the beginning.. Rolleyes


- dunz0r - 2010-10-17

I've been configuring/playing/fiddling with RCB for the past two days now. I can say one thing; it rocks!

The only downside I can see is that the scraping is not multi-threaded, scraping a game can take quite some time and if you have alot of games, it'll take forever.

Is there no possibility for RCB to do several "scrapings" at once?


- binlist - 2010-10-17

Can someone tell me how i can configure that every time i add a new game/rom that it doesn't scrape every rom/game i have in a folder, like skipping the ones i have?

My Config.xml
http://www.pastebin.org/265051


- malte - 2010-10-18

@dunz0r: I am not sure if multi threaded scraping will work. It is not easy to implement and will increase the load on the scraped sites. But I will keep this in mind for later relases.

@binlist: This is not implemented yet. Only thing you could do is adding several romPaths per RomCollection to import only a part of your collection:
Code:
<romPath>e:\games\psx\games\A*.bin</romPath>
<romPath>e:\games\psx\games\B*.bin</romPath>

In its current state it won't download artwork twice but it will always check if there are new infos available. I think I will add an option to avoid this.


- binlist - 2010-10-18

malte Wrote:@binlist: This is not implemented yet. Only thing you could do is adding several romPaths per RomCollection to import only a part of your collection:
Code:
<romPath>e:\games\psx\games\A*.bin</romPath>
<romPath>e:\games\psx\games\B*.bin</romPath>

In its current state it won't download artwork twice but it will always check if there are new infos available. I think I will add an option to avoid this.

It would be perfect if you could add that in the near future.
I have like 800 Snes Roms, and if i add 1 extra Rom, it takes foreeeveerr..
And regarding A*.bin it still goes through all the games?
Maybe i didn't understand that correctly, i thought it would just check the games that starts with A / B / C etc..?

And THANKS for this perfect release ! Big Grin
Correct me if i'm wrong..


- malte - 2010-10-18

Uh, sorry. My fault.

In the current version configuration is stored in database (thats why you have to "Import Settings" every time). The romPath ist stored as an extra entry and won't be removed from db when you change it in config.xml. So now you have 3 romPaths in your DB: *.bin, A*.bin, B*.bin. Sorry. All you could do right now ist to go into the db and delete the entry manually.

I am reworking exactly this part atm. Configuration will not be stored in db anymore in the next version. But this is a "huge" change so it may take some time until this is completely done. I hope that I will manage to add an update procedure, this should clean up your database when you install the next version.


- philipacentaur - 2010-10-21

Pastebin seems to have been down for a while now. Could someone please re-host the example config.xml for the scraping version somewhere else?


- malte - 2010-10-21

I hope that I grabbed the correct one:
Code:
<config>
    <RCBSettings>                
        <logLevel>INFO</logLevel>
    </RCBSettings>
    <Consoles>                
        <Console>
            <name>SNES</name>            
        </Console>        
        <Console>
            <name>Sega 32</name>            
        </Console>
    </Consoles>
    <FileTypes>        
        <FileType>
            <name>boxfront</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>boxback</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>screenshot</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>cartridge</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>        
    </FileTypes>
    <RomCollections>        
        <RomCollection>
            <name>Sega 32</name>
            <consoleName>Sega 32</consoleName>            
            <emulatorCmd>%ROM%</emulatorCmd>
            <romPath>PathToRoms\*.zip</romPath>                        
            <mediaPath type="boxfront">PathToArtwork\Sega32\boxfront\%GAME%.jpg</mediaPath>
            <mediaPath type="boxback">PathToArtwork\Sega32\boxback\%GAME%.jpg</mediaPath>
            <mediaPath type="screenshot">PathToArtwork\Sega32\screenshot\%GAME%.jpg</mediaPath>
            <mediaPath type="cartridge">PathToArtwork\Sega32\cartridge\%GAME%.jpg</mediaPath>            
            <scraper parseInstruction="PathToScraperPack\thevideogamedb.com\thevideogamedb.xml" source="http://thevideogamedb.com/API/GameDetail.aspx?apikey=%VGDBAPIKey%&amp;crc=%CRC%"/>
            <scraper parseInstruction="PathToScraperPack\giantbomb.com\01 - giantbomb - search.xml" source="http://api.giantbomb.com/search/?api_key=%GIANTBOMBAPIKey%&amp;query=%GAME%&amp;resources=game&amp;format=xml" returnUrl="true" replaceKeyString=" III, II" replaceValueString=" 3, 2"/>
            <scraper parseInstruction="PathToScraperPack\giantbomb.com\02 - giantbomb - detail.xml" source="1"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\01 - mobygames - gamesearch.xml" source="http://www.mobygames.com/search/quick?game=%GAME%&amp;p=21" returnUrl="True" replaceKeyString=" III, II" replaceValueString=" 3, 2"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\02 - mobygames - details.xml" source="2"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\03 - mobygames - coverlink.xml" source="2" returnUrl="True"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\04 - mobygames - coverart.xml" source="3"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\05 - mobygames - screenshotlink.xml" source="2" returnUrl="True"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\06 - mobygames - screenshotoriginallink.xml" source="4" returnUrl="True"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\07 - mobygames - screenshots.xml" source="5"/>
            <searchGameByCRC>True</searchGameByCRC>
            <descFilePerGame>True</descFilePerGame>
            <ignoreOnScan>False</ignoreOnScan>
            <fileTypeForGameList>boxfront</fileTypeForGameList>
            <fileTypeForGameList>screenshot</fileTypeForGameList>
            <fileTypeForGameListSelected>boxfront</fileTypeForGameListSelected>
            <fileTypeForGameListSelected>screenshot</fileTypeForGameListSelected>
            <fileTypeForMainViewBackground>screenshot</fileTypeForMainViewBackground>
            <fileTypeForMainViewBackground>boxfront</fileTypeForMainViewBackground>
            <fileTypeForMainViewGameInfoBig>boxfront</fileTypeForMainViewGameInfoBig>
            <fileTypeForMainViewGameInfoBig>screenshot</fileTypeForMainViewGameInfoBig>
            <fileTypeForGameInfoViewBackground>boxfront</fileTypeForGameInfoViewBackground>
            <fileTypeForGameInfoViewBackground>screenshot</fileTypeForGameInfoViewBackground>
            <fileTypeForGameInfoViewGamelist>boxfront</fileTypeForGameInfoViewGamelist>
            <fileTypeForGameInfoView2>boxfront</fileTypeForGameInfoView2>
            <fileTypeForGameInfoView3>boxback</fileTypeForGameInfoView3>
            <fileTypeForGameInfoView4>cartridge</fileTypeForGameInfoView4>        
        </RomCollection>
        <RomCollection>
            <name>SNES</name>
            <consoleName>SNES</consoleName>
            <emulatorCmd>%ROM%</emulatorCmd>
            <romPath>PathToRoms\*.zip</romPath>                        
            <mediaPath type="boxfront">PathToArtwork\SNES\boxfront\%GAME%.jpg</mediaPath>
            <mediaPath type="boxback">PathToArtwork\SNES\boxback\%GAME%.jpg</mediaPath>
            <mediaPath type="screenshot">PathToArtwork\SNES\screenshot\%GAME%.jpg</mediaPath>
            <mediaPath type="cartridge">PathToArtwork\SNES\cartridge\%GAME%.jpg</mediaPath>
            <scraper parseInstruction="PathToScraperPack\thevideogamedb.com\thevideogamedb.xml" source="http://thevideogamedb.com/API/GameDetail.aspx?apikey=%VGDBAPIKey%&amp;crc=%CRC%"/>
            <scraper parseInstruction="PathToScraperPack\giantbomb.com\01 - giantbomb - search.xml" source="http://api.giantbomb.com/search/?api_key=%GIANTBOMBAPIKey%&amp;query=%GAME%&amp;resources=game&amp;format=xml" returnUrl="true" replaceKeyString=" III, II" replaceValueString=" 3, 2"/>
            <scraper parseInstruction="PathToScraperPack\giantbomb.com\02 - giantbomb - detail.xml" source="1"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\01 - mobygames - gamesearch.xml" source="http://www.mobygames.com/search/quick?game=%GAME%&amp;p=15" returnUrl="True" replaceKeyString=" III, II" replaceValueString=" 3, 2"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\02 - mobygames - details.xml" source="2"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\03 - mobygames - coverlink.xml" source="2" returnUrl="True"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\04 - mobygames - coverart.xml" source="3"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\05 - mobygames - screenshotlink.xml" source="2" returnUrl="True"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\06 - mobygames - screenshotoriginallink.xml" source="4" returnUrl="True"/>
            <scraper parseInstruction="PathToScraperPack\mobygames.com\07 - mobygames - screenshots.xml" source="5"/>
            <searchGameByCRC>False</searchGameByCRC>
            <descFilePerGame>True</descFilePerGame>
            <ignoreOnScan>False</ignoreOnScan>                    
            <fileTypeForGameList>boxfront</fileTypeForGameList>
            <fileTypeForGameList>screenshot</fileTypeForGameList>
            <fileTypeForGameListSelected>boxfront</fileTypeForGameListSelected>
            <fileTypeForGameListSelected>screenshot</fileTypeForGameListSelected>
            <fileTypeForMainViewBackground>screenshot</fileTypeForMainViewBackground>
            <fileTypeForMainViewBackground>boxfront</fileTypeForMainViewBackground>
            <fileTypeForMainViewGameInfoBig>boxfront</fileTypeForMainViewGameInfoBig>
            <fileTypeForMainViewGameInfoBig>screenshot</fileTypeForMainViewGameInfoBig>
            <fileTypeForGameInfoViewBackground>boxfront</fileTypeForGameInfoViewBackground>
            <fileTypeForGameInfoViewBackground>screenshot</fileTypeForGameInfoViewBackground>
            <fileTypeForGameInfoViewGamelist>boxfront</fileTypeForGameInfoViewGamelist>
            <fileTypeForGameInfoView2>boxfront</fileTypeForGameInfoView2>
            <fileTypeForGameInfoView3>boxback</fileTypeForGameInfoView3>
            <fileTypeForGameInfoView4>cartridge</fileTypeForGameInfoView4>
        </RomCollection>
    </RomCollections>
</config>



- philipacentaur - 2010-10-21

Thank you, that should get me started.