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-05-17

andre_pl Wrote:I'm not sure if this has been reported yet, but I've noticed a small bug. the database requires that Game.name be unique, but this causes an error when a game with the same name exists on 2 consoles.

Thanks for pointing this out. I already fixed this issue the lazy way and removed the constraint. But I forgot to add this change to the trunk. I will add it like you suggested in the next release.

Paybac Wrote:Hey Malte, Hope you had a good trip away for the weekend.

Thanks. Yes, I had. Did not miss my laptop one minute;-)

Quote:I'm currently putting together a little Xbox test pack
code, config or content? looking forward to it anyway.

Quote:On the Xbox video side of things, I am under the impression that the xbox version will not be able to play the game videos in the skin
I am using xbmc.Player().play() with "windowed=True" to playback the videos. Maybe this is not supported on xbox. But I did not find any hint on this.

Could you provide an update.log after importing video files and an xbmc.log after trying to playback a video?

regards,
malte


- Paybac - 2010-05-17

Malte Wrote:code, config or content? looking forward to it anyway.
It's just going to contain, the modified code for xbox, with emulator and a working rom with a .cut. So it's basically just a one stop install for us xboxers so that people can test it out and have a quick look at it and decide if they want to take it further.

Quote:I am using xbmc.Player().play() with "windowed=True" to playback the videos. Maybe this is not supported on xbox. But I did not find any hint on this.

Could you provide an update.log after importing video files and an xbmc.log after trying to playback a video?
Yep i surely can hopefully get a log up for you in the next 24hrs got to sleep then work first. I'll ask someone at xbmc4xbox to have a look at the playback of videos part.

The other thing that i want to take a look or get some info about to put into this script is running XBox games, be nice to display our xbox games with all the extra detail your script provides.


- Paybac - 2010-05-17

Ok heres my Log
http://pastebin.com/fNXpBYqt
Heres my config
http://pastebin.com/HNB2kVnX
Heres my Helper.py
http://pastebin.com/arz698JH
Heres my .cut
http://pastebin.com/rGx3wynP

As you can see i am also back to having problems launching ROMs again, not sure what i messed up. I tryed to launch a game from each of the three views. Does this give you the information required for video clip playback?

I also asked here and the guys all say it is possible.
http://www.xbmc4xbox.org/forum/viewtopic.php?f=8&t=184&p=1631#p1631


- malte - 2010-05-17

Ok, I think I see whats happening. There is an error when RCB tries to get your video files:

Code:
08:27:07 M: 28319744  NOTICE: key = '%i;%i' %(parentId, fileTypeForControlRow[4])
08:27:07 M: 28319744  NOTICE: TypeError
08:27:07 M: 28319744  NOTICE: :
08:27:07 M: 28319744  NOTICE: int argument required

Your mediaPath for video files looks like this:
Code:
<mediaPath type="gameplay">F://Apps/Emulators/Surreal64/Media/boxart/%GAME%.wmv</mediaPath>

Question 1: Is it correct to use "/" instead of "\" ?
Question 2: Is there a wmv file with the game name in the boxart directory?

There must be a file "update.log" in RCBs home directory. Please post this, too. If there is an error during import it should be mentioned in this file.

2nd issue (launching roms):
I would guess it is the "/" again (in your .cut file). Bomb Blokes .cut files are using "\" as path divider. Maybe you should try this, too.


- Paybac - 2010-05-18

Ok for the Rom Side of things it sometimes works it sometimes doesnt, there is a log below for showing the Launch of the ROM freezing the xbox and one launching the Emu.

I swaped all the pathes to \ as well. yes there is a wmv in that boxart directory. Still no video showing.

Did you see this at xbmc4xbox.org?

Waffa Wrote:You can even start directly in windowed Wink
Example:
XBMC.PlayMedia($INFO[ListItem.Trailer]).........Is fullscreen
XBMC.PlayMedia($INFO[ListItem.Trailer],1)...........Is windowed

Edit:
VideoOverlay.xml is actually made for it exept most skinners put <control type="videowindow"> in includes.

Ok here is a log of it crashing when trying to start a ROM
http://pastebin.com/z2nZm5Yp
Here is the Update log. FRom the sametime as above
http://pastebin.com/AY359Nqr

