Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

[RESOLVED] Problem with GameEx, RocketLauncher and Retroarch


kicker75

Recommended Posts

Hello everyone,

I had done all of this years ago, but had an hard drive crash, and recently got the sting to set it up again. I have all my emulators and stuff set up at the moment in Hyperspin/RocketLauncher.

Yesterday, I gave GameEx a try (I had bought it years ago, as well as Hyperspin), and wanted to set it up. Instead of set up a myriad of emulators, I wanted to use my already set up rocketlauncher.

I did a little search in these forums, because there was no rocketlauncher and/or retroarch support right in gameex. And I found out it was actually really easy to set up this way, and in fact easier than the traditional gameex way.

On my first attempt, it worked beautifully. I had gameex setup with mame for the mame romset, and I had an atari 2600 romset (started out with an easy one), working with rocketlauncher.

However, I was intrigued to know why it worked without any additional configuration in RocketLauncher. So I went over there, and added a gameex frontend profile, and changed a few things. Then my games would no longer launch. It was saying it was missing an xml file somewhere in rocketlauncher directory.

I reverted my settings in Rocketlauncher, and now it launches again.

However, I played with GameEx settings in the meantime, and for some reasons, now when I launch a game thru rocketlauncher, it starts fine, but hideos is blocking the emulator output. So I see the rocketlauncher bezel, but I don't see the emulator in the middle... I see the black screen from hideos. If I alt-tab to hideos, and press alt-f4, and switch back to the emulator, then everything is fine. Except I see the windows taskbar.

Any ideas as to what I'm doing wrong?

PS: BTW, nice progress on GameEx! I have read about GameEx evolution. Is it a new application? If I bought GameEx, will I get the evolution upgrade or is it a new purchase?

Link to comment
Share on other sites

I am not sure we are going to be able to help you with your RocketLauncher/GameEx combination as RocketLauncher is not our software. If GameEx is running fine outside of RocketLauncher then I recommend checking with the RocketLauncher team to see if they can be of assistance.

That said, if you launch GameEx without RocketLauncher and are having the same issue you are reporting, you will need to provide your log.txt and gameex.ini files for us to assist you with troubleshooting GameEx standalone. Click the GameEx How to Ask for Help link in my signature on where to find these files and how to submit them for us to review.

Thank you.

Link to comment
Share on other sites

Thanks for your answer. I have found out my problem. There is a hide desktop in display settings, and there is another in each emulator config. The one from display settings however seems to be doing nothing when set to hide os.

When disabling the one in emulator config, then the emulator shows up behind my bezel.

The only problem is that I see the desktop flashes in between loading the emu and exiting back to gameex.

There is a setting in Rocketlauncher to make the screen black when loading and exiting, before fading happens, but it doesn't seems to work either.

On the brighter side, I'm almost done setting my 25 or so systems.

Any plans to support the retroarch emulator right in gameex? And what about Rocketlauncher? RL isn't tied to Hyperspin, it works with multiple frontend, gameex included.

Link to comment
Share on other sites

Realistically, I doubt there will be any integration with either RetroArch or RocketLauncher within GameEx proper. They are 3rd party solutions that can be setup to run in conjunction with GameEx. RetroArch is more of a emulator frontend as opposed to being an emulator in its own right.

As tthurman noted, there are threads for each regarding and the users that started the thread and others that have contributed within may be able to assist with your integration with GameEx as I am sure that they may have encountered similar problems.

Link to comment
Share on other sites

I don't quite agree that RetroArch is more of a frontend than an emulator. It is both. But its frontend part is only a bit better than mame itself. Retroarch is more suited toward tv, console, etc... using the gamepad to move around the UI.

But I don't use the frontend part of RetroArch, only the emulator. The reason why I love it, is simple... the controls are auto configured for pretty much every games. Arcade racing games will use the analog stick and analog triggers on the xbox 360 controller automatically, and it comes with an extensive filters and shaders list.

