Kodi Community Forum

Full Version: [RELEASE] Rom Collection Browser - Browse and launch emulator game ROMs
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
whats the best way to keep your roms organized ?

seems I have HOURS and HOURS or work ahead of me getting file names and folders setup

my NES images are in this format

GameName/0001.png
GameName/0002.png
GameName/0003.png
GameName/0004.png

each game has its own folder and each folder has 4 images all named 1-4

-=jason=-
Flomaster Wrote:does each game need its own entry into the config file

Every image category needs its own entry. You define it as FileType and reference it as mediaPath and FileTypeFor...-element. Look here for the full story.

Quote:my NES images are in this format

GameName/0001.png
GameName/0002.png
GameName/0003.png
GameName/0004.png

each game has its own folder and each folder has 4 images all named 1-4

You can import all 4 images as different image category (FileType) and tell RCB where to show these images. You don't have to move or rename your files, you can leave them as 0001.png etc and use the foldername with the %GAME% placeholder during import.

Just make sure that GameName in your image path is like GameName in your rom path (filename or foldername).

Your config file could look like this (just guessing what your images are):

Code:
<config>
    <RCBSettings>
        <logLevel>INFO</logLevel>
    </RCBSettings>
    <FileTypes>
        <FileType>
            <name>cover</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>action</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>title</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>cartridge</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
    </FileTypes>
    <Consoles>
        <Console>
            <name>Nintendo</name>
        </Console>
        <Console>
            <name>Super Nintendo</name>
        </Console>
     </Consoles>
    <RomCollections>
        <RomCollection>
            <name>NES</name>
            <consoleName>Nintendo</consoleName>
            <emulatorCmd>/usr/games/mednafen -fs 1 "%ROM%"</emulatorCmd>
            <romPath>/mnt/1tb/Games/NES/*.zip</romPath>
            <mediaPath type="cover">/mnt/1tb/media/NES/cover/%GAME%/0001.png</mediaPath>
            <mediaPath type="action">/mnt/1tb/media/NES/cover/%GAME%/0002.png</mediaPath>
            <mediaPath type="title">/mnt/1tb/media/NES/cover/%GAME%/0003.png</mediaPath>
            <mediaPath type="cartridge">/mnt/1tb/media/NES/cover/%GAME%/0004.png</mediaPath>
            <fileTypeForGameList>cover</fileTypeForGameList>
            <fileTypeForGameListSelected>title</fileTypeForGameListSelected>
            <fileTypeForMainViewGameInfoBig>action</fileTypeForMainViewGameInfoBig>
            <fileTypeForGameInfoViewBackground>title</fileTypeForGameInfoViewBackground>
            <fileTypeForGameInfoViewGamelist>cover</fileTypeForGameInfoViewGamelist>
            <fileTypeForGameInfoView2>action</fileTypeForGameInfoView2>
            <fileTypeForGameInfoView3>cover</fileTypeForGameInfoView3>
            <fileTypeForGameInfoView3>cartridge</fileTypeForGameInfoView3>
        </RomCollection>
        <RomCollection>
            <name>SNES</name>
            <consoleName>Super Nintendo</consoleName>
            <romPath>/mnt/1tb/Games/SNES/*.zip</romPath>
            <emulatorCmd>/usr/bin/zsnes -m "%ROM%"</emulatorCmd>
            <mediaPath type="cover">/mnt/1tb/media/SNES/cover/%GAME%/0001.png</mediaPath>
            <mediaPath type="action">/mnt/1tb/media/SNES/cover/%GAME%/0002.png</mediaPath>
            <mediaPath type="title">/mnt/1tb/media/SNES/cover/%GAME%/0003.png</mediaPath>
            <mediaPath type="cartridge">/mnt/1tb/media/SNES/cover/%GAME%/0004.png</mediaPath>
            <fileTypeForGameList>cover</fileTypeForGameList>
            <fileTypeForGameListSelected>title</fileTypeForGameListSelected>
            <fileTypeForMainViewGameInfoBig>action</fileTypeForMainViewGameInfoBig>
            <fileTypeForGameInfoViewBackground>title</fileTypeForGameInfoViewBackground>
            <fileTypeForGameInfoViewGamelist>cover</fileTypeForGameInfoViewGamelist>
            <fileTypeForGameInfoView2>action</fileTypeForGameInfoView2>
            <fileTypeForGameInfoView3>cover</fileTypeForGameInfoView3>
            <fileTypeForGameInfoView3>cartridge</fileTypeForGameInfoView3>
        </RomCollection>
    </RomCollections>
</config>
One thing I'm having trouble visualizing in my head - How to handle N16 and N64 coverart?

My goal as of now is this:

Non N16/N64 View

Specific N16/N64 view

View that can handle all sizes - I would use a ratio="keep" so the images dimensions are dynamic.

Whats your take on the different box art sizes...



Other than that, which is a more design issue, all the docs and script are easy to work with. Nice Job!!
mcborzu Wrote:I would use a ratio="keep" so the images dimensions are dynamic.

Whats your take on the different box art sizes...

It is an issue on my list but I don't have a solution right now. In my Confluence skin I have two views that are made for landscape (Info and Info2) and one for portrait (Thumbs). Showing the other type will always distort the images. I thought about defining default views per RomCollection (always use a landscape view for SNES games and portrait view for Xbox for example) but as in my screenshots below you should also have the option to show both types in one view.

This is one screenshot showing portrait and landscape images with ratio=stretch and ratio=keep (I only changed the covers at bottom). I think both are looking not good but I don't really know how to do this better.

Your last screenshot is using ratio=keep and is showing both types of images? It looks much better than mine, anything that I am missing?

Will it help if I try to determine the orientation from code and pass it as a property to the skin?
Oh no that last pic is using a ratio="stretch", I was just showing example of how I was generally planning to use the script. When I'm off work I'll post a quick screenshot of what I got using ratio="keep" on that view...
here is my debugging log.

also I have 3 consoles it seems

nes, Nintendo, Super Nintendo but in my config I only have Nintendo and Super Nintendo why?

Code:
<config>
    <RCBSettings>
        <logLevel>INFO</logLevel>
    </RCBSettings>
    <FileTypes>
        <FileType>
            <name>cover</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>action</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>title</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
        <FileType>
            <name>cartridge</name>
            <type>image</type>
            <parent>game</parent>
        </FileType>
    </FileTypes>
    <Consoles>
        <Console>
            <name>Nintendo</name>
        </Console>
        <Console>
            <name>Super Nintendo</name>
        </Console>
     </Consoles>
    <RomCollections>
        <RomCollection>
            <name>NES</name>
            <consoleName>Nintendo</consoleName>
            <emulatorCmd>/usr/games/mednafen -fs 1 "%ROM%"</emulatorCmd>
            <romPath>/mnt/1tb/Games/NES/*.zip</romPath>
            <mediaPath type="cover">/mnt/1tb/media/NES/Artwork/%GAME%/0001.png</mediaPath>
            <mediaPath type="title">/mnt/1tb/media/NES/Artwork/%GAME%/0002.png</mediaPath>
            <mediaPath type="action">/mnt/1tb/media/NES/Artwork/%GAME%/0003.png</mediaPath>
            <mediaPath type="cartridge">/mnt/1tb/media/NES/Artwork/%GAME%/0004.png</mediaPath>
            <fileTypeForGameList>cover</fileTypeForGameList>
            <fileTypeForGameListSelected>title</fileTypeForGameListSelected>
            <fileTypeForMainViewGameInfoBig>action</fileTypeForMainViewGameInfoBig>
            <fileTypeForGameInfoViewBackground>title</fileTypeForGameInfoViewBackground>
            <fileTypeForGameInfoViewGamelist>cover</fileTypeForGameInfoViewGamelist>
            <fileTypeForGameInfoView2>action</fileTypeForGameInfoView2>
            <fileTypeForGameInfoView3>cover</fileTypeForGameInfoView3>
            <fileTypeForGameInfoView3>cartridge</fileTypeForGameInfoView3>
        </RomCollection>
        <RomCollection>
            <name>SNES</name>
            <consoleName>Super Nintendo</consoleName>
            <romPath>/mnt/1tb/Games/SNES/*.zip</romPath>
            <emulatorCmd>/usr/bin/zsnes -m "%ROM%"</emulatorCmd>
            <mediaPath type="cover">/mnt/1tb/media/SNES/Artwork/Cover/%GAME%</mediaPath>
            <mediaPath type="action">/mnt/1tb/media/SNES/Artwork/Action/%GAME%</mediaPath>
            <mediaPath type="title">/mnt/1tb/media/SNES/Artwork/Title/%GAME%</mediaPath>
            <mediaPath type="cartridge">/mnt/1tb/media/SNES/Artwork/Cart/%GAME%</mediaPath>
            <fileTypeForGameList>cover</fileTypeForGameList>
            <fileTypeForGameListSelected>title</fileTypeForGameListSelected>
            <fileTypeForMainViewGameInfoBig>action</fileTypeForMainViewGameInfoBig>
            <fileTypeForGameInfoViewBackground>title</fileTypeForGameInfoViewBackground>
            <fileTypeForGameInfoViewGamelist>cover</fileTypeForGameInfoViewGamelist>
            <fileTypeForGameInfoView2>action</fileTypeForGameInfoView2>
            <fileTypeForGameInfoView3>cover</fileTypeForGameInfoView3>
            <fileTypeForGameInfoView3>cartridge</fileTypeForGameInfoView3>
        </RomCollection>
    </RomCollections>
</config>

Znes never opens in full screen while Mendafen does what args do I need for Znes?

I had -m before and it was opening in a small window I changed the args to the same as Mendafen and it wouldn't even open my games

http://flomaster.pastebin.com/t04devJq

also seems to NOT be asking to import my config file every time

-=Jason=-
Flomaster Wrote:also I have 3 consoles it seems

nes, Nintendo, Super Nintendo but in my config I only have Nintendo and Super Nintendo why?

Maybe from an old import? The info shown in the UI is always from database, not directly out of the config file. If you made several imports with different versions of config.xml it may be that you have a mixture of these imports in your db now (usually RCB tries to update existing data, but when you change Console or RomCollection names it will not recognize it as the same object).

Quote:Znes never opens in full screen while Mendafen does what args do I need for Znes?

I think you have to set this up in ZSNES itself. There is a config menu where you can adjust these settings if I remember correctly.

Quote:also seems to NOT be asking to import my config file every time

Since you switched logging? So, it works correct now or does it ask from time to time even if you did not modify config.xml?

There is still not the info in the log that I need. What version are you running? It is only logged in one of the latest versions (official 0.6.1 and the last beta 0.6.1g).
how can I delete the database so the NES is no longer showing up?

let me open and close a few more times to check if its asking to import settings and i will report back

change log says :
Code:
0.6.1 (08/2010)
~~~~~~~~~~~~~
UI and general behaviour
    * fullscreen video browser
    * implemented different caching options: CACHEALL, CACHEITEM, CACHEITEMANDNEXT
    * added character filter: select games by first character
    * skinning support: all game properties are available in the skin xml now
    * delay videoplayback for one second: better behaviour when browsing the game list
    * added log level as parameter to config.xml
    * new option: preventUnfilteredSearch
    * changed ordering in game list to case insensitive
    * support for pgup, pgdn, home, end
    * bugfix: don't restart video if we are already playing the current file
here is my pastebin: http://flomaster.pastebin.com/xf803zC1

I restarted xbmc several times and opened and closed RCB it didn't ask to import except the first time where I made the change to Zsnes so it wouldn't force close on me every time.

Alt+enter got my into fullscreen mode, I do not have any sound however is there an arg that I need to have in there to get sound.

perhaps some one else running live or linux could post what they are using for ZSNES

-=Jason=-

EDIT: sound problems
http://forum.xbmc.org/showthread.php?tid=72441
gonna try the args from this thread

edit: that didn't get me sound im guessing its a asound.conf issue or some thing

anyone with working sound, what are you xbmc sound settings , args, and asound.conf file ?
This thread should probably be limited to RCB support only.
If you're having trouble with emulators themselves you should get them working separate and help malte keep somewhat sane. :p
There are several threads on the Ubuntu forums about zsnes and sound issues, you can also find a variety of fixes via google.
If every other person wandering through here asks how to fix this emulator and that emulator it'll turn into a mess.
makes sense i just figured people using RCB with working sound could help out. those other threads pertain to LAUNCHER which we aren't using.

oh well the search continues

i do have problems some times not being able to exit out of RCB I have to pull up the settings menu and restart xbmc

-=Jason=-
flomaster Wrote:I restarted xbmc several times and opened and closed RCB it didn't ask to import except the first time where I made the change to Zsnes so it wouldn't force close on me every time.

That sounds like the expected behaviour. If nobody else reports this issue anymore I think I can submit the current version to the repo.

Quote:those other threads pertain to LAUNCHER which we aren't using.

There is no difference between Launcher and RCB when it comes to launching games I think. Both are using the commandLine to invoke the emulator and pass the rom as parameter. If you have trouble with configuring the emulator it should be the same with both addons.

So, most of the general info in the Emu/Roms in Live thread can be used for RCB also.


Quote:how can I delete the database so the NES is no longer showing up?

Just delete or rename the file "MyGames.db" next to your config.xml.
cool I'll have to find the sweet config to get audio, it seems audio and xbmc and linux is very tricky, one setup works for some one yet the same setup doesn't work for some one else.

-=Jason=-

edit:here is my database folder I do not have a MyGames.db

[email]xbmc@XBMCLive:~/.xbmc/addons/script.games.rom.collection.browse[/email]r/resources/database$ ls
config.xml SQL_ALTER_V0.5_0.6.0.txt SQL_CREATE.txt SQL_DROP_ALL.txt

here is my userdata Database:

[email]xbmc@XBMCLive:~/.xbmc[/email]/userdata/Database$ ls
Addons.db CDDB MyMusic7.db MyPrograms6.db MyVideos34.db Textures.db ViewModes.db

edit:I found it....
[email]xbmc@XBMCLive:~/.xbmc/userdata/addon_data/script.games.rom.collection.browse[/email]r$ ls
config.xml.backup MyGames.db settings.xml
malte Wrote:There is no difference between Launcher and RCB when it comes to launching games I think. Both are using the commandLine to invoke the emulator and pass the rom as parameter. If you have trouble with configuring the emulator it should be the same with both addons.

One difference I found between Launcher and RCB is when launching mame roms, Launcher will read the mame config file "mame.ini" where RCB will not for some reason, so I've been having to pass config manually e.g.. mame.exe -joy -screen_aspect 16:10 -d3d "%ROM%"
Mame runs fine from the CL and reads the ini config so not sure what's going on there...Eek

EDIT:
If RCB can't load/read the ini config that means no reading and saving of hi scores and such, which is pretty dam useless for a arcade emulator...
Hi!

I've got a question concerning RCB on XBMC Live (Dharma Beta 1). I installed v0.6.1 from zip, added the testdata and followed your wiki word for word.
I managed to start a SNES game (zsnes installed), but it was display over the XBMC "window" (which is fullscreen of course, so it's not really a window...) and the sound was a little bit distorted, so I guessed as Live user I had to use solo mode as you suggested in the wiki. First note: zsnes seems to be running correctly, as I could see the launched game.
So with solo mode (and execute rights on the applaunch.sh) my XBMC closes and immediately starts again when I want to start a game.
Additionally I can't access RCBs config screen in XBMC -> whether I press the info or "right menu" button on my remote (when the focus is on apps - rcb), it crashes. So I tried to go into system - addons - enabled addons - rcb, click ok... but as soon as I click on configure XBMC crashes and restarts again.
I do get crash logs, but I guess you won't have the time to see them through.

So, what I'd like to ask if any of you know these problems and can help me?

Kind regards,
Rick

BTW: Is it normal that in RCB when browsing through the games I only see the name of the selected game? It looks quite funny, because it appears to be an empty list and the name shows and disappears as soon as you browse through the list. Wink