And heres the log of it launching the emu but not the game i guess thats because of how i did my cut file it should just be the ROM name instead of the file location for this. Anyway at least this shows that RCB is working ocassionally.
http://pastebin.com/ptEM33Lq
Update.log for the same as above
http://pastebin.com/74t4k4Y4


- malte - 2010-05-18

Hi Paybac,

I think you found a bug (or at least a hidden feature;-)):
You corrected your romPath and imported settings again. Unfortunately RCB did not delete your old romPath and just added the new romPath and started to associate your games and artwork with this second path additionally. So you ended up with several SuperMarioKarts in your database. I have to think about how to handle this in the future...

To solve your problem:
Please delete your database (Q:\scripts\Rom Collection Browser V0.5\resources\database\MyGames.db) and import settings and games again.

I cleaned up your config.xml that it becomes more readable. I deleted all entries that are default values (thats the way I want to ship it with the next version) and all mediaPath and fileTypeFor...-elements that aren't used (assuming that you have 2 image and 1 video file per game):

Code:
<config>
        <RCBSettings>          
                <showEntryAllConsoles>True</showEntryAllConsoles>
                <showEntryAllGenres>True</showEntryAllGenres>
                <showEntryAllYears>True</showEntryAllYears>
                <showEntryAllPublisher>True</showEntryAllPublisher>
                <saveViewStateOnExit>True</saveViewStateOnExit>
                <saveViewStateOnLaunchEmu>True</saveViewStateOnLaunchEmu>
        </RCBSettings>
        <Consoles>              
                <Console>
                        <name>N64</name>                    
                </Console>
        </Consoles>
        <FileTypes>
                <FileType>
                        <name>cover</name>
                        <type>image</type>
                        <parent>game</parent>
                </FileType>
                <FileType>
                        <name>screenshotingame</name>
                        <type>image</type>
                        <parent>game</parent>
                </FileType>                          
                <FileType>
                        <name>gameplay</name>
                        <type>video</type>
                        <parent>game</parent>
                </FileType>                
        </FileTypes>
        <RomCollections>                                                
                   <RomCollection>                
                        <name>Collection V3</name>
                        <consoleName>N64</consoleName>
                        <emulatorCmd>%ROM%</emulatorCmd>                        
                        <romPath>F:\Apps\Emulators\Surreal64\Roms\*.cut</romPath>
                        <mediaPath type="cover">F:\Apps\Emulators\Surreal64\Media\boxart\%GAME%.jpg</mediaPath>                  
                        <mediaPath type="screenshotingame">F:\Apps\Emulators\adamx_v3\roms\Movies\%GAME%.png</mediaPath>
                        <mediaPath type="gameplay">F:\Apps\Emulators\Surreal64\Media\boxart\%GAME%.wmv</mediaPath>                        
                        <fileTypeForGameList>cover</fileTypeForGameList>
                        <fileTypeForGameListSelected>cover</fileTypeForGameListSelected>                        
                        <fileTypeForMainViewBackground>cover</fileTypeForMainViewBackground>                  
                        <fileTypeForMainViewGameInfoBig>screenshotingame</fileTypeForMainViewGameInfoBig>                        
                        <fileTypeForMainViewVideoWindowBig>gameplay</fileTypeForMainViewVideoWindowBig>
                        <fileTypeForGameInfoViewBackground>cover</fileTypeForGameInfoViewBackground>                  
                        <fileTypeForGameInfoViewGamelist>cover</fileTypeForGameInfoViewGamelist>
                        <fileTypeForGameInfoView1>cover</fileTypeForGameInfoView1>
                        <fileTypeForGameInfoView2>screenshotingame</fileTypeForGameInfoView2>
                        <fileTypeForGameInfoView3>cover</fileTypeForGameInfoView3>
                        <fileTypeForGameInfoView4>screenshotingame</fileTypeForGameInfoView4>                  
                        <fileTypeForGameInfoViewVideoWindow>gameplay</fileTypeForGameInfoViewVideoWindow>
                </RomCollection>                
        </RomCollections>
</config>

