From 04fdf83298fc17e030c3d0c29a060f6d247d3112 Mon Sep 17 00:00:00 2001 From: Kp Date: Tue, 26 Nov 2013 00:34:27 +0000 Subject: [PATCH] Use helper to copy default key settings --- similar/main/kconfig.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/similar/main/kconfig.cpp b/similar/main/kconfig.cpp index 9c1295d08..a80d8930f 100644 --- a/similar/main/kconfig.cpp +++ b/similar/main/kconfig.cpp @@ -852,6 +852,13 @@ static int kconfig_mouse(window *wind, d_event *event, kc_menu *menu) return rval; } +template +static void reset_mitem_values(kc_mitem (&m)[M], const ubyte (&c)[C]) +{ + for (unsigned i=0; i < min(lengthof(m), lengthof(c)); i++) + m[i].value = c[i]; +} + static int kconfig_key_command(window *wind, d_event *event, kc_menu *menu) { int k; @@ -869,19 +876,15 @@ static int kconfig_key_command(window *wind, d_event *event, kc_menu *menu) return 1; case KEY_CTRLED+KEY_R: if ( menu->items==kc_keyboard ) - for (unsigned i=0; i < lengthof(kc_keyboard); i++ ) - menu->mitems[i].value=DefaultKeySettings[0][i]; + reset_mitem_values(kcm_keyboard, DefaultKeySettings[0]); if ( menu->items==kc_joystick ) - for (unsigned i=0; i < lengthof(kc_joystick); i++) - menu->mitems[i].value = DefaultKeySettings[1][i]; + reset_mitem_values(kcm_joystick, DefaultKeySettings[1]); if ( menu->items==kc_mouse ) - for (unsigned i=0; i < lengthof(kc_mouse); i++) - menu->mitems[i].value = DefaultKeySettings[2][i]; + reset_mitem_values(kcm_mouse, DefaultKeySettings[2]); if ( menu->items==kc_rebirth ) - for(unsigned i=0;i < lengthof(kc_rebirth); i++) - menu->mitems[i].value=DefaultKeySettingsRebirth[i]; + reset_mitem_values(kcm_rebirth, DefaultKeySettingsRebirth); return 1; case KEY_DELETE: menu->mitems[menu->citem].value=255;