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)



- DigiTech - 2011-10-18

Knut Anderson Wrote:Hello Malte,
is there a way to scrape Neo Geo roms? They usually have filenames that look like the actual game names, but are a couple of letters shorter. For example Samurai Showdown is called samsho. I've tried scraping manually, but often the games aren't recognized (fatfury3 is recognized as fatal fury 1), and I can't find a solution on this forum.

Maybe i can help you a little, with those shorter names i was able to scrape all my neo geo roms but instead of adding a collection of neo geo games i added those roms to my MAME collection everything went ok, maybe the mame scraper recognizes the roms with the original short names, btw all my neo geo-mame roms has short names TMNT.zip TMNTW2.zip etc etc, maybe this tip can help you.


- malte - 2011-10-18

Knut Anderson Wrote:Hello Malte,
is there a way to scrape Neo Geo roms? They usually have filenames that look like the actual game names, but are a couple of letters shorter. For example Samurai Showdown is called samsho. I've tried scraping manually, but often the games aren't recognized (fatfury3 is recognized as fatal fury 1), and I can't find a solution on this forum.
DigiTech is right. You should use MAME as platform and MAWS as scraper. Maybe I should remove Neo Geo from the platform list or directly link it with the MAME scraper. This should reduce confusion.

Domina Wrote:About the savestate, the idea is it to make to use easier and more functional with this shortcut, because by not need press "c", edit rom collection and go to disable the configuration RCB savestate all of the time who want to not use the savestate except for one game.

For Those who use the remote control or gamepad to navigate in xbmc would be simpler.
This option may appear only for games that have savestates set.
Yes, I could add a general option to turn savesate on/off. But configuration of savestate params still has to be done the way it is today.

Domina Wrote:One question, rom collection, has its own interface?
Because I was talking to MarcosQui in another forum and e-mails, and we often asked him to give support to your addon in Aeon MQ3, but it seems that it works a little different advanced launcher for exemple, in part of the interface.
Yes and no. RCB uses skin xml files and skinning structure as all other skins in XBMC. The difference between Advanced Launcher and RCB is that RCB is a script and ALA is a plugin. This means ALA uses the default views that the skins provide for their (I think) Program section. Every skin is able to launch ALA out of the box without changing one line of code. The skin just have to add a little more code to display things like game description, fanart, etc (although it will work without). RCB is a script and needs to provide its own views for everything. So if a skin wants to provide support for RCB it needs to provide the complete xml file from scratch. Thats why a lot of skinners don't add support for RCB because it is much more work than adding some lines for ALA. Additionally RCB has some features included that go away from XBMC standards.

On the other hand RCB is much more flexible with this mechanism. All things like game info view, configuration dialogs etc. are not possible in a plugin.

Here is a little guide how to start skinning RCB. It is valid for version 0.8.7 (the current in repo) but a little bit outdated for 0.9.1. The main features of 0.9.x are skinning related so I will update the guide as soon as 0.9.x is finished. Btw, in next version you will be able to select the skin independent of your XBMC skin. So you could use RCBs Night or Simplicity skin even if your default skin is Aeon MQ3. Maybe one of these is better for you than my default Confluence skin.


- Domina - 2011-10-18

malte Wrote:Yes, I could add a general option to turn savesate on/off. But configuration of savestate params still has to be done the way it is today.

Thanks, that would be excellent

Quote:Yes and no. RCB uses skin xml files and skinning structure as all other skins in XBMC. The difference between Advanced Launcher and RCB is that RCB is a script and ALA is a plugin. This means ALA uses the default views that the skins provide for their (I think) Program section. Every skin is able to launch ALA out of the box without changing one line of code. The skin just have to add a little more code to display things like game description, fanart, etc (although it will work without). RCB is a script and needs to provide its own views for everything. So if a skin wants to provide support for RCB it needs to provide the complete xml file from scratch. Thats why a lot of skinners don't add support for RCB because it is much more work than adding some lines for ALA. Additionally RCB has some features included that go away from XBMC standards.

On the other hand RCB is much more flexible with this mechanism. All things like game info view, configuration dialogs etc. are not possible in a plugin.

