Hi malte, nice to see you still supporting this great add-on
Wanted to stop in and share my experiences with finally setting everything up yesterday
I have rom packs for NES, SNES, Genesis, and N64. I cherry picked the ones I thought we would end up wanting to play the most, and the scrape took care of something like 80 out of 95 titles set to automatic:accurate. The other 15 I did with interactive select/rescrape one by one. Only about 8 ended up without any boxart. Since they are from rom packs they have stuff like [!] [us] [etc] behind the title (which I didn't fix) and they were scraped just fine. Good job overall
For cores, I've chosen nestopia, snes9x, genesis_plus_gx, and mupen64plus
I've noticed (after a ton of trial and error) that pre and post launch delays don't effect retroarch for me (though I'm not trying to use solo mode for these). However, for each rom collection I have to toggle "minimize XBMC" for focus to go to RetroArch and then return to XBMC afterwards
I tried a bunch of -f -D -L -c options, but I've found that -D and -f doesn't matter whatsover. I really didn't want to muddle with -c since I'm using a wireless 360 controller and retroarch does a good job of auto-mapping the buttons IMO. If I wanted to customize it I'd probably go the -c route with multiple configurations
-L works nicely, but I couldn't get it to work with just ["%ROM%" -L corename_libretro.dll] . . . I had to put the entire path to the libretro core in. My parameters were
- NES "%ROM%" -L "C:\path\to\RetroArch\cores\nestopia_libretro.dll"
- SNES "%ROM%" -L "C:\path\to\RetroArch\cores\snes9x_libretro.dll"
- Genesis "%ROM%" -L "C:\path\to\RetroArch\cores\genesis_plus_gx_libretro.dll"
- N64 "%ROM%" -L "C:\path\to\RetroArch\cores\mupen64plus_libretro.dll"
I'm pretty sure I tried putting the parameters before and after "%ROM%" and -f never mattered since it always opened fullscreen either way. -D never ridded the dos prompt, and -L called the core
Since it windows XBMC I stretched the windowed mode to take the entire screen which makes it look a little better when switching to an external program
Then came my Steam/Origin games. I wanted them to all be in the same place, so I went about finding how to integrate them into RCB
I'm using W8.1 on my gaming machine, so I (like others) had the problem where the vbs script immediately relaunched XBMC and then launched the game over top. After exiting I'd need a keyboard or mouse to return to XBMC which is less than ideal for me since I want this to be X360 and remote only
I went to making autoit scripts for each of my games (fortunately I only have 10)
For each script I needed to know the steam id of the game I was launching. To launch a steam game with autoit you just use
Code:
Run ( ' "C:\Program Files (x86)\Steam\Steam.exe" steam://rungameid/99999' )
I noticed when it runs that an application called gameoverlayui.exe sits in task manager until you close the game, but you need to give your script a chance to wait for it to appear before invoking "ProcessWaitClose" since the end result will re launch XBMC when your script is complete and it will finish too quickly if you don't put in any padding. In autoit you can just use sleep to wait for a game to launch
My typical autoit script was
Code:
ProcessClose ( "XBMC.exe" )
Run ( ' "C:\Program Files (x86)\Steam\Steam.exe" steam://rungameid/99999' )
Sleep ( 7000 )
ProcessWaitClose ( "gameoverlayui.exe" )
Then, I made the gameid match the steam shortcut for each game, and compiled the x64 script giving it the same name as the game. The end result was a bunch of game-titled exe files that run the script above. Then for my PC games rom collection, I just chose PC and toggled "launch solo mode" and "use VBS scripts" (as well as "minimize XBMC"). I used *.exe and RCB went ahead and scraped each script as if it were the actual game. Everything works quite nicely this way
Sleep is milliseconds, so adjust accordingly. I have a pretty beastly system, but sometimes 5000 would finish out before the game launched. 7000 seems safe, but I may let it go higher in the future
There was one game this didn't quite work for, and that was Batman Arkham Asylum GOTY. When I use it's rungameid the "gameoverlayui.exe" isn't invoked until I press "Play" from the launcher. In task manager I found that the launcher was named bmlauncher.exe, so the script I used for this game was
Code:
ProcessClose ( "XBMC.exe" )
Run ( ' "C:\Program Files (x86)\Steam\Steam.exe" steam://rungameid/99999' )
Sleep ( 7000 )
ProcessWaitClose ( "bmlauncher.exe" )
Sleep ( 7000 )
ProcessWaitClose ( "gameoverlayui.exe" )
This brought me to yet another problem. The launcher cannot / will not accept any keyboard commands. Without a mouse to click play, I'm pretty stuck at this point
Off to google, and I found this
http://nirklars.wordpress.com/xboxmouse/
Quite a handy tool. Pressing both shoulder buttons and "B" toggles mouse support with the joystick. This helped twofold, because it also layers in a feature where you can double-tap "Back" on the X360 controller to simulate "Alt+F4" -- which I also needed in RetroArch. I did have to enter it's settings and modify the "EscapeDoubleTapDelay" down to 100 from 200 for it to work for me
Now, all the way to the end run, and I still can't get Crysis 3 to fold into this setup gracefully. If anyone is a autoit expert who could advise me on what works to launch Crysis 3 I'd be more than willing to buy them a couple virtual beers. I know that BF3 has similar issues and won't launch from the command line, but I don't have that title at the moment
It's really the only game that I use Origin for, so maybe I'll just ignore it's existence and move on with my life. However, I did find a way to hide the origin window at startup around 50% of the time . . . change the target within the shortcut it places in shell
tartup to ["C:\Program Files (x86)\Origin\Origin.exe" /StartClientMinimized] and apply