When's Melty on Steam?
ahaha that's no--wait, what?

Author Topic: MeltyLauncher - MBAACC button configurer and launcher  (Read 23557 times)

0 Members and 1 Guest are viewing this topic.

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
MeltyLauncher - MBAACC button configurer and launcher
« on: March 02, 2014, 04:45:03 AM »
Current Version (0.11.2): http://puu.sh/aakf6.zip

Hey guys, I'm here to share a brand new tool I just created which greatly reduces the frustration of doing button configs during tournament/casual play when people are constantly cycling through the setup.

I created it because we've found that maybe 25% of our time in these events is spent painstakingly assigning buttons using our awkwardly outstretched arms on a tiny laptop trackpad. To make things worse, the laptop is more often than not tucked away behind some monitor, on the floor, or just not facing you at all. It might have even falling into the trash can you were playing on in the back alley.



Overview:
* Run the program and it will ask for your MBAA.exe file the first time you run it.
* 1 or 2 players can map their buttons simultaneously in the button config GUI. P1 presses start first, and then P2 can press start while P1 is in the process of mapping buttons.
* Press SPACE to launch the game when all players are done setting buttons.
* Melty Blood should launch directly into the game
* After closing Melty Blood, the launcher will pop back up and allow for players to re-configure their sticks
* If any sticks are added or removed, the launcher will immediately update as necessary.
* ESC will quit from the launcher

This program was written with AutoIt3 and compiled to an .exe file. I believe one version got a false positive virus warning by Avast, so you may have to whitelist the app depending on what antivirus you use. I have had no problems with Microsoft Security Essentials / Malwarebytes. In any case, I'm open to people looking at the source code if you want to message me (right now I don't have it in a public repo).

-- Releases --
v0.11.2 - http://puu.sh/aakf6.zip
* UI Updated. Added several new features which can be enabled via simple buttons.
* All settings are now stored  in a config file (AppData\Roaming\MeltyLauncher\config.ini)
* Remembers path to MBAA.exe after you select it. Using the shortcut parameter no longer works.
* Remembers path to AppLocale (if using) after you select it. Using the shortcut parameter no longer works.
* Added ability to enable the "Keyboard" flag for the game. So now you can launch the game via MeltyLauncher and play on keyboard.
* Added support for turning on the secret stages (thanks to MadScientist/Erkz for the info on that).
* (Bugfix: 0.11.1) App wouldn't startup correctly
* (Bugfix: 0.11.1) Made the "[Space] Start Game" button clickable
* (Bugfix: 0.11.2) "Keyboard: ON" wasn't doing anything. Should work now.

v0.10 - http://puu.sh/7rdF0.zip
* No longer uses polling to determine when MBAACC finishes running, which should eliminate any CPU problems on Win8. Due to the new way the MBAACC process is monitored, MeltyLauncher will immediately show when MBAACC is closed, instead of having a small delay.
* The above improvement is unable to be used in conjunction with AppLocale, so running MBACC under AppLocale will still use the old polling mechanism.
* A few untested tweaks to the polling mechanism hopefully reduce CPU usage bugs on Windows 8.


v0.9 - http://puu.sh/7oeZt.zip
* Added some fixes for certain joysticks by detecting which buttons/directions are constantly held.
* Now includes a MeltyLauncher_debug.exe file that can be used to see log output. If a stick isn't working, try to capture some information with the debug tool and I can try to fix it.

v0.8 - http://puu.sh/7nbjs.zip
* Internal clean up that fixes some confusion caused by adding/removing controllers when MB is running. The app should now always be up to date with any controllers that are connected.
* Adding/removing controllers does not reset player configurations, except for the player that removed the controller.

v0.7 - http://puu.sh/7kESh.zip
* Basic support for AppLocale. Requires making a shortcut to MeltyLauncher.exe like this:
"C:\Games\MeltyLauncher.exe" "C:\Games\MBAACC\MBAA.exe" "C:\Windows\AppPatch\AppLoc.exe"