Here is a little guide how to start skinning RCB. It is valid for version 0.8.7 (the current in repo) but a little bit outdated for 0.9.1. The main features of 0.9.x are skinning related so I will update the guide as soon as 0.9.x is finished. Btw, in next version you will be able to select the skin independent of your XBMC skin. So you could use RCBs Night or Simplicity skin even if your default skin is Aeon MQ3. Maybe one of these is better for you than my default Confluence skin.


Interesting, I did not know the differences between script and plugin, I spent the link you gave me to him.
The skin selector would be cool too.

Thanks again


- malte - 2011-10-18

Thanks. But if he really wants to start skinning RCB he should have a look at the new 0.9.1 skin files. I converted the skin files to 720p so that it will be easier to adopt for him. Also I changed some things in the code that won't work anymore if he uses the old 0.8.7 structure. I hope that 0.9.x will be ready for repo in the near future..

If he waits some more days I may also update the guide to reflect those changes.


- Angelscry - 2011-10-18

Hi, Malte here is the bunch of .nfo files generated by Advanced Launcher for N64 games: http://www.gwenael.org/tmp/ala_nfo_files.zip

They are relatively simple, and I think RCB will be able to import them. If not, tell me what is going wrong.


- malte - 2011-10-18

Thanks a lot. All imported fine.


- Angelscry - 2011-10-18

malte Wrote:Thanks a lot. All imported fine.
Do you have try to import an .nfo file with some empty tags like :
Code:
<genre></genre>
Does it works also?


- Domina - 2011-10-18

malte Wrote:Thanks. But if he really wants to start skinning RCB he should have a look at the new 0.9.1 skin files. I converted the skin files to 720p so that it will be easier to adopt for him. Also I changed some things in the code that won't work anymore if he uses the old 0.8.7 structure. I hope that 0.9.x will be ready for repo in the near future..

If he waits some more days I may also update the guide to reflect those changes.


Hi malte, he said he can now see how the view modes works and has a notion of work to do already, but he wants to mess with the RCB after the final release of Aeon MQ3, because have enough work already pending for completed to 30/10/2011 and wants to do good work with rcb.
There is still time!

Thank you again! Smile


- malte - 2011-10-18

Angelscry Wrote:Do you have try to import an .nfo file with some empty tags like :
Code:

<genre></genre>

Does it works also?
Yes, this works also.


Domina Wrote:Hi malte, he said he can now see how the view modes works and has a notion of work to do already, but he wants to mess with the RCB after the final release of Aeon MQ3, because have enough work already pending for completed to 30/10/2011 and wants to do good work with rcb.
There is still time!
Great! Looking forward to this...


- maseatx - 2011-10-19

Thanks for this browser.
Is there anyway to speed up the time it takes to access the mame collection? Other emulators game sellections pop up instantly but when I try to access the mame "all" category it locks up xbmc. So i can only pull mame selections off by doing a search or breaking down the groups by genre. Is there any way to fix it so I can scroll through my full mame selection.
Also my pc is runing winows7 x64 , 4gig mem ,with 2 intel 2.7ghz dual core so I think i should have enough computer to do this


- malte - 2011-10-19

maseatx Wrote:Thanks for this browser.
Is there anyway to speed up the time it takes to access the mame collection? Other emulators game sellections pop up instantly but when I try to access the mame "all" category it locks up xbmc. So i can only pull mame selections off by doing a search or breaking down the groups by genre. Is there any way to fix it so I can scroll through my full mame selection.
Also my pc is runing winows7 x64 , 4gig mem ,with 2 intel 2.7ghz dual core so I think i should have enough computer to do this
I guess it is really a performance problem due to the size of the mame collection. The way RCB and XBMC are creating the list is not optimal atm so it could take some time to display thousands of items even on a fast machine.

You could check if you can improve it with changing the caching settings: link.

I will also check how to improve performance in the future...


- maseatx - 2011-10-19

well I deleted the collection and then let it rescrape everything from the local mame .nfo then let it sit on the mame screen over night while it was scraping and when I woke up it is scrolling through all the rom files with no lag. so i guess it just takes a long time to process even if it locks up for a minute.

malte
do you think it would speed things up to store .nfo files in a different folder than where the roms are just to divide the 20,000+ files up a lil bit?


- malte - 2011-10-20

I don't really understand. Is it the scraping or the list loading that takes a long time? And how long does it take to load the list for how many games?

