Jump to content
LaunchBox Community Forums

Recommended Posts

OK thx. I did some looking around and it looks like it uses 13 as the controller ID. I think the guide button might do something with the windows game bar as well which potentially needs to be disabled.

  • Thanks 1

Share this post


Link to post
Share on other sites

Updated WootLauncher to v1.2 - major improvements to the joypad framework which manages gamepad inputs. This includes bugfixes and new gamepad features, e.g., you can now bind the "home" button on a DS4 or Xbox controller to launching the pause menu. It also now handles cases when gamepads are unplugged or plugged in; this is done seemlessly without need for any user intervention. Another cool addition: you can now map a button combo to quickly exit the game, bypassing the need to use the pause menu to exit a game. Also, a game reset function was added to the pause menu. The PDF manual on the download page is also updated and explains how to use these new features.

  • Like 1

Share this post


Link to post
Share on other sites

To disable the guide button in Steam, open Steam and click View then click Settings. In the Settings Dialog, click General Controller Settings and un-check the GUIDE BUTTON FOCUSES STEAM checkbox. Click Back and then OK. Steam will prompt you that it needs to restart for setting to take effect.

794368652_steamguidebutton.thumb.png.5381da69065264e25c87b8ef8bb598d8.png

Share this post


Link to post
Share on other sites

I'm not really sure where to begin. I guess I should first say thanks for making whatever exit key I set, close the game and bring up the exit screen. It works great. 

Pause Menu and actually pausing the game: The problem I'm having is it seems that no matter what I set my pause keys to, I can't seem to get the behavior I think I should be getting. I thought it was working for me as expected before the update, but after troubleshooting over the last couple days and reverting back to the 1.1 plugin, I'm not so sure. For example, I'm in game, I have all the pause keys set up, using either the default Alt+A like you have yours, or I set them to something better suited to my cabinet's control panel (the actual keyboard pause key). I can get your pause screen to come up, but I still hear the game playing in the background. I can edit the specific Retroarch config file which in this case is genesis_plus_gx_libretro.cfg for the pause key to actually use pause instead of the p key (for some reason I have to edit the config file for this to work because when I do it in retroarch itself, when I try to map the pause key, it thinks I am mapping numlock. I hate retroarch, LOL). When I do this, I can get the game to pause AND the pause menu comes up. I believe this is how I had this set up before the 1.2 update. The problem now is the resume key I have set in the Woot Retroarch config, doesn't seem to do anything. Well actually, now I hear the game start but the pause Menu is still active. I still have to hit the enter key on my keyboard when I have the resume button highlighted to be brought back to the game. Something just seems off like there is a dis-connect with the hotkeys that are set up in the Woot custom config for Retroarch. I've also noticed when I start a Retroarch game, the f11 hotkey to hide the mouse doesn't seem to be doing anything, so this tells me the other hotkeys aren't doing what they are supposed to be doing either, like the +p to pause +p to resume. I do have the RequireCfgs set to true in Ao.Bigbox.Dropins.dll.config. I have also set the shift hotkey in Retroarch and tried the +p in the configs like your example but it still doesn't seem to do anything. I don't have any AHK scripts set up for Retroarch within the emulator settings in Launchbox so there is no conflict there. I'm completely at a loss how to get it to work correctly.

Controller: I haven't really bothered yet with the controller other than to determine that the Xbox 360 controller appears to not have any button IDs for the guide button. Even in windows calibration no buttons light up when I hit the guide button. I seem to recall this being an issue in the past for the 360 controller and a lot of people were saying to use Controller Companion to program the guide button. Controller Companion is $3 and is available on the Steam store. I tried it last night just to see how it worked and I'm quite impressed. You can assign whatever you want to the guide button, which in my case will probably be the pause key. Since I have a cabinet and dedicated control panel, trying to set a controller to also work to control what you see on screen in addition to the control panel joystick and buttons can make things difficult. But I'd like to get it going if possible. I can start playing a game with the control panel and pick up the controller and play with that, set the controller down and go back to the control panel, etc. I'm just trying to get all menus I see on my cab to work in similar fashion. To be honest, the first thing a person sees when they walk up to my cabinet is the control panel. Setting up a controller in BigBox has never been on the radar so I think I need to read up on how it works a bit. Am I correct in assuming Woot Launcher uses whatever is set up in Bigbox for the buttons? I guess I'm having trouble understanding how "PageDn^PageUp+Up … buttons (as defined within BigBox) corresponding to PageDn and (^) PageUp are held down, then (+) the button mapped to Up is depressed" works. Is this what Bigbox is doing and Woot is just piggybacking off of the BigBox function somehow?

I'm not as worried about the controller as it's just something I need to figure out. The pause thing though has me baffled.

 

Share this post


Link to post
Share on other sites
16 minutes ago, JaysArcade said:

The problem now is the resume key I have set in the Woot Retroarch config, doesn't seem to do anything. Well actually, now I hear the game start but the pause Menu is still active.