Of course you can add more FileTypes and mediaPaths again. I just want to show you that you can delete all entries that are not needed. Here are some examples how to configure your fileTypeFor...-elements if you want to add more image types again: http://code.google.com/p/romcollectionbrowser/wiki/Main#dynamic_image_placing

Please post xbmc.log and update.log again if you still run into errors. Thanks again for testing this out. I will add all your input to the next version. It won't become an one click installation but I hope I can ease it up drastically.

regards,
malte


- Paybac - 2010-05-18

Great thanks for cleaning it up. I will diffenately be adding all the other info so i can run this at full potential. Thanks for sticking with us xboxers on this, theres actually alot of people in other places that have got there eye on this waiting for it to get a bit more stable. I believe if you can get this pretty solid then its going to be a nice script for all platforms. I metioned this before but do you think this will handle xbox games? it would be nice to display them with all the pretty stuff.

Ill paste up logs in a few minutes pastebin is currently down.

But there is a one Problem. that i'll mention now.

Video is playing yay good work, but it jumps to full screen not windowSad. so you have to stop it then go back to the menu without going to any of the ROMS as soon as you touch a ROM in the Menu it starts playing, it only affects info1 and info 2 views. No affect in Thumb view, i guess that doesnt have video

Oh and the first time i ran it after making the changes you said above when i tryed to launch a game it Froze and log was missing lots of info. So the log below is the 2nd time launching so i didnt have to import anything incase you were wondering. but it launched a game fine second time round. I will try some other emus and Roms probably tommorow to see if those also freeze.

EDIT heres the logs xbmc log
http://www.heypasteit.com/clip/JWF

RCB log
http://www.heypasteit.com/clip/JWG


- malte - 2010-05-18

Paybac Wrote:I metioned this before but do you think this will handle xbox games? it would be nice to display them with all the pretty stuff.

It is on my list to launch standalone games but I did not test it yet. But I think it should work already. Is an xbox game a normal xbe or how do you launch them?

You could try this:
- Add a new Console entry in config.xml and call it "Standalone", "Xbox" or whatever
- Add a new RomCollection entry in your config.xml (make a copy of the N64 that you already have). Give it a unique name and associate it with the Console entry that you created in the step above.
- Configure your romPath to search for *.xbe files (or .cut or what you need to launch xbox games). RCB will search all sub directories from romPath. If you have a romPath "F:\Apps\Games\*.xbe" it will walk down all sub directories and import all xbe-files.
- Configure mediaPath to import your media files
- Import settings and games again
- Report success!


Paybac Wrote:Video is playing yay good work, but it jumps to full screen not window.

Every time you start a video? I have seen it going to full screen when I scroll down the list very fast. I have to compare your log file with my own one. Maybe I see whats happening. Looks like I have get a friends xbox to test all this;-)


- Paybac - 2010-05-18

Quote:Every time you start a video?
Yes everytime, the selector moves over a ROM the video starts in fullscreen. Even when you start RCB, (I assume it starts on the ROM list) It starts playing the video. So you STart RCB, the menu flashes then the video starts in fullscreen. Once you stop the video it goes back to the menu and the selected ROM stays highlighted so there you have to jump to the settings menus to change views. As soon as you highlight a ROM on either the INFO views it starts playing in fullscreen. The Thumbs view is fine, no video playing and game selection as normal.

Quote:It is on my list to launch standalone games but I did not test it yet. But I think it should work already. Is an xbox game a normal xbe or how do you launch them?

You could try this:
- Add a new Console entry in config.xml and call it "Standalone", "Xbox" or whatever
- Add a new RomCollection entry in your config.xml (make a copy of the N64 that you already have). Give it a unique name and associate it with the Console entry that you created in the step above.
- Configure your romPath to search for *.xbe files (or .cut or what you need to launch xbox games). RCB will search all sub directories from romPath. If you have a romPath "F:\Apps\Games\*.xbe" it will walk down all sub directories and import all xbe-files.
- Configure mediaPath to import your media files
- Import settings and games again
- Report success!