Most of my systems are ran thru RetroArch at the moment. Only the Atari 5200, ColecoVision and very few others are ran thru mame (well, mess part of mame)...

Running segacd, turbografx-cd, neogeo-cd games with retroarch is a breeze.

The reason of this post is to make GameEx play more nicely with RetroArch and RocketLauncher, cause they don't play nicely with each other.

I believe that if GameEx devs could talk with these other devs, they could make it integrate much better with GameEx. Its mainly an hideos problem.

So here is where I am now:

All my systems that runs thru rocketlauncher, needs to have hide desktop disabled. As a result, when I load a game, I will see the desktop flashes by, then rocketlauncher picks up and then its fine... When I exit, the same behavior happens. I see the desktop, before gameex shows up again.

And here is where talking with retroarch devs could help. If I use mame as my emulator... mame will display properly over hideos.exe... but if I use retroarch, retroarch shows up below hideos. So I see the bezels, and a black screen instead of the emu (hideos)... if I alt-tab and close hideos, then I see retroarch thru the bezel.

So by talking with retroarch devs, they could fix this up and make sure retroarch is displayed on a layer above hideos.

Yesterday, I was up for a challenge. Making the main mame list running thru rocketlauncher/retroarch. And I succeeded, partly. Here my problem...

HideOS launches for the mame list no matter what. I have disabled hide desktop and taskbar in display, because there is no other settings about it elsewhere, so I thought this was the one used for the main mame list. (the one that's sorted and out of emulated games)...

Here is how I did this: I have kept my mame settings using mame.exe and set up the way it should be. I tried to set up rocketlauncher there, but it failed... however, I set up advancemame part using rocketlauncher using retroarch for mame games, and it worked. It launches the games perfectly, I keep my sorted list as it should be... really, the only problem is hideos again... showing above retroarch... but I cannot seem to get rid of hideos.exe.

If I rename hideos.exe it works... but the switching from gameex to rocketlauncher is very nasty, as retroarch window shows up briefly...

Not sure if I could record a video using fraps or something, but if the devs are interested in making gameex works more nicely with rocketlauncher/retroarch, I could record a video of my issue..

By integration, I meant, that retroarch could be added as an emulator downloadable in the list, to each supported systems. And make hideos.exe play nicely with it.

Rocketlauncher is already working perfectly, its really retroarch. But I have used both gameex pause menu and rocketlauncher pause menu, and the one from rocketlauncher is not only better looking (in my opinion), but it loads faster (not on first launch, its about equal, but rl loads much faster on 2nd pause... gameex stays slow each launch)... plus I think its really the best way to setup system/emulators... and it makes settings new frontend much easier than doing all that work again and again for different frontend.

@tthurman: I have read both threads, and I already read the first one... it doesn't provide much more info, other than the general misinformation people have about this emu. It starts with people saying its more an emu for mobile/console... its the pinnacle of multi-platform software actually... running on just about anything... and screen size.

As I said in my OP, I have been playing with emulators for over 15 years now... not straight... so I'm not new to this. Years ago, I had a nice gameex setup (even made a theme for it that I sent here), and also hyperspin. I was using like 20-25 emulators or so for all my systems.

When I got back into it, I started out setting up my emulators how I was familiar with, with nestopia for nes, fusion for genesis, etc... and then I came to discover bizhawk... started setting out more and more systems with this emulator, and I love the fact that these systems had a familiar feel, could use the same shaders and so on... then I noticed in Rocketlauncher, that retroarch came out on nearly every systems, so I decided to give it a try, and I never looked back. I'm running two emulators for 99% of my systems (over 25 now)... retroarch and mame. I'm also using final burn alpha for all the capcom and neogeo arcade games, and model 2 emulator..

Link to comment
Share on other sites

Actually, for the time being, I have found a nice work around my issue with the main mame list. I have been able to make it work with rocketlauncher/retroarch just like my other systems. So, I still have a glimpse at the desktop on launch and exit, but I have been able to work around the issue of hideos getting in the way of retroarch when playing the main mame list.

In my emulators setup, every systems that is ran thru retroarch, needs to have show desktop disabled in the advanced settings for hideos to not show up when launching the emulator. But for the main mame list, the show desktop settings in display doesn't seems to help. HideOS always shows up regardless when you launch a game.

So I added the command

taskkill /IM "HideOS.exe"

to the run on launch in advance mame settings.

And this makes my main mame list works with rocketlauncher/retroarch...

I'm sure this issue is very simple to fix actually. I mean, if it's possible to overlay a layer on top of the screen, like the bezels, or hideos... I mean there has to be some sort of layering index... so likely that retroarch is set to be displayed on a lower layer than hideos is.

How about adding some options to hideos? Like an option to set the layer it displays it black screen? So when you get an emulator that doesn't display above hideos, you could change the values, and get it to display just right.

For some reasons, rocketlauncher have quite a few hiding options, like hide os, hide taskbar, hide emulator, hide frontend, but it doesn't seems to work with gameex.

But for the moment, until a proper solution is found, I can deal with the flash to desktop on launch and exit.

If anyone needs help to get rocketlauncher/retroarch in gameex, I would be happy to provide what help I can :)

  • Like 2
