From 71da6836c04ca496057d6d8c876e151f1fcce1aa Mon Sep 17 00:00:00 2001 From: mazmazz Date: Thu, 20 Dec 2018 10:13:43 -0500 Subject: [PATCH 1/2] Reset default controls for LOADCONFIG command --- src/m_misc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/m_misc.c b/src/m_misc.c index 1ab5f1fe3..01b468bd3 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -442,6 +442,9 @@ void Command_LoadConfig_f(void) strcpy(configfile, COM_Argv(1)); FIL_ForceExtension(configfile, ".cfg"); + // load default control + G_Controldefault(); + // temporarily reset execversion to default cv_execversion.flags &= ~CV_HIDEN; COM_BufInsertText(va("%s \"%s\"\n", cv_execversion.name, cv_execversion.defaultvalue)); From f55623ef9c78b1b5232cc6d1beef0278a4fc885c Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 23 Dec 2018 14:51:58 -0500 Subject: [PATCH 2/2] Clear all control keys before loading defaults in LoadConfig --- src/g_input.c | 10 ++++++++++ src/g_input.h | 1 + src/m_misc.c | 1 + 3 files changed, 12 insertions(+) diff --git a/src/g_input.c b/src/g_input.c index 44d9f2b28..579a048e3 100644 --- a/src/g_input.c +++ b/src/g_input.c @@ -1010,6 +1010,16 @@ void G_ClearControlKeys(INT32 (*setupcontrols)[2], INT32 control) 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) // the input value being an keynum diff --git a/src/g_input.h b/src/g_input.h index 557fb3bf3..102809f7f 100644 --- a/src/g_input.h +++ b/src/g_input.h @@ -160,6 +160,7 @@ INT32 G_KeyStringtoNum(const char *keystr); // detach any keys associated to the given game control void G_ClearControlKeys(INT32 (*setupcontrols)[2], INT32 control); +void G_ClearAllControlKeys(void); void Command_Setcontrol_f(void); void Command_Setcontrol2_f(void); void G_Controldefault(void); diff --git a/src/m_misc.c b/src/m_misc.c index 01b468bd3..198bc7487 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -443,6 +443,7 @@ void Command_LoadConfig_f(void) FIL_ForceExtension(configfile, ".cfg"); // load default control + G_ClearAllControlKeys(); G_Controldefault(); // temporarily reset execversion to default