Clear all control keys before loading defaults in LoadConfig

This commit is contained in:
mazmazz 2018-12-23 14:51:58 -05:00
parent 71da6836c0
commit f55623ef9c
3 changed files with 12 additions and 0 deletions

View file

@ -1010,6 +1010,16 @@ void G_ClearControlKeys(INT32 (*setupcontrols)[2], INT32 control)
setupcontrols[control][1] = KEY_NULL; setupcontrols[control][1] = KEY_NULL;
} }
void G_ClearAllControlKeys(void)
{
INT32 i;
for (i = 0; i < num_gamecontrols; i++)
{
G_ClearControlKeys(gamecontrol, i);
G_ClearControlKeys(gamecontrolbis, i);
}
}
// //
// Returns the name of a key (or virtual key for mouse and joy) // Returns the name of a key (or virtual key for mouse and joy)
// the input value being an keynum // the input value being an keynum

View file

@ -160,6 +160,7 @@ INT32 G_KeyStringtoNum(const char *keystr);
// detach any keys associated to the given game control // detach any keys associated to the given game control
void G_ClearControlKeys(INT32 (*setupcontrols)[2], INT32 control); void G_ClearControlKeys(INT32 (*setupcontrols)[2], INT32 control);
void G_ClearAllControlKeys(void);
void Command_Setcontrol_f(void); void Command_Setcontrol_f(void);
void Command_Setcontrol2_f(void); void Command_Setcontrol2_f(void);
void G_Controldefault(void); void G_Controldefault(void);

View file

@ -443,6 +443,7 @@ void Command_LoadConfig_f(void)
FIL_ForceExtension(configfile, ".cfg"); FIL_ForceExtension(configfile, ".cfg");
// load default control // load default control
G_ClearAllControlKeys();
G_Controldefault(); G_Controldefault();
// temporarily reset execversion to default // temporarily reset execversion to default