mamedev / mame

MAME
https://www.mamedev.org/
Other
8.3k stars 2.02k forks source link

Input macros plugin conflict with steadykey #8755

Closed cd4053 closed 3 years ago

cd4053 commented 3 years ago

Mame: 0.236 (mame0236-311-g60706c1e933) OS: Windows 10 Command: mame -norc -rompath H:\roms -plugins -plugin inputmacro -window -steadykey sf2

When -steadykey it's enabled, Activation sequence doesn't accept any keyboard input, just joystick.

It also output this on the terminal:

Illegal double vector value = 0.0,0.0
Illegal triple vector value = 0.0,0.0,0.0
Illegal triple vector value = 0.0,0.0,0.0
Illegal triple vector value = 0.0,0.0,0.0
Illegal triple vector value = 0.0,0.0,0.0
Illegal triple vector value = 1.0,0.0,0.0
Illegal triple vector value = 0.0,1.0,0.0
Illegal triple vector value = 0.0,0.0,1.0
Illegal triple vector value = 0.0,0.0,0.0
Illegal triple vector value = 1.0,1.0,1.0
Illegal triple vector value = 1.0,1.0,1.0
Illegal triple vector value = 0.0,0.0,0.0
Illegal triple vector value = 0.0,0.0,0.0
Illegal double vector value = 0.64,0.33
Illegal double vector value = 0.30,0.60
Illegal double vector value = 0.15,0.06
Illegal triple vector value = 0.299,0.587,0.114
Illegal triple vector value = 0.2126,0.7152,0.0722
Illegal triple vector value = 1.0,1.0,1.0
happppp commented 3 years ago

The error outputs, same problem as the one mentioned here? https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=107153&page=3

cd4053 commented 3 years ago

Probably yes, however the locales are set on my Windows.

systeminfo | findstr ;
System locale:                     en-us;English (United States)
Input locale:                        en-us;English (United States)
happppp commented 3 years ago

On my Windows 10 PC, I can repro the error output like so: Settings->Language->Administrative language settings->Formats->Additional Settings In there, change decimal symbol from "." to something weird like "Q".

cd4053 commented 3 years ago

My Additional Settings it's all default.

cuavas commented 3 years ago

So something is locale-sensitive that shouldn’t be – can you tell whether this error message is coming from the C++ or Lua code? The autofire and cheat plugins also don’t allow hotkeys to be set when steadykey is on.

cuavas commented 3 years ago

On Windows I’m not seeing the error messages. Did you do anything special to get the error output?

cd4053 commented 3 years ago

I move the mame binary to an empty folder (among language and plugins folder), that's it.

cd4053 commented 3 years ago

can you tell whether this error message is coming from the C++ or Lua code?

Sorry, I don't know. It happens when I turn on the inputmacro plugin.

The autofire and cheat plugins also don’t allow hotkeys to be set when steadykey is on.

We need to share that info in the documentation. ;)

cuavas commented 3 years ago

I’m confused now – the behaviour is definitely reproducible, but I can’t immediately see how it happens:

This needs further investigation.

cuavas commented 3 years ago

The error messages are unrelated to the issue with Lua plugins and steadykey, see 11f7c24c2eabbcb08e422e9ca0947b9848a9d484

cd4053 commented 3 years ago

Thanks!

cuavas commented 3 years ago

I’ve identified the issue and fixed it locally. I’m going to get a few more things ready before pushing an update.

cd4053 commented 3 years ago

Thank you cuavas.

cuavas commented 3 years ago

Fixed in d64ea5331b2312f81df464fb22dcef0191216d86 – you will need to update both the MAME binary and the plugins.