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)



- Rocky5 - 2010-12-24

lestat1977uk Wrote:First of all Fantasic Addon, great work!

Just one issue, how do you correct games that have been scrapped incorrectly?

yeah same you cant seem to rescrape after you have scanned them in which is a pain as it takes hours to scan in stuff, also why do I have duplicates of some roms? there is only one version but they shows twice in the list.

Also you may want to redo the interface its a bit cumbersome, pain in the ass to pick another console, maybe use the context menus to switch rom sets?

I may even have a look at the skin side of things see how its put together.


- malte - 2010-12-24

lestat1977uk Wrote:Just one issue, how do you correct games that have been scrapped incorrectly?
Rocky5 Wrote:yeah same you cant seem to rescrape after you have scanned them in which is a pain as it takes hours to scan in stuff
Atm this is not supported via UI, but you can do it with editing the config file. And once you have downloaded everything it should be possible to rebuild your database without scraping everything again.

During the first scrape RCB creates local nfo files next to your roms for every game (if you not disabled this in settings and RCB has write access to your rom folders). These files can be used for fast rebuilding the database and editing game properties. All images should still be available anyway.

1. Enable option "Always rescan imported games" in Addon settings
2. Enable local nfo scraper and disable online scrapers in config.xml:
Code:
<RomCollection id="1" name="SNES">
    ...
    <scraper name="local nfo" />
    
    <!-- comment out the online scrapers or just delete the following lines -->
    <!--
    <scraper name="thegamesdb.net" replaceKeyString="" replaceValueString="" />
    <scraper name="giantbomb.com" replaceKeyString="" replaceValueString="" />
    <scraper name="mobygames.com" platform="15" replaceKeyString="" replaceValueString="" />
    -->
    ...
</RomCollection>

With this settings RCB will run through the complete collection again but only uses the local nfo files without scraping online. If you want to make changes to your game properties you can edit the local nfo files before rescanning the library.

You can also limit the rescan process to certain games if you don't want to go through your whole collection again:
Code:
<RomCollection id="1" name="SNES">
    ...
    <romPath>F:\Roms\SNES\Secret Of Mana I.zip</romPath>
    <romPath>F:\Roms\SNES\SimCity.zip</romPath>
    <romPath>F:\Roms\SNES\Super Mario Kart.zip</romPath>
    ...
</RomCollection>

And you can exclude complete rom collections from scan process:
Code:
<RomCollection id="1" name="SNES">
    ...
    <ignoreOnScan>True</ignoreOnScan>
    ...
</RomCollection>

I know, all this is not very handy atm. But integrating this functionality into the UI is wip.


Rocky5 Wrote:also why do I have duplicates of some roms? there is only one version but they shows twice in the list.
Never happened to me. Can you give me examples (name of rom file and result in the list)? Maybe the same game for different platforms?

Rocky5 Wrote:Also you may want to redo the interface its a bit cumbersome, pain in the ass to pick another console, maybe use the context menus to switch rom sets?
We want to rework parts of the navigation and panels, also want to add a context menu. Just discussing the new structure outside the forum, so if you have any ideas, this is the timeSmile. But the filters is one of the things that I did not thought to change. The filters are combined (you can filter for console AND genre etc.) so I would like to keep them visible all together. Putting them in a context menu or in the left panel (like in Confluence Video views) would not work in my oppinion.

What I don't like about it is the way you get from the game list to the filter panel. Sometimes you have to navigate left or right, sometimes up or down. But this is a problem that occurs all over XBMC in my eyes. Of course it is depending on the direction of navigating through the current list. In Info2 View you scroll up and down, so the only way to get somewhere else is left and right. In Info2 or Thumbs View it is just the other way.

Rocky5 Wrote:I may even have a look at the skin side of things see how its put together.
This would be great. When I see what mcborzu has done with his skins I want to throw mine awaySmile. If you have any questions about it just let me know. (There also is a quick overview in the Wiki if you are interested)


- Rocky5 - 2010-12-24

OK making my own skin for this 1 view but it will be sleek and sexy also only uses 2 4x4 image Smile.

will add toggle for certain functions ie. fanart stuff like that.

for my skin to work I need this added to the GUI.py please, this would be useful to any ways.