Link to comment
Share on other sites

I have tried harder to make it integrate without seeing the desktop flashes by, and I'm almost there.

Here is what I did:

Since I found out about the taskkill trick, I thought about sending this before the emulator launches, while having show desktop disabled.

So I first tried to setup a before launch command in the advanced emulator setup.. but since rocketlauncher is launched before retroarch, and I really want to kill hideos after rocketlauncher is launched, and before retroarch is, it wouldn't work.

Then I thought about creating a batch file to launch retroarch. Simple one called rl.bat with the following in:

@echo off

taskkill /IM "HideOS.exe"

retroarch.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 %10

(I counted the number of variables I needed in the log file, by looking at the run command, and counting for the parameters as well, like -s.)

I tested it in RocketLauncher, and it works.

However, something weird happens in GameEx... when I launch a game, the hideos works, I don't see the desktop, rocketlauncher picks up and fade in, all is good... but then, it fires retroarch, killing hideos... then i see retroarch partially, and then it returns me to gameex. Leaving the emulator running...

As I can see, the easiest way to fix it up in an overnight update, would be to add a parameter to hideos, that would run hideos for a certain amount of time, ending the process after the timer limit is hit. This would make it easy to configure. This would allow one to have show desktop enabled, and use, for example, hideos.exe 6000, in also launch, to have hideos run for 6000 milliseconds, or 6 seconds...

Link to comment
Share on other sites

T h a n k Y o u V e r y M u c h !!!

It worked!

After some trial and error, took me maybe 15-20 mins, and it's now working beautifully!

When I saw your post about ahk scripts, I told myself, oh my, I never made one myself... but then I thought that rocketlauncher is using ahk scripts to launch emulators. So I edited retroarch's ahk script, and I added 5 new lines.

