diff options
Diffstat (limited to 'src/m_config.c')
-rw-r--r-- | src/m_config.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/m_config.c b/src/m_config.c index cb7d449c..a0f97dc2 100644 --- a/src/m_config.c +++ b/src/m_config.c @@ -1204,8 +1204,18 @@ static void SaveDefaultCollection(default_collection_t *collection) v = * (int *) defaults[i].location; - if (defaults[i].untranslated - && v == defaults[i].original_translated) + if (v == KEY_RSHIFT) + { + // Special case: for shift, force scan code for + // right shift, as this is what Vanilla uses. + // This overrides the change check below, to fix + // configuration files made by old versions that + // mistakenly used the scan code for left shift. + + v = 54; + } + else if (defaults[i].untranslated + && v == defaults[i].original_translated) { // Has not been changed since the last time we // read the config file. @@ -1423,9 +1433,9 @@ void M_LoadDefaults (void) // configuration file (for Doom) is named default.cfg. // - i = M_CheckParm ("-config"); + i = M_CheckParmWithArgs("-config", 1); - if (i && i<myargc-1) + if (i) { doom_defaults.filename = myargv[i+1]; printf (" default file: %s\n",doom_defaults.filename); @@ -1446,9 +1456,9 @@ void M_LoadDefaults (void) // configuration file for Doom is named chocolate-doom.cfg. // - i = M_CheckParm("-extraconfig"); + i = M_CheckParmWithArgs("-extraconfig", 1); - if (i && i<myargc-1) + if (i) { extra_defaults.filename = myargv[i+1]; printf(" extra configuration file: %s\n", |