v0.6 - http://puu.sh/7imaR.zip
* Increase overall size of the text and UI
* Added small tips along the bottom

v0.5b - http://puu.sh/7i4DO.zip
* The GUI will scale correctly for people that use the windows settings to enlarge text ("Make text and other items larger or smaller")
* (0.5 ->0.5b) Fixed FN1/FN2. The bindings were incorrect for Player 1

v0.4 - http://puu.sh/7hi48.zip
* A bad attempt at a logo

v0.3b - http://puu.sh/7hh1r.zip
* Pressing 3 buttons at once will dissociate the controller
* (0.3 -> 0.3b) Textual bugfixes

v0.2 - http://puu.sh/7gY7J.zip
* Added support for FN1 / FN2 (FN1/FN2 were bugged, fixed in 0.5b)
* A+B, FN1, FN2 are all considered optional buttons
* To unbind a button, press a button that is already bound in a higher slot.
* Removed text borders since it was done in a hacky/laggy way.

v0.1 - http://puu.sh/7g1XY.zip
* Original version

-- Future features --
* Auto-saved stick configurations and profiles tied to which button is pressed to select a stick.
« Last Edit: July 14, 2014, 01:15:13 AM by Viskar »

Offline Sashi

  • Spellcaster
  • ***
  • Posts: 480
  • Magic Circuits: 9
  • Scene Killer~
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #1 on: March 02, 2014, 11:56:46 AM »
Good stuff!
Clmelty: Rokumoe!

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #2 on: March 02, 2014, 03:34:19 PM »
Great ideas, I think I'll be able to work in some changes later today. I totally forgot about regional/locale settings, so thanks for the reminder. I'll see why that's acting up (probably the way I'm doing filesystem operations).

edit: New version is up that has tweaks for A+B, FN1, FN2.

edit2: I wasn't able to test AppLocale since it is unsupported on Windows 7. The best I could do was verify that setting windows locale to Japanese worked without issues. I'm still interested in fixing it, but it will have to be at a later time and I would need to get some details on the problem.
« Last Edit: March 02, 2014, 11:30:10 PM by Viskar »

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #3 on: March 03, 2014, 09:54:15 PM »
Thanks for the tip, I got AppLocale installed now so I can look into that. Now that I'm done tweaking the UI for a bit I'm going to switch over to working on the "Settings" section, which will provide ways to configure things like AppLocale.

My plans for settings include:
* Allow me to save data between runs of the launcher
* Remember/Edit path to MBAA installation location, so you don't need to mess with shortcuts. It should auto-save after first run.
* Set location of AppLocale executable if you want to launch MB under AppLocale
* Maybe provide other config from the vanilla Melty config screen, like resolution / fullscreen



Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #4 on: March 05, 2014, 08:18:05 PM »
Made a quick release that works with AppLocale if you edit your MeltyLauncher.exe shortcut as noted in the OP patch notes. I did my best at auto-closing the nag popup that AppLocale shows on each run (at least on Win7).

When I get around to making the settings window (later this week), MeltyLauncher.exe shortcuts won't be needed.
« Last Edit: March 05, 2014, 08:24:53 PM by Viskar »

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #5 on: March 08, 2014, 02:37:43 PM »
I think I have an idea of what the problem is. The tool is thinking that a button/direction is in the "pressed" state even though the stick is neutral, which prevents any inputs from happening. I was able to reproduce this on a MadCatz stick when the stick is in "RS" mode. MeltyLauncher is getting a constant reading of the Z+ state.

I'm going to bring the launcher to the Rebel Up event tonight where I will have a chance to try out a wide variety of sticks and debug any of these issues. Should be a good chance to clear up any final problems before FR.



Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #6 on: March 08, 2014, 06:34:57 PM »
Just released 0.9 which has some fixes for what you mentioned. The .zip also contains a debug version of the tool that logs which buttons/directions are being detected.

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #7 on: March 09, 2014, 01:39:13 PM »
I has quite a bit of activity while it's running button configs, but once MBAACC starts it up should drop down to 0 CPU, since it stops what it's doing and just waits for MBAACC process to close again. I am mostly concerned if it's having any sort of CPU impact while the game is running, since it should be 100% idle. If there is CPU usage while the game is running, there must be a problem with the way it's waiting for the process  to end.