Code:
                                if(action.getId() in ACTION_MOVEMENT_LEFT or action.getId() in ACTION_MOVEMENT_RIGHT):    
                    if(self.selectedControlId in FILTER_CONTROLS):                                
                        
                        label = str(control.getSelectedItem().getLabel())
                        label2 = str(control.getSelectedItem().getLabel2())
                            
                        filterChanged = False
                        
                        if (self.selectedControlId == CONTROL_CONSOLES):
                            if(self.selectedConsoleIndex != control.getSelectedPosition()):
                                self.selectedConsoleId = int(label2)
                                self.selectedConsoleIndex = control.getSelectedPosition()
                                filterChanged = True
                                
                        elif (self.selectedControlId == CONTROL_GENRE):
                            if(self.selectedGenreIndex != control.getSelectedPosition()):
                                self.selectedGenreId = int(label2)
                                self.selectedGenreIndex = control.getSelectedPosition()
                                filterChanged = True
                        elif (self.selectedControlId == CONTROL_YEAR):
                            if(self.selectedYearIndex != control.getSelectedPosition()):
                                self.selectedYearId = int(label2)
                                self.selectedYearIndex = control.getSelectedPosition()
                                filterChanged = True
                        elif (self.selectedControlId == CONTROL_PUBLISHER):
                            if(self.selectedPublisherIndex != control.getSelectedPosition()):
                                self.selectedPublisherId = int(label2)
                                self.selectedPublisherIndex = control.getSelectedPosition()
                                filterChanged = True
                        elif (self.selectedControlId == CONTROL_CHARACTER):
                            if(self.selectedCharacterIndex != control.getSelectedPosition()):
                                self.selectedCharacter = label
                                self.selectedCharacterIndex = control.getSelectedPosition()
                                filterChanged = True
                        if(filterChanged):                    
                            self.showGames()

preview of my skin. reworked the function menu.
Image Image


- malte - 2010-12-25

I think we can achieve this with just removing the direction check on top. The code in trunk will look like this in the next version (the commented line will be removed):

Code:
#if(action.getId() in ACTION_MOVEMENT_UP or action.getId() in ACTION_MOVEMENT_DOWN):
if(self.selectedControlId in FILTER_CONTROLS):
                    
    label = str(control.getSelectedItem().getLabel())
    label2 = str(control.getSelectedItem().getLabel2())
        
    filterChanged = False
    
    if (self.selectedControlId == CONTROL_CONSOLES):
        if(self.selectedConsoleIndex != control.getSelectedPosition()):
            self.selectedConsoleId = int(label2)
            self.selectedConsoleIndex = control.getSelectedPosition()
            filterChanged = True
    ...
That does not effect my current skins so I think this could work. Could you report if this works for your MOD also?

But do you think this is so much easier to handle than the menu on the top? I am planning to add a lot more options that should be available via context menu (Add Rom Collection, Edit Rom Collection, Delete Game, Edit Game, Mark As Played, Mark As Favorite, ...). I guess it will be a long list if this menu additionally contains the filters.

How do you launch the menu? Will it conflict with launching a context menu in future (pressing C)?


- Rocky5 - 2010-12-25

malte Wrote:I think we can achieve this with just removing the direction check on top. The code in trunk will look like this in the next version (the commented line will be removed):

Code:
#if(action.getId() in ACTION_MOVEMENT_UP or action.getId() in ACTION_MOVEMENT_DOWN):
if(self.selectedControlId in FILTER_CONTROLS):
                    
    label = str(control.getSelectedItem().getLabel())
    label2 = str(control.getSelectedItem().getLabel2())
        
    filterChanged = False
    
    if (self.selectedControlId == CONTROL_CONSOLES):
        if(self.selectedConsoleIndex != control.getSelectedPosition()):
            self.selectedConsoleId = int(label2)
            self.selectedConsoleIndex = control.getSelectedPosition()
            filterChanged = True
    ...
That does not effect my current skins so I think this could work. Could you report if this works for your MOD also?

But do you think this is so much easier to handle than the menu on the top? I am planning to add a lot more options that should be available via context menu (Add Rom Collection, Edit Rom Collection, Delete Game, Edit Game, Mark As Played, Mark As Favorite, ...). I guess it will be a long list if this menu additionally contains the filters.

How do you launch the menu? Will it conflict with launching a context menu in future (pressing C)?

You press left on the list and it slides up, then you use up or down to navigate the options then left or right to pick one enter to exit (unless your on adv options) I will try that code later on.

Merry Christmas every one.


- ShadeBlack - 2010-12-25

ok I've successfully installed rcb with snes roms using zsnes.

Image
using this image for my main menu item in confluence as a favourite, titled "Games".

Now I'm curious as to how to get genesis / sega stuff on there.
Gens and Fusion is not in the repository it seems. how can I get them?
and after that what sort of parameters would i have to add to the config.xml?
any advice?


- malte - 2010-12-25

ShadeBlack Wrote:Now I'm curious as to how to get genesis / sega stuff on there.
Gens and Fusion is not in the repository it seems. how can I get them?
and after that what sort of parameters would i have to add to the config.xml?
any advice?
Not sure what you mean with "Gens and Fusion are not in the repo"? I guess I got my Fusion here. But I am not 100% sure anymore.