I had no luck with this, I tried launching the default.xbe via f:\Games *xbe, this found quite a few .xbes but definately not all, tryed launching various default.xbe no sucess, Tried pointing it to the game folder as well f:\games\burnout3\*.xbe Tried launching the default.xbe, no success. Tried using a . cut with the following
Code:
<shortcut>
<path>F:\games\Burnout3\default.xbe</path>
</shortcut>
No success. All of the above caused the system to freeze. but all methods imported fine except for the first which seemed to miss alot of the *.xbe
i have 33 games and it only display 2 default.xbes and about 20+ other various .xbes

I'll will do some asking about launching a Xbox game from a .cut i believe this will be the best way if it is possible.

Heres the confighttp://pastebin.com/a75ewFGy


- Bomb Bloke - 2010-05-19

malte Wrote:Is an xbox game a normal xbe or how do you launch them?
On the root of each game disc is a file called "default.xbe". That's the executable. When users import their games to their HDD, they usually make a parent folder (eg F:\Games), then have sub-folders within that for each title.

In XBMC, you'd then add F:\Games as a source, and it'll automatically detect each sub-folder containing a "default.xbe" file and add that as a game on the list. Each XBE contains a thumbnail icon and game title, which XBMC extracts and stores in the programs database file. You then just browse the games list like you would, say, your videos, highlight the one you want, select it, and it boots (the sub-folders become transparent to the user). Game titles stored in XBEs can even be altered via the context menu.

(The icons/titles were intended for use within the original MS dash for the save game management system).

If you stick an image file titled "default.tbn" in a game folder, XBMC will use that as the game icon instead of the image embedded in the XBE (same as using a TBN with just about any other sort of media).

Some games have multiple XBE files. For example, Prince of Persia: Sands of Time has an "unlockable" version of the original PoP game, which has its own alternative XBE on the disc. Other discs might contain demos for other games, which again, get their own XBE files.

Others include multiple XBEs for launching what seems to be the exact same game. Presumably there are minor changes between them, or... something.

Detecting all XBEs (as opposed to just "default.xbe") is problematic in that any game that supported Xbox Live has two on the root of the disc, "dashupdate.xbe" and "update.xbe". These are used to update the original MS dash on stock consoles to maintain Live compatibility. Users wouldn't want them presented within the script, and they certainly wouldn't want to run them - they'll mess up older softmods, and some of the (really) old hardmods too. In theory, modern mod setups will stop them executing in the first place.

Some disc extractors even strip the files out completely, which makes sense in that they're only half-way valuable on an unmodded system - which can't run backups.

So either search for just "default.xbe", or search for all XBEs except "dashupdate.xbe" and "update.xbe".

The only difference between launching the XBE for a standard game (compared to an emulator) is that there's no need to tell games what ROM to run. Homebrew apps tend to use the same "default.xbe" standard, because that's what dashboards (like XBMC) expect them to use.

paybac, were you able to get any extra logged data with your later tests, or does it always cut off "randomly"?


- Paybac - 2010-05-19

Ill try run another one now, and grab the log again and post, It always freezes on the launching of the default.xbe so i then turn it off and on and grab the old log. I did however get it to start topspin using one of it's alternate .xbes which launched it straight into a tennis match bypassed the menu and everthing.


- Paybac - 2010-05-19

Ok so running the xbox in debug mode ie holding X+Y at boot and the game will launch from RCB every time. tried it 5x in a row and it worked perfect everytime with debug on, heres the debug log with it working

http://pastebin.com/FGaehxkS

And heres the log with debug off with it causing the system to freeze
http://pastebin.com/5tWkjFCv

Oh and i am pointing it to the Burnout directory on purpose so it doesn't have to scrape so many .xbes so it doesn't

EDIT: Taking a stab at this but does this mean its a memory issue?


- malte - 2010-05-19

Thats weird.

There are some RCB related error messages and warnings in this log but I noticed them in mine, too. So I don't think this is the problem. But I will try to get rid of them anyway.

There seem to be some memory leaks. All reported in the sub components I am using (e.g. sqlite). Not sure if it is a bug in this libraries or in my usage. Will check this, too.

Maybe one more try: Did you try to launch a game without whitespaces in its path?


- Paybac - 2010-05-19

Tried on Juiced same result, Crashes with DEbug off runs sweet with debug on


- malte - 2010-05-19

Damn.

Just to find out if it is RCB or XBMC related: Are you able to launch Xbox games with other scripts like Launcher?