That being said, seeing 50% CPU usage on Win8 is really weird, since I only get about 1% CPU usage on Win7 while running it. I don't want to cook anyone's hardware so I will see about adjusting the delays between scans to be a bit less aggressive. I wish I had a Win8 machine handy to see what might be going on though.
« Last Edit: March 09, 2014, 01:42:49 PM by Viskar »

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #8 on: March 09, 2014, 07:34:25 PM »
I think right now it waits for up to ~5 seconds after presisng space for the MBAACC config window to load. If the standard config window doesn't load in that 5 seconds, it won't auto-close it and start the game. I wasn't sure how much this varied between people's setups, so I can increase that value since it's pretty simple change to make.

So to be clear high-ish CPU usage you are seeing is while MBAACC is running then? And only for Win8?

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #9 on: March 10, 2014, 10:04:57 PM »
Made a slightly modified version that changes how it waits for MBAACC to close, give it a shot if you can:
http://puu.sh/7r5gn.zip

Also, if you have a chance to try any previous versions please do. I'm curious if they all have the same behavior or not. Also try running them under administrator to see if that changes anything.

Thanks for all the help/feedback so far. It's hard to test all these cases myself but I want to make sure this works for everyone.

edit: Found an even better solution (I think) to the problem, which I put as v0.10 in the OP
http://puu.sh/7rdF0.zip
« Last Edit: March 11, 2014, 02:36:35 AM by Viskar »

Offline Numakie

  • Magus Candidate
  • ****
  • Posts: 945
  • Magic Circuits: 19
  • Oh nooooz~~!
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #10 on: March 13, 2014, 09:20:09 AM »
Thought I'd post the recent tourney with Viskar's program. It work's real nice.
https://www.youtube.com/playlist?action_edit=1&list=PLBsbj_QbyY-EKJgpXolTqh6KT4MFKkfE8
~~Playing the wrong way... and somehow getting away with it.~~
<Pfhor>: no, I only have nightmares about your play numakie
<Pfhor>: because it makes no fucking sense
<Pfhor>: like WHY IS THIS HISUI DOING THESE THINGS

Offline Erkz

  • Spellcaster
  • ***
  • Posts: 241
  • Magic Circuits: 127
  • ▄█ ' M ▒░
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #11 on: March 13, 2014, 03:46:39 PM »
That's a pretty sweet program, Viskar.

+Heat.
"That's fine. That too is our way of the 'Night Sword'. Advancing even over mountains and rivers of corpses."

Offline WanteD

  • Jr. Spellcaster
  • **
  • Posts: 44
  • Magic Circuits: 2
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #12 on: March 18, 2014, 10:49:36 PM »
This makes our life so much easier at rebelups

Offline HunTaire

  • Apprentice
  • *
  • Posts: 10
  • Magic Circuits: 1
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #13 on: May 27, 2014, 03:05:55 PM »
Is there any chance for keyboard support for this launcher? it's pretty awesome, but it's unusable if you want to play with/against keyboards.

Offline Martee Blood

  • Spellcaster
  • ***
  • Posts: 129
  • Magic Circuits: 3
  • Martee Blood
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #14 on: May 30, 2014, 08:22:20 AM »
Yeah, I stopped playing stick so it'd be nice if this program could set up keys for us.
I've fucked all the waifus.

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #15 on: June 02, 2014, 02:34:54 AM »
Which keyboard configs are people using? Mauve's mbaacctool? Or MBAACC Keyboard Config?

To implement keyboard config in MeltyLauncher I either need to run the 3rd-party tool behind my UI, or re-implement what they are doing to achieve keyboard config (which I believe is overwriting parts of the MBAA.exe file). I think I may be able to accomplish this if I can work out some of the details.