A config for SNES, Sega 32 and Sega Genesis may look like this:
Code:
<config>
    <RomCollections>        
        <RomCollection id="1" name="SNES">            
            <emulatorCmd>C:\Program Files\Emulatoren\zsnesw151\zsnesw.exe</emulatorCmd>
            <emulatorParams>-m "%ROM%"</emulatorParams>
            <romPath>F:\Emulatoren\Roms\SNES\*.zip</romPath>
            <mediaPath type="boxfront">F:\Emulatoren\data\Artwork\SNES\boxfront\%GAME%.*</mediaPath>
            <mediaPath type="boxback">F:\Emulatoren\data\Artwork\SNES\boxback\%GAME%.*</mediaPath>
            <mediaPath type="screenshot">F:\Emulatoren\data\Artwork\SNES\screenshot\%GAME%.*</mediaPath>
            <mediaPath type="fanart">F:\Emulatoren\data\Artwork\SNES\fanart\%GAME%.*</mediaPath>
            <mediaPath type="cartridge">F:\Emulatoren\data\Artwork\SNES\cartridge\%GAME%.*</mediaPath>
            <searchGameByCRC>True</searchGameByCRC>
            <descFilePerGame>True</descFilePerGame>
            <imagePlacing>gameinfobig</imagePlacing>
            <scraper name="thegamesdb.net" />
            <scraper name="mobygames.com" platform="15"/>
            <scraper name="giantbomb.com"/>
        </RomCollection>
        <RomCollection id="2" name="Sega 32">            
            <emulatorCmd>C:\Program Files\Emulatoren\Fusion364\Fusion.exe</emulatorCmd>
            <emulatorParams>"%ROM%"</emulatorParams>
            <romPath>F:\Emulatoren\Roms\Sega32\*.zip</romPath>
            <mediaPath type="boxfront">F:\Emulatoren\data\Artwork\Sega32\boxfront\%GAME%.*</mediaPath>
            <mediaPath type="boxback">F:\Emulatoren\data\Artwork\Sega32\boxback\%GAME%.*</mediaPath>
            <mediaPath type="screenshot">F:\Emulatoren\data\Artwork\Sega32\screenshot\%GAME%.*</mediaPath>
            <mediaPath type="fanart">F:\Emulatoren\data\Artwork\Sega32\fanart\%GAME%.*</mediaPath>
            <mediaPath type="cartridge">F:\Emulatoren\data\Artwork\Sega32\cartridge\%GAME%.*</mediaPath>
            <searchGameByCRC>True</searchGameByCRC>
            <descFilePerGame>True</descFilePerGame>
            <imagePlacing>gameinfobig</imagePlacing>
            <scraper name="thegamesdb.net" />
            <scraper name="mobygames.com" platform="21"/>
            <scraper name="giantbomb.com"/>
        </RomCollection>
        <RomCollection id="3" name="Sega Genesis">            
            <emulatorCmd>C:\Program Files\Emulatoren\Fusion364\Fusion.exe</emulatorCmd>
            <emulatorParams>"%ROM%"</emulatorParams>
            <romPath>F:\Emulatoren\Roms\Sega Genesis\*.zip</romPath>
            <mediaPath type="boxfront">F:\Emulatoren\data\Artwork\Sega Genesis\boxfront\%GAME%.*</mediaPath>
            <mediaPath type="boxback">F:\Emulatoren\data\Artwork\Sega Genesis\boxback\%GAME%.*</mediaPath>
            <mediaPath type="screenshot">F:\Emulatoren\data\Artwork\Sega Genesis\screenshot\%GAME%.*</mediaPath>
            <mediaPath type="fanart">F:\Emulatoren\data\Artwork\Sega Genesis\fanart\%GAME%.*</mediaPath>
            <mediaPath type="cartridge">F:\Emulatoren\data\Artwork\Sega Genesis\cartridge\%GAME%.*</mediaPath>
            <searchGameByCRC>True</searchGameByCRC>
            <descFilePerGame>True</descFilePerGame>
            <imagePlacing>gameinfobig</imagePlacing>
            <scraper name="thegamesdb.net" />
            <scraper name="mobygames.com" platform="16"/>
            <scraper name="giantbomb.com"/>
        </RomCollection>
    </RomCollections>
    ...
<config>
The only magic part is the platform id from mobygames (16=Genesis, 21=Sega32). They will be automatically filled when you run through the wizard, but as you want to add a new RomCollection what is not covered via UI atm you have to do it in the config.xml and look up the correct id at mobygames or here.


- malte - 2010-12-26

There is a new version available: 0.7.11.

Changes:

General:
  • Prevent download of multiple images: check if file is available with different extension
  • bugfix: fallback images did not work in previous versions