Okay I think I understand. You are using the same hotkey to both bring up the WL pause menu and pause retroarch? That will cause issues, because the first thing the WL pause menu will do when it is shown is pause the game using the mapping you defined in RA -- so using to same key mapping for both WL's pause menu and RA's pause/resume function will pause and then immediately unpause the game again. Does that sound to you what could be happening?

The issue with closing the pause menu: currently, the WL pause menu mapping (keyboard or gamepad) does not actually close the pause menu -- the only way to do that is to select the Resume button. Now, I could probably add this feature so you could simply pause and unpause with the same keyboard or gamepad combo, configurable in the WL config. This also gets back to the problem of mapping the "pause" key on your system to both RA pause and WL pause; that will not work. You have to have separate mappings and let WL send a separate pause command to RA, as defined in the WL config file for that emulator/core (e.g., currently "+p" is mapped to pause/resume for RA).

28 minutes ago, JaysArcade said:

Am I correct in assuming Woot Launcher uses whatever is set up in Bigbox for the buttons? I guess I'm having trouble understanding how "PageDn^PageUp+Up … buttons (as defined within BigBox) corresponding to PageDn and (^) PageUp are held down, then (+) the button mapped to Up is depressed" works.

Yes, that is sort of correct -- WL will use the gamepad mappings for SELECT, BACK, PAGEUP, and PAGEDN as configured in BigBox. However, as of WL 1.2 you can override this mapping by editing keys in the GENERAL section of Ao.Bigbox.Dropins.dll.config. I really implemented this "override" feature so people without BigBox could still use WL. I think I described this in the updated PDF manual, but let me know if it's unclear. The "PageDn^PageUp+Up" syntax was something I just made up myself to allow you to configure button combos.

Share this post


Link to post
Share on other sites
46 minutes ago, eatkinola said:

Okay I think I understand. You are using the same hotkey to both bring up the WL pause menu and pause retroarch? That will cause issues, because the first thing the WL pause menu will do when it is shown is pause the game using the mapping you defined in RA -- so using to same key mapping for both WL's pause menu and RA's pause/resume function will pause and then immediately unpause the game again. Does that sound to you what could be happening?

OK I get that. The reason I made the pause key in Retroarch the same was because the pause menu key was bringing up the pause menu but it was not actually pausing the game. I could still hear the game running in the background. This was sort of a work-around. I think I need a flowchart to understand how this all works.

Below is my understanding of how it is supposed to work.

Open a game.

   |____Wootlauncher runs fade screen and Retroarch or (insert emulator here) game opens.

        |____Press Pause key(s) assigned in Ao.Bigbox.Dropins.dll.config - Alt+A

              |____  Wootlauncher checks for Retroarch.cfg in wootlauncher config folder. Wootlauncher sees that +p is set as HK_PAUSE and sends shift + p to Retroarch to pause game and simultaneously brings up pause menu - assuming shift is the                                     hotkey set up in Retroarch.

                    |____ Pause key (Alt+A) is pressed again to exit pause. 

                           |____  Wootlauncher checks the Retroarch.cfg in wootlauncher config folder. Wootlauncher sees that +p is set as HK_RESUME and sends shift + p to Retroarch to unpause retroarch and simultaneously closes pause menu.

 

It seems like there is a disconnect in the Woot RetroArch.cfg. No actual pausing, no f11 mouse hiding, etc. Perhaps I'm over thinking this whole thing?

 

Maybe I need to test with a different RetroArch build and see if it captures the +p as the pause key when Alt+A is pressed, assuming i set p as the pause key and shift as the hotkey in RetroArch.

 

It wouldn't be a timing thing would it? Like it might need a 300ms delay after Alt+A is pressed to submit the +p to Retroarch?

 

1 hour ago, eatkinola said:

I could probably add this feature so you could simply pause and unpause with the same keyboard or gamepad combo

That would be great! I just need one key to pause and unpause, but others might need a combo. The same with the exit scenario in the past. I don't want to have to navigate the pause menu to go back to the game when I can just press my dedicated pause button.

 

1 hour ago, eatkinola said:

WL will use the gamepad mappings for SELECT, BACK, PAGEUP, and PAGEDN as configured in BigBox. However, as of WL 1.2 you can override this mapping by editing keys in the GENERAL section of Ao.Bigbox.Dropins.dll.config. I really implemented this "override" feature so people without BigBox could still use WL. I think I described this in the updated PDF manual, but let me know if it's unclear. The "PageDn^PageUp+Up" syntax was something I just made up myself to allow you to configure button combos.

OK I think I get it. Bigbox is noting when the button combo is pressed and sends the keyboard equivalents of whatever is set up in BigBox (PageDn^PageUp^Select^Back+Up). Woot notices that key combo is pressed and runs the pause menu. At least I think that is how it works. But actually now Woot Launcher lets me set that as something else if I don't happen to have BigBox.

Share this post


Link to post
Share on other sites
6 minutes ago, JaysArcade said:

Below is my understanding of how it is supposed to work...

That's correct, except for pressing Alt+A (I don't think) currently closes the pause menu; that's the feature I mentioned adding based on your feedback.