If you search for run( in RetroArch.ahk, you will find these lines:

HideEmuStart() ; This fully ensures windows are completely hidden even faster than winwait
If InStr(core, "mess") { ; if a mess core is used
Run, taskkill /IM HideOS.exe
Run(executable . " """ . (retroMessID ? retroMessID : "") . fullRomPath . """ " . fullscreen . retroCFGFile . " -L """ . libDll . """ -s """ . srmPath . "\" . romName . ".srm"" -S """ . saveStatePath . "\" . romName . ".state""" . netCommand, emuPath, "Hide")
} Else If (retroID = "LibRetro_SGB" || If superGB = "true") { ; For some reason, the order of our command line matters in this particular case.
Run, taskkill /IM HideOS.exe
Run(executable . " " . fullscreen . retroCFGFile . " -L """ . libDll . """ -s """ . srmPath . "\" . romName . ".srm"" -S """ . saveStatePath . "\" . romName . ".state""" . fullRomPath . netCommand, emuPath, "Hide")
} Else If FileExist(mgM3UPath) {
Run, taskkill /IM HideOS.exe
Run(executable . " " . """" . mgM3UPath . """" . fullscreen . retroCFGFile . " -L """ . libDll . """ -s """ . srmPath . "\" . romName . ".srm"" -S """ . saveStatePath . "\" . romName . ".state""" . netCommand, emuPath, "Hide")
} Else {
Run, taskkill /IM HideOS.exe
Run(executable . " " . fullRomPath . fullscreen . retroCFGFile . " -L """ . libDll . """ -s """ . srmPath . "\" . romName . ".srm"" -S """ . saveStatePath . "\" . romName . ".state""" . netCommand, emuPath, "Hide")
}

I added the 4 lines in bold italic to each run cases here.

And later, at the end of the script:

CloseProcess:
FadeOutStart()
run, d:\gameex\hideos.exe
WinClose("RetroArch ahk_class RetroArch")
Return

I added the bold italic line here.

I have gameex set to hide desktop, and that's about it. When I fire a game thru retroarch, right before launching the emu, the script kills hideos, and right when the fade out starts when I quit the emulator, the script fires up hideos.exe again.

This makes retroarch works just like it should, just like mame, without any weird glitch.

Until a proper solution is found with hideos, this suits me perfectly. The only thing that will likely annoy me is when rocketlauncher will update itself and pull a new retroarch.ahk script, so I will have to do this again.

I will try to write a guide in the coming days about how I got gameex to work with rocketlauncher/retroarch, along with how to make it work with the mame's list too.

Thanks again for that tip! Now it looks very professional! I really love gameex :) I might dig back into theming as well!

  • Like 1
Link to comment
Share on other sites

Some further observation... my first try to start hideos back, as I knew I would have to, was to add the d:\gameex\hideos.exe line, to after launch in advanced emu settings. Not only did it not fire as soon as the emulator exited, I saw the desktop for a second or two... it prevented gameex from coming back. Hideos just stood there, waiting. I had to alt-f4 it, then gameex came back up.

Link to comment
Share on other sites

Turns out the exit is cleaner this way:

CloseProcess:
WinClose("RetroArch ahk_class RetroArch")
run, d:\gameex\hideos.exe
FadeOutStart()
Return

Before this change, when I pressed the exit button mapped in rocketlauncher, the fade would start, once finished, I would have a last glimpse at the emulator, then the black screen from hideos, then gameex.

I wanted to get rid of the emulator showing up when the fade ended before hideos picks up, and turns out re-ordering the exit procedure was all that was needed.

I will put everything together up soon, along with screenshots of my config in rocketlauncher, gameex, etc...

  • Like 2
Link to comment
Share on other sites

Good to hear! We have in the Pinned and Hot Topics subforum a Start to Finish guide template if you wish to use it. Not necessary, but you might find it helpful.

When you complete your guide, please post it in a separate thread and we will move it to that subforum with the other guide for future reference.

One other thing to consider is most of the emulator sections in GameEx have Launch Before and Launch After sections where you could launch scripts to do the same thing without fear of a RocketLauncher update overwriting and undoing your work.

Link to comment
Share on other sites

  • 3 months later...
Quote

Then (in GameEx) create a new emulator slot for the system / core you want to use and use this example for your command line:

retroarch.exe "[ROMPATH]\[ROMFILE]" -c bsnes_accuracy_libretro.cfg -f (replace my example config with your own config obviously)

Hi

I am also using this method. For most of my retroarch cores it runs fine, however i don't know why this command line doesn't work with Playstation mednafen core. Does any of you know how to run psx mednafen core, through gameex?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...