Doing a
/bind action_fade num_+ results in an "Invalid key combination" error message. However, this is a valid keycode name that I believe is used internally by the client. There are 2 ways to fix this, one is to make this somewhat ugly change to
MQ2Main/MQ2Utilities.cpp:ParseKeyCombo at roughly line
2183
Code: Select all
for (unsigned long i=0 ; gDiKeyID[i].Id ; i++)
{
[color=red]if ((!stricmp(text,gDiKeyID[i].szName))||(!stricmp(text,"num_")&&!stricmp("num_+",gDiKeyID[i].szName)))[/color]
{
Ret.Data[3]=(char)gDiKeyID[i].Id;
break;
}
}
Which has the potentially disconcerting side effect of allowing a mistype of
num_ to be mistaken as
num_+. The other fix is to disallow the
+ as a valid token delimiter which would in turn invalidate any configs with key combinations using
+ as a delimiter. (example: configs generated by
/dumpbinds). To avoid the side-effect in the first solution I suppose one could write an ugly special condition check (before the input string is tokenized) for any substrings matching
num_+ that do not have a corresponding substring match of
num_++ at the very same index, ugh.
Well, I'll leave this to you Lax (or whomever).