Xbox related:
  • bugfix: Launching games on xbox was broken
  • set correct RomCollection-properties on xbox (create shortcuts, ...)
  • complete configuration can be done with the wizard (for roms and Xbox-games)

This release is mostly Xbox related. The configuration wizard sets all Xbox related properties automatically and skips all steps on Xbox that are not necessary (emuParams for all games, filemask for Xbox games).

But the most important change happened in addon.xml:
Code:
<addon
  ...
  provider-name="carabalb, malte">

carabalb decided to contribute on a more regular basis and I am happy not to be alone in the provider list anymoreSmile


- rob87 - 2010-12-26

Hi, can anybody tell me how i can change the viewtype? I can only use the files view.

I use night skin which should support landscape view. Like this
Image


- malte - 2010-12-26

If you are in files view navigating to left or right should make the button panel visible. It will appear at the bottom and it contains the "change view" button.


- rob87 - 2010-12-27

yes, but nothing happens when i press the "View: Files" button.


- Rocky5 - 2010-12-27

rob87 Wrote:yes, but nothing happens when i press the "View: Files" button.

The plugin uses its own built in views, though it would be nice if you could use skins views.

Quote:#if(action.getId() in ACTION_MOVEMENT_UP or action.getId() in ACTION_MOVEMENT_DOWN):
if(self.selectedControlId in FILTER_CONTROLS):

label = str(control.getSelectedItem().getLabel())
label2 = str(control.getSelectedItem().getLabel2())

filterChanged = False

if (self.selectedControlId == CONTROL_CONSOLES):
if(self.selectedConsoleIndex != control.getSelectedPosition()):
self.selectedConsoleId = int(label2)
self.selectedConsoleIndex = control.getSelectedPosition()
filterChanged = True
...

doesn't work.

Up, Down, Left and Right do nothing now on the Filters.


- BORIStheBLADE - 2010-12-27

Hey guys I kind of need some help.
I'm trying to get back to the menu where you chose the directories for the files. I read in the doc's you are supposed to throw away the RCB folder, but I don't see the folder in the addons folder.
I have also deleted the addon within XBMC thinking I can start all over, but this still didn't let me do that.

Am I looking in the right place?

A little side note, Maybe making a "clear all data" in the options will make this easier?

Thanks guys


- malte - 2010-12-27

rob87 Wrote:yes, but nothing happens when i press the "View: Files" button.
Strange. Do you see errors in xbmc.log when you try this? What version of Night and RCB are you using?

Rocky5 Wrote:doesn't work.

Up, Down, Left and Right do nothing now on the Filters.
Could you also check xbmc.log when trying this? If it does nothing then it seems to be a general problem (maybe wrong indentation?).

BORIStheBLADE Wrote:I'm trying to get back to the menu where you chose the directories for the files. I read in the doc's you are supposed to throw away the RCB folder, but I don't see the folder in the addons folder.
It is in your userdata/addon_data folder. Check this for special://home to find it on your system.

BORIStheBLADE Wrote:A little side note, Maybe making a "clear all data" in the options will make this easier?
Yes, this will be available soon. Atm I am working on context menu integration and this will cover some of these options. "Clear all data" will be one of them in the future.


- ShadeBlack - 2010-12-27

first off I'd like to thank malte for working on this so extensively, and doing such an amazing job with it, and it's audience.

secondly, I'd like to suggest something.
Malte, you said before you realised that the scanning of the roms should stop if there is no read/write access.
similarly, I think the scanning should still import the game if it can't find images. for example, I scanned a game today which had a description, boxart but no fanart backdrop. it didn't import the game because it couldn't find the fanart.
perhaps if rcb could just import the game anyway, then we can manually add the images later, that would be an easier solution.
I'd also like to suggest the ability to turn fanarts off entirely. I'd personally like just the boxart and decription for a more simplistic view. I feel that fanarts have always slowed down navigation, not just with rcb, but also in tv shows and movie libraries.

thirdly, I managed to get gens working. the repository doesn't have it though anymore. so to anyone wondering, you have to download and transfer a debian version of it into your /home folder and use putty command prompt:
cd /home
sudo dkpg -i "gens filename".deb
if you need it's dependencies it will tell you.
parameters I used were --quickexit "%ROM%" with file types *.zip, *.iso, *.smd
once gens is loaded it will be in windowed mode. use alt+"underlined letter" for the toolbar options for example alt+f for "file", then use the keyboard to navigate the toolbar options and set your gamepad buttons.
exit the toolbar with esc.
use alt+enter to fulscreen.
quickexit means pressing escape during playback of roms will close gens and return to xbmc lvie. if you load gens again, it will still be in fullscreen mode.