Thanks so much, it works almost perfectly in wineconsole. The caster crashes when all of the keybindings for a player are filled (a minor issue since you'll be releasing the source soon).
I did run into a bigger issue, though. I got a "ShellExecuteEx failed" error when starting the game, so I tried running with WINEDEBUG=+exec and:
trace:exec:SHELL_execute mask=0x00008500 hwnd=(nil) verb=L"open" file=L"" parm=L" /HIGH MBAA.exe" dir=(null) show=0x00000001 class=not used
As you can see, "file" is completely empty.
With a hex editor I changed the string
start "" /HIGH MBAA.exe
to
start ""MBAA.exe
and the game started up just fine (winedebug output showed that file was "MBAA.exe"). I have no idea what's causing that bug. (It happened for both high/low priority modes.)
An even bigger problem presents itself after the game starts: controls don't work. Even with a non-full keybinding list for each player, keyboard input does absolutely nothing. The same goes for single-player training mode. The automated keypresses work perfectly fine, though. I'm not sure if this is caused by the lack of starting via "start" or not
Thanks for taking the time to code this and taking the time to support multiple platforms!