8 minutes ago, JaysArcade said:

It seems like there is a disconnect in the Woot RetroArch.cfg. No actual pausing, no f11 mouse hiding, etc. Perhaps I'm over thinking this whole thing? Maybe I need to test with a different RetroArch build and see if it captures the +p as the pause key when Alt+A is pressed, assuming i set p as the pause key and shift as the hotkey in RetroArch. It wouldn't be a timing thing would it? Like it might need a 300ms delay after Alt+A is pressed to submit the +p to Retroarch?

Yep, it does sound like a disconnect. Via the pause menu, can you save/load game states? WL should generate a log file when you use it. Perhaps it would help if you sent me that along with the WL config files for retroarch you are using (if they differ from what's in the download). You said you disabled other AutoHotKey stuff, so that shouldn't be interfering. I don't think it's a timing issue, but there is a way to extend the delay between keypresses to test that out (I think I documented that in the PDF). Anyway, perhaps send me your log and possibly the config file I mentioned.

12 minutes ago, JaysArcade said:

I don't want to have to navigate the pause menu to go back to the game when I can just press my dedicated pause button.

Agreed, that'd be a good addition. Thanks for bringing it up.

13 minutes ago, JaysArcade said:

OK I think I get it. Bigbox is noting when the button combo is pressed and sends the keyboard equivalents of whatever is set up in BigBox (PageDn^PageUp^Select^Back+Up). Woot notices that key combo is pressed and runs the pause menu. At least I think that is how it works. But actually now Woot Launcher lets me set that as something else if I don't happen to have BigBox.

Mostly correct, except BigBox does not deal in button combos; you just map individual buttons to individual actions. WL aggregates button inputs to interpret combos.

Share this post


Link to post
Share on other sites
1 minute ago, eatkinola said:

WL should generate a log file when you use it.

I think WL will generate the log file regardless of whether or not you turn on "Logging" in LaunchBox's options, but I don't recall off the top of my head. I usually have logging turned on anyway since I've been developing and testing a lot recently.

Share this post


Link to post
Share on other sites

OK. Just tested again. Saves work. Loads work. Reset game works. Just not getting the game to pause with the pause menu. I added the relevant files here for you to look at. Next thing I'm going to try is a different version/revision of RetroArch.

BTW, the genesis_plus_libretro config file is the one used in the test with this log file. The other cores do the same thing however. No pause when pause menu opens.

Ao.Bigbox.Dropins.dll.config

RETROARCH.cfg

WL 2019-03-20 19-50-45.txt

genesis_plus_gx_libretro.cfg

Share this post


Link to post
Share on other sites

OK. Just downloaded the older RetroArch 1.7.2 and tried that. I got the exact same results. I tried the 64 bit and the 32 bit versions to see if that was maybe doing somthing weird but they both did the same thing.

Maybe you will see something in my configs or logs that ive set up incorrectly. I give up for now.

Share this post


Link to post
Share on other sites
20 hours ago, JaysArcade said:

Maybe you will see something in my configs or logs that ive set up incorrectly. I give up for now.

The "WL" log looks odd; never saw this during development. You see how the GENERAL SETTINGS and EMULATOR CONFIGS sections of the log are showing up twice? The rest of the logged actions are also happening twice. It looks like there are two copies of WootLauncher either in the LaunchBox\Plugins folder or LaunchBox\Themes\[Theme]\Plugins folder. There should be only one of these at it should be placed in LaunchBox\Plugins. Please check on that.

Share this post


Link to post
Share on other sites

OMG! It works! So I didn't realize I couldn't just drop the old plugin in a folder named old and leave it in the plugins folder while I tested out the new one. I do this kind of thing a lot when I test new stuff, but I guess Bigbox was picking up the dll anyways. It didn't even dawn on me this could be the issue. I was thinking the plugin needed to be in a certain path to be picked up. Sorry I wasted your time (again). It's working great now, thanks!

This log looks a lot better.

 

WL 2019-03-21 20-57-56.txt

  • Thanks 1

Share this post


Link to post
Share on other sites
18 hours ago, JaysArcade said:

OMG! It works! So I didn't realize I couldn't just drop the old plugin in a folder named old and leave it in the plugins folder while I tested out the new one. I do this kind of thing a lot when I test new stuff, but I guess Bigbox was picking up the dll anyways. It didn't even dawn on me this could be the issue. I was thinking the plugin needed to be in a certain path to be picked up. Sorry I wasted your time (again). It's working great now, thanks!

Hey it's no problem at all. I really appreciate you hanging in there and helping figure this out. I'm sure someone else would have raised this issue. Now we know to be on the lookout for it, and I'll add a bit of logic to the codebase to detect and log this problem when it occurs for someone else.

  • Like 1

Share this post


Link to post
Share on other sites
29 minutes ago, JaysArcade said:

Thanks. I hope you still add the pause to resume thing. WL would be just about perfect for me at that point!

Yep, will do -- that feature is actually working now on my dev version, and I'll include it in the next update.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×