If you want to know it for sure you can find the info in the log. It looks like this:
Code:
07:14:36 T:4536 M:706662400  NOTICE: load games from db in 1599 ms
07:14:36 T:4536 M:706654208  NOTICE: load 2 games to list in 58 ms
But if you give me subjective numbers this will be ok, tooSmile

I want to store nfo files in a different place later anyway. But I don't think that it really slows down the browsing of games. All info that is shown in the UI comes from the database, nothing is read from file system. Only artwork is read from file system but this is separated in different folders by default.


- maseatx - 2011-10-20

well now there is a new problem I wanted to start from a fresh install of rcb and when i went to scrape my mame roms im getting "error: Could not creat artwork file"

here is some of the log file where i think the error is taking place

02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Filetypeboxfront : 'Filetypeboxfront'
02:47:39 T:1888 NOTICE: RCB_INFO: using scraper: mobygames.com
02:47:39 T:1888 NOTICE: RCB_INFO: description file (tokens replaced): http://www.mobygames.com/search/quick?game=alpinerd&p=0
02:47:39 T:1888 NOTICE: RCB_WARNING: Encoding: utf-8
02:47:39 T:1888 NOTICE: RCB_INFO: Searching for game: alpinerd
02:47:39 T:1888 NOTICE: RCB_INFO: 4 results found. Try to find best match.
02:47:39 T:1888 NOTICE: RCB_INFO: Comparing alpinerd with Alpiner
02:47:39 T:1888 NOTICE: RCB_INFO: Try normalized names. Comparing ALPINERD with ALPINER
02:47:39 T:1888 NOTICE: RCB_INFO: Try with replaced sequel numbers. Comparing ALPINERD with ALPINER
02:47:39 T:1888 NOTICE: RCB_INFO: No result found. Try to find game by ratio. Comparing ALPINERD with ALPINER, ratio: 0.933333333333
02:47:39 T:1888 NOTICE: RCB_INFO: Comparing alpinerd with Alpine Games
02:47:39 T:1888 NOTICE: RCB_INFO: Try normalized names. Comparing ALPINERD with ALPINEGAMES
02:47:39 T:1888 NOTICE: RCB_INFO: Try with replaced sequel numbers. Comparing ALPINERD with ALPINEGAMES
02:47:39 T:1888 NOTICE: RCB_INFO: No result found. Try to find game by ratio. Comparing ALPINERD with ALPINEGAMES, ratio: 0.631578947368
02:47:39 T:1888 NOTICE: RCB_INFO: Comparing alpinerd with Alpine Racer
02:47:39 T:1888 NOTICE: RCB_INFO: Try normalized names. Comparing ALPINERD with ALPINERACER
02:47:39 T:1888 NOTICE: RCB_INFO: Try with replaced sequel numbers. Comparing ALPINERD with ALPINERACER
02:47:39 T:1888 NOTICE: RCB_INFO: No result found. Try to find game by ratio. Comparing ALPINERD with ALPINERACER, ratio: 0.736842105263
02:47:39 T:1888 NOTICE: RCB_INFO: Comparing alpinerd with Alpine Skiing!
02:47:39 T:1888 NOTICE: RCB_INFO: Try normalized names. Comparing ALPINERD with ALPINESKIING
02:47:39 T:1888 NOTICE: RCB_INFO: Try with replaced sequel numbers. Comparing ALPINERD with ALPINESKIING
02:47:39 T:1888 NOTICE: RCB_INFO: No result found. Try to find game by ratio. Comparing ALPINERD with ALPINESKIING, ratio: 0.6
02:47:39 T:1888 NOTICE: RCB_WARNING: Ratio != 1.0 and scraping option is set to "Accurate". Result will be skipped
02:47:39 T:1888 NOTICE: RCB_INFO: using url from previous scraper:
02:47:39 T:1888 NOTICE: RCB_WARNING: description file for game alpinerd could not be found. Check if this path exists:
02:47:39 T:1888 NOTICE: RCB_INFO: using url from previous scraper:
02:47:39 T:1888 NOTICE: RCB_WARNING: description file for game alpinerd could not be found. Check if this path exists:
02:47:39 T:1888 NOTICE: RCB_INFO: using url from previous scraper:
02:47:39 T:1888 NOTICE: RCB_WARNING: description file for game alpinerd could not be found. Check if this path exists:
02:47:39 T:1888 NOTICE: RCB_INFO: using url from previous scraper:
02:47:39 T:1888 NOTICE: RCB_WARNING: description file for game alpinerd could not be found. Check if this path exists:
02:47:39 T:1888 NOTICE: RCB_INFO: using url from previous scraper:
02:47:39 T:1888 NOTICE: RCB_WARNING: description file for game alpinerd could not be found. Check if this path exists:
02:47:39 T:1888 NOTICE: RCB_INFO: using url from previous scraper:
02:47:39 T:1888 NOTICE: RCB_WARNING: description file for game alpinerd could not be found. Check if this path exists:
02:47:39 T:1888 NOTICE: RCB_INFO: using scraper: thegamesdb.net
02:47:39 T:1888 NOTICE: RCB_INFO: description file (tokens replaced): http://thegamesdb.net/api/GetGame.php?name=alpinerd&platform=Arcade
02:47:39 T:1888 NOTICE: RCB_WARNING: Encoding: utf-8
02:47:39 T:1888 NOTICE: RCB_INFO: No results found with current scraper
02:47:39 T:1888 NOTICE: RCB_INFO: Insert data
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Publisher : 'Publisher'
02:47:39 T:1888 NOTICE: RCB_INFO: Result Genre = ['Sports / Skiing']
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Publisher : 'Publisher'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Reviewer : 'Reviewer'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Region : 'Region'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Media : 'Media'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Rating : 'Rating'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Votes : 'Votes'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: URL : 'URL'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Perspective : 'Perspective'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: OriginalTitle : 'OriginalTitle'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: AlternateTitle : 'AlternateTitle'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: TranslatedBy : 'TranslatedBy'
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Version : 'Version'
02:47:39 T:1888 NOTICE: RCB_INFO: Romdir: C:\Hyperspin\Emulators\Mame\roms
02:47:39 T:1888 NOTICE: RCB_INFO: NfoFile already exists. Wont overwrite file: C:\Hyperspin\Emulators\Mame\roms\alpinerd.nfo
02:47:39 T:1888 NOTICE: RCB_INFO: FileType: boxfront
02:47:39 T:1888 NOTICE: RCB_INFO: Get thumb from online source
02:47:39 T:1888 NOTICE: RCB_INFO: using key: Filetypeboxfront
02:47:39 T:1888 NOTICE: RCB_WARNING: Error while resolving item: Filetypeboxfront : 'Filetypeboxfront'
02:47:39 T:1888 NOTICE: RCB_INFO: resolve path: C:\Hyperspin\Emulators\Mame\roms\boxfront\%GAME%.*
02:47:39 T:1888 NOTICE: RCB_INFO: resolved path from rom file name: C:\Hyperspin\Emulators\Mame\roms\boxfront\alpinerd.*
02:47:39 T:1888 NOTICE: RCB_INFO: resolved files: []
02:47:39 T:1888 NOTICE: RCB_INFO: resolved path from game name: C:\Hyperspin\Emulators\Mame\roms\boxfront\Alpine Racer (Rev. AR2 Ver.D).*
02:47:39 T:1888 NOTICE: RCB_INFO: resolved files: []
02:47:39 T:1888 NOTICE: RCB_INFO: resolved path from rom folder name: C:\Hyperspin\Emulators\Mame\roms\boxfront\C:\Hyperspin\Emulators\Mame\roms.*
02:47:39 T:1888 NOTICE: RCB_INFO: resolved files: []
02:47:39 T:1888 NOTICE: RCB_WARNING: No files found for game "Alpine Racer (Rev. AR2 Ver.D)" at path "C:\Hyperspin\Emulators\Mame\roms\boxfront\%GAME%.*". Make sure that file names are matching.
02:47:39 T:1888 NOTICE: RCB_INFO: FileType: action
02:47:39 T:1888 NOTICE: RCB_INFO: Get thumb from online source
02:47:39 T:1888 NOTICE: RCB_INFO: using key: Filetypeaction
02:47:39 T:1888 NOTICE: RCB_INFO: Get thumb from url: http://maws.mameworld.info/img/ps/snap/alpinerd.png
02:47:39 T:1888 NOTICE: RCB_INFO: resolved files: ['C:\\Hyperspin\\Emulators\\Mame\\roms\\action\\alpinerd.png']
02:47:39 T:1888 NOTICE: RCB_INFO: Download file to: C:\Hyperspin\Emulators\Mame\roms\action\alpinerd.png
02:47:39 T:1888 NOTICE: RCB_INFO: File already exists. Won't download again.
02:47:39 T:1888 NOTICE: RCB_INFO: resolve path: C:\Hyperspin\Emulators\Mame\roms\action\%GAME%.*
02:47:39 T:1888 NOTICE: RCB_INFO: resolved path from rom file name: C:\Hyperspin\Emulators\Mame\roms\action\alpinerd.*
02:47:39 T:1888 NOTICE: RCB_INFO: resolved files: ['C:\\Hyperspin\\Emulators\\Mame\\roms\\action\\alpinerd.png']
02:47:39 T:1888 NOTICE: RCB_INFO: FileType: title
02:47:39 T:1888 NOTICE: RCB_INFO: Get thumb from online source
02:47:39 T:1888 NOTICE: RCB_INFO: using key: Filetypetitle
02:47:39 T:1888 NOTICE: RCB_INFO: Get thumb from url: http://maws.mameworld.info/img/ps/titles/alpinerd.png
02:47:39 T:1888 NOTICE: RCB_INFO: resolved files: ['C:\\Hyperspin\\Emulators\\Mame\\roms\\title\\alpinerd.png']
02:47:39 T:1888 NOTICE: RCB_INFO: Download file to: C:\Hyperspin\Emulators\Mame\roms\title\alpinerd.png
02:47:39 T:1888 NOTICE: RCB_INFO: File already exists. Won't download again.
02:47:39 T:1888 NOTICE: RCB_INFO: resolve path: C:\Hyperspin\Emulators\Mame\roms\title\%GAME%.*
02:47:39 T:1888 NOTICE: RCB_INFO: resolved path from rom file name: C:\Hyperspin\Emulators\Mame\roms\title\alpinerd.*
02:47:39 T:1888 NOTICE: RCB_INFO: resolved files: ['C:\\Hyperspin\\Emulators\\Mame\\roms\\title\\alpinerd.png']
02:47:39 T:1888 NOTICE: RCB_INFO: FileType: cabinet
02:47:39 T:1888 NOTICE: RCB_INFO: Get thumb from online source
02:47:39 T:1888 NOTICE: RCB_INFO: using key: Filetypecabinet
02:47:39 T:1888 NOTICE: RCB_INFO: Get thumb from url: http://maws.mameworld.info/img/tafa/flyers/alpinerd.png">flyer
|
02:47:39 T:1888 NOTICE: RCB_INFO: resolved files: []
02:47:39 T:1888 NOTICE: RCB_INFO: Download file to: C:\Hyperspin\Emulators\Mame\roms\cabinet\alpinerd.png">flyer
|
02:47:39 T:1888 NOTICE: RCB_INFO: File does not exist. Starting download.
02:47:56 T:1888 NOTICE: RCB_ERROR: Could not create file: 'C:\Hyperspin\Emulators\Mame\roms\cabinet\alpinerd.png">flyer
|'. Error message: '[Errno 22] invalid mode ('wb') or filename: 'C:\\Hyperspin\\Emulators\\Mame\\roms\\cabinet\\alpinerd.png">flyer\n |''
02:47:56 T:1888 NOTICE: RCB_INFO: Update finished
02:47:56 T:1888 NOTICE: RCB_INFO: Begin showGames
02:47:56 T:1888 NOTICE: RCB_INFO: helper.buildLikeStatement
02:47:56 T:1888 NOTICE: load games from db in 10 ms

i have tried all site configurations for scraping and still get the error. any clues as to what the problem is?
p.s. let me know if you need more of the log


- malte - 2011-10-20

@maseatx:

Problem is this:
Code:
Could not create file: 'C:\Hyperspin\Emulators\Mame\roms\cabinet\alpinerd .png">flyer
|'. Error message: '[Errno 22] invalid mode ('wb') or filename: 'C:\\Hyperspin\\Emulators\\Mame\\roms\\cabinet\\al pinerd.png">flyer\n |''

The url to the artwork is not read correctly and so it becomes an invalid filename while downloading artwork. This problem occurs from time to time and I already made a change to the scraper that I had to revert some weeks later because things have changed again. I have to check this when I am back home. Anyway, I have to think about options to make this more reliable before I have the time to rewrite the whole parser.

In the meantime you could try if this helps: old post.