From 675d6d395a086817d4dcdb8a3e0099618ec6b250 Mon Sep 17 00:00:00 2001 From: zicodxx <> Date: Sun, 21 Feb 2010 01:25:27 +0000 Subject: [PATCH] Overhaul for CONTROLS menu; Cleaned kconfig-code a little and slacked out keymap arrays --- CHANGELOG.txt | 4 ++ main/kconfig.c | 175 +++++++++++------------------------------------- main/kconfig.h | 32 ++------- main/menu.c | 105 ++++++++++++----------------- main/playsave.c | 52 +++++++------- main/playsave.h | 2 +- main/text.h | 2 - 7 files changed, 119 insertions(+), 253 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index f24a63082..9fc4e51fc 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ D1X-Rebirth Changelog +20100221 +-------- +main/kconfig.c, main/kconfig.h, main/menu.c, main/playsave.c, main/playsave.h, main/text.h: Overhaul for CONTROLS menu; Cleaned kconfig-code a little and slacked out keymap arrays + 20100219 -------- main/gauges.c, main/text.c, main/weapon.c: The little light bulb showing homing warning in Cockpit was broken and I replaced it; Rewritten code to show weapon text in Cockpit and Statusbar slightly; Instead of using hardcoded weapon strings, use from descent.txb and fixed too long spreadfire string properly diff --git a/main/kconfig.c b/main/kconfig.c index f632078a1..482dede15 100644 --- a/main/kconfig.c +++ b/main/kconfig.c @@ -85,9 +85,6 @@ fix Cruise_speed=0; #define BT_JOY_AXIS 4 #define BT_INVERT 5 -#define CONTROL_USING_JOYSTICK (PlayerCfg.ControlType == CONTROL_JOYSTICK || PlayerCfg.ControlType == CONTROL_JOYMOUSE) -#define CONTROL_USING_MOUSE (PlayerCfg.ControlType == CONTROL_MOUSE || PlayerCfg.ControlType == CONTROL_JOYMOUSE) - char *btype_text[] = { "BT_KEY", "BT_MOUSE_BUTTON", "BT_MOUSE_AXIS", "BT_JOY_BUTTON", "BT_JOY_AXIS", "BT_INVERT" }; #define INFO_Y (188) @@ -121,20 +118,10 @@ typedef struct kc_menu #endif } kc_menu; -//----------- WARNING!!!!!!! ------------------------------------------- -// THESE NEXT FOUR BLOCKS OF DATA ARE GENERATED BY PRESSING DEL+F12 WHEN -// IN THE KEYBOARD CONFIG SCREEN. BASICALLY, THAT PROCEDURE MODIFIES THE -// U,D,L,R FIELDS OF THE ARRAYS AND DUMPS THE NEW ARRAYS INTO KCONFIG.COD -//------------------------------------------------------------------------- - -ubyte DefaultKeySettings[CONTROL_MAX_TYPES][MAX_CONTROLS] = { -{0xc8,0x48,0xd0,0x50,0xcb,0x4b,0xcd,0x4d,0x38,0xff,0xff,0x4f,0xff,0x51,0xff,0x4a,0xff,0x4e,0xff,0xff,0x10,0x47,0x12,0x49,0x1d,0x9d,0x39,0xff,0x21,0xff,0x1e,0xff,0x15,0xff,0x30,0xff,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}, -{0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}, -{0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0xff,0x2,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}, -{0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}, -{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}, -{0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}, -{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}, +ubyte DefaultKeySettings[3][MAX_CONTROLS] = { +{0xc8,0x48,0xd0,0x50,0xcb,0x4b,0xcd,0x4d,0x38,0xff,0xff,0x4f,0xff,0x51,0xff,0x4a,0xff,0x4e,0xff,0xff,0x10,0x47,0x12,0x49,0x1d,0x9d,0x39,0xff,0x21,0xff,0x1e,0xff,0x15,0xff,0x30,0xff,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0x0,0x0,0x0,0x0}, +{0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0}, +{0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}, }; ubyte DefaultKeySettingsD1X[MAX_D1X_CONTROLS] = { @@ -305,62 +292,6 @@ void kc_change_joyaxis( kc_menu *menu, kc_item * item ); void kc_change_mouseaxis( kc_menu *menu, kc_item * item ); void kc_change_invert( kc_menu *menu, kc_item * item ); -int isJoyRotationKey(int test_key) -{ - if (test_key == kc_joystick[11].value || - test_key == kc_joystick[12].value) - { - return 1; - }// end if - - // else... - return 0; -} - -int isMouseRotationKey(int test_key) -{ - if (test_key == kc_mouse[11].value || - test_key == kc_mouse[12].value) - { - return 1; - }// end if - - // else... - return 0; -} - -int isKeyboardRotationKey(int test_key) -{ - if (test_key == kc_keyboard[0].value || - test_key == kc_keyboard[1].value || - test_key == kc_keyboard[2].value || - test_key == kc_keyboard[3].value || - test_key == kc_keyboard[4].value || - test_key == kc_keyboard[5].value || - test_key == kc_keyboard[6].value || - test_key == kc_keyboard[7].value || - test_key == kc_keyboard[20].value || - test_key == kc_keyboard[21].value || - test_key == kc_keyboard[22].value || - test_key == kc_keyboard[23].value) - { - return 1; - }// end if - - // else... - return 0; -} - -int kconfig_is_axes_used(int axis) -{ - int i; - for (i=0; iitems==kc_keyboard ) - { for (i=0; iitems[i].value=DefaultKeySettings[0][i]; - } - } - else if ( menu->items==kc_d1x ) - { - for(i=0;iitems[i].value=DefaultKeySettingsD1X[i]; - } - } - else if ( menu->items==kc_mouse ) - { - for (i=0; iitems[i].value = DefaultKeySettings[PlayerCfg.ControlType][i]; - } - } - else - { + + if ( menu->items==kc_joystick ) for (i=0; iitems[i].value = DefaultKeySettings[PlayerCfg.ControlType][i]; - } - } + menu->items[i].value = DefaultKeySettings[1][i]; + + if ( menu->items==kc_mouse ) + for (i=0; iitems[i].value = DefaultKeySettings[2][i]; + + if ( menu->items==kc_d1x ) + for(i=0;iitems[i].value=DefaultKeySettingsD1X[i]; break; case KEY_DELETE: menu->items[menu->citem].value=255; @@ -799,8 +717,8 @@ int kconfig_idle(window *wind, d_event *event, kc_menu *menu) } fp = fopen( "kconfig.cod", "wt" ); - fprintf( fp, "ubyte DefaultKeySettings[CONTROL_MAX_TYPES][MAX_CONTROLS] = {\n" ); - for (i=0; i