Also (from what I've seen from other tools), even if you have two keyboards, the button mappings cannot overlap. Has anyone gotten around this limitation? I imagine it would suck when two keyboard players are against each other and they can't use their preferred controls.

Offline HunTaire

  • Apprentice
  • *
  • Posts: 10
  • Magic Circuits: 1
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #16 on: June 06, 2014, 05:28:09 PM »
Mostly MBAACC Keyboard Config, but we also use mbaacctool as a backup when MBAACC Keyboard Config decides not to run on some pc's.

And yes, I never found a solution to the keyboards overlapping, I even heard from developers that it's really hard to bypass this crap on Windows.  :mystery:

Whenever 2 keyboard players have to face each other, the players have to agree on a mutual config or either both go back to default config. Luckily, here's a good amount of keyboard players using identical configurations, resulting in less of a hassle when playing at meetings.

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #17 on: July 04, 2014, 11:35:27 PM »
Damn that's pretty weird/unfortunate. It's written in Auto-It which is just a generic windows scripting utility that can compile to .exe for easy distribution. I guess I'm not surprised that it might be picked up as some blanket thing. I scanned with Security Essentials / Malwarebytes and wasn't getting any false positives.

If anyone wants to see the source code I don't mind providing it as well. I just haven't setup a public repo for it but figure I could at some point.

edit: Also, I think I'm going to try and squeeze out one more release before EVO to address a couple edge case things. If I'll do, I'll also bring a USB stick in case people haven't updated (though the current version is pretty much OK too).
« Last Edit: July 04, 2014, 11:39:51 PM by Viskar »

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #18 on: July 10, 2014, 04:49:44 AM »
Well I stayed up way too late the night before the EVO trip to get the next version out, but the OP is updated with the new build.

I will be at EVO and at the MBAACC side tourney, so I'm going to bring this on a USB stick since most people probably won't have a chance to download it.

edit: There was a bug in the released version, new one is uploaded (0.11.1)
« Last Edit: July 10, 2014, 10:45:46 AM by Viskar »

Offline HunTaire

  • Apprentice
  • *
  • Posts: 10
  • Magic Circuits: 1
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #19 on: July 12, 2014, 07:35:36 PM »
The allow keyboard function is not working, even tough it says its On. Maybe this can help you, but whenever I launch the game with MeltyLauncher and allow the keyboard, then I quit and go to the original launcher, the keyboard is turned off even tough I didnt mark it.

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #20 on: July 13, 2014, 06:21:41 PM »
Welp, I am an idiot and forgot to uncomment the code that makes it work. It was turned off briefly when I was isolating an unrelated bug and I forgot to re-enable it. Updating OP with 0.11.2 in a sec.

Offline HunTaire

  • Apprentice
  • *
  • Posts: 10
  • Magic Circuits: 1
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #21 on: July 13, 2014, 10:05:44 PM »
It works! Thank you very much Viskar, I really appreciate the work you put into this. Next month I will be fully using it at an event.

Just one minor suggestion, now that keyboards are a go, could you make so that the connected controller chooses side? this is so that the keyboard user isn't forced to leave P1 side, I know one can connect 2 different controllers to solve this but I can see that becoming cluncky on some point. Still, it's just a minor gripe, I can live this way  :blah: .

Offline Viskar

  • Jr. Spellcaster
  • **
  • Posts: 30
  • Magic Circuits: 15
    • View Profile
Re: MeltyLauncher - MBAACC button configurer and launcher
« Reply #22 on: July 14, 2014, 01:08:41 AM »
edit: changed my idea a bit.

Yeah after thinking about it, I think I'll add in a hotkey so if you press [Tab] it will swap what sides P1 and P2 are in.  So it would ask (P2) to press start first, or if the player(s) already have keys mapped, everything will swap sides. Might also be useful when steamers/TOs already setup the P1/P2 names and you want to switch chairs.

I'll have to clean up a few things to make it work, but seems like it would make things simple.
« Last Edit: July 14, 2014, 01:19:38 AM by Viskar »