(PS3) Input changes

This commit is contained in:
TwinAphex51224 2012-03-05 21:23:19 +01:00
parent 4bd53c0b96
commit 7e1e293547
4 changed files with 72 additions and 84 deletions

View File

@ -21,16 +21,16 @@
uint64_t default_keybind_lut[SSNES_FIRST_META_KEY];
const char *default_libsnes_keybind_name_lut[SSNES_FIRST_META_KEY] = {
"Button B", // SNES_DEVICE_ID_JOYPAD_B
"Button Y", // SNES_DEVICE_ID_JOYPAD_Y
"B Button", // SNES_DEVICE_ID_JOYPAD_B
"Y Button", // SNES_DEVICE_ID_JOYPAD_Y
"Select button", // SNES_DEVICE_ID_JOYPAD_SELECT
"Start button", // SNES_DEVICE_ID_JOYPAD_START
"D-Pad Up", // SNES_DEVICE_ID_JOYPAD_UP
"D-Pad Down", // SNES_DEVICE_ID_JOYPAD_DOWN
"D-Pad Left", // SNES_DEVICE_ID_JOYPAD_LEFT
"D-Pad Right", // SNES_DEVICE_ID_JOYPAD_RIGHT
"Button A", // SNES_DEVICE_ID_JOYPAD_A
"Button X", // SNES_DEVICE_ID_JOYPAD_X
"A Button", // SNES_DEVICE_ID_JOYPAD_A
"X Button", // SNES_DEVICE_ID_JOYPAD_X
"L Button", // SNES_DEVICE_ID_JOYPAD_L
"R Button", // SNES_DEVICE_ID_JOYPAD_R
};

View File

@ -558,8 +558,8 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.83f,
},
{
SETTING_CONTROLS_BUTTON_CROSS,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_CROSS],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_B,
"B Button",
"",
0.0f,
0.0f,
@ -569,11 +569,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_B
},
{
SETTING_CONTROLS_BUTTON_SQUARE,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_SQUARE],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_Y,
"Y Button",
"",
0.0f,
0.0f,
@ -583,11 +582,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_Y
},
{
SETTING_CONTROLS_BUTTON_SELECT,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_SELECT],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_SELECT,
"Select button",
"",
0.0f,
0.0f,
@ -597,11 +595,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_SELECT
},
{
SETTING_CONTROLS_BUTTON_START,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_START],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_START,
"Start button",
"",
0.0f,
0.0f,
@ -611,11 +608,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_START
},
{
SETTING_CONTROLS_DPAD_UP,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_UP],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_UP,
"D-Pad Up",
"",
0.0f,
0.0f,
@ -625,11 +621,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_UP
},
{
SETTING_CONTROLS_DPAD_DOWN,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_DOWN],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_DOWN,
"D-Pad Down",
"",
0.0f,
0.0f,
@ -639,11 +634,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_DOWN
},
{
SETTING_CONTROLS_DPAD_LEFT,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_LEFT],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_LEFT,
"D-Pad Left",
"",
0.0f,
0.0f,
@ -653,11 +647,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_LEFT
},
{
SETTING_CONTROLS_DPAD_RIGHT,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_RIGHT],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_RIGHT,
"D-Pad Right",
"",
0.0f,
0.0f,
@ -667,11 +660,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_RIGHT
},
{
SETTING_CONTROLS_BUTTON_CIRCLE,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_CIRCLE],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_A,
"A Button",
"",
0.0f,
0.0f,
@ -681,11 +673,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_A
},
{
SETTING_CONTROLS_BUTTON_TRIANGLE,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_TRIANGLE],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_X,
"X Button",
"",
0.0f,
0.0f,
@ -695,11 +686,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_X
},
{
SETTING_CONTROLS_BUTTON_L1,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_L1],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_L,
"L Button",
"",
0.0f,
0.0f,
@ -709,11 +699,10 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_L
},
{
SETTING_CONTROLS_BUTTON_R1,
platform_keybind_name_lut[PS3_DEVICE_ID_JOYPAD_R1],
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_R,
"R Button",
"",
0.0f,
0.0f,
@ -723,7 +712,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_R
},
{
SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS,

View File

@ -726,24 +726,24 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
snprintf(menu_obj->items[currentsetting].comment, sizeof(menu_obj->items[currentsetting].comment), "Controller %d is currently selected.", currently_selected_controller_menu+1);
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), "%d", currently_selected_controller_menu+1);
break;
case SETTING_CONTROLS_DPAD_UP:
case SETTING_CONTROLS_DPAD_DOWN:
case SETTING_CONTROLS_DPAD_LEFT:
case SETTING_CONTROLS_DPAD_RIGHT:
case SETTING_CONTROLS_BUTTON_CIRCLE:
case SETTING_CONTROLS_BUTTON_CROSS:
case SETTING_CONTROLS_BUTTON_TRIANGLE:
case SETTING_CONTROLS_BUTTON_SQUARE:
case SETTING_CONTROLS_BUTTON_SELECT:
case SETTING_CONTROLS_BUTTON_START:
case SETTING_CONTROLS_BUTTON_L1:
case SETTING_CONTROLS_BUTTON_R1:
if(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey == default_keybind_lut[currentsetting-FIRST_CONTROL_BIND])
menu_obj->items[currentsetting].text_color = GREEN;
else
menu_obj->items[currentsetting].text_color = ORANGE;
snprintf(menu_obj->items[currentsetting].comment, sizeof(menu_obj->items[currentsetting].comment), "INFO - [%s] on the PS3 controller is mapped to action:\n[%s].", menu_obj->items[currentsetting].text, default_libsnes_keybind_name_lut[g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].id]);
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), default_libsnes_keybind_name_lut[g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].id]);
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_B:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_Y:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_SELECT:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_START:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_UP:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_DOWN:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_LEFT:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_RIGHT:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_A:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_X:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_L:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_R:
if(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey == default_keybind_lut[currentsetting-FIRST_CONTROL_BIND])
menu_obj->items[currentsetting].text_color = GREEN;
else
menu_obj->items[currentsetting].text_color = ORANGE;
snprintf(menu_obj->items[currentsetting].comment, sizeof(menu_obj->items[currentsetting].comment), "INFO - [%s] on the PS3 controller is mapped to action:\n[%s].", menu_obj->items[currentsetting].text, default_libsnes_keybind_name_lut[g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].id]);
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), default_libsnes_keybind_name_lut[g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].id]);
break;
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
if(menu_obj->selected == currentsetting)
@ -1768,40 +1768,40 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
if(CTRL_START(state))
currently_selected_controller_menu = 0;
break;
case SETTING_CONTROLS_DPAD_UP:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_UP:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_UP], SNES_DEVICE_ID_JOYPAD_UP);
break;
case SETTING_CONTROLS_DPAD_DOWN:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_DOWN:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_DOWN], SNES_DEVICE_ID_JOYPAD_DOWN);
break;
case SETTING_CONTROLS_DPAD_LEFT:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_LEFT:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_LEFT], SNES_DEVICE_ID_JOYPAD_LEFT);
break;
case SETTING_CONTROLS_DPAD_RIGHT:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_RIGHT:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_RIGHT], SNES_DEVICE_ID_JOYPAD_RIGHT);
break;
case SETTING_CONTROLS_BUTTON_CIRCLE:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_A:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_CIRCLE], SNES_DEVICE_ID_JOYPAD_A);
break;
case SETTING_CONTROLS_BUTTON_CROSS:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_B:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_CROSS], SNES_DEVICE_ID_JOYPAD_B);
break;
case SETTING_CONTROLS_BUTTON_TRIANGLE:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_X:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_TRIANGLE], SNES_DEVICE_ID_JOYPAD_X);
break;
case SETTING_CONTROLS_BUTTON_SQUARE:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_Y:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_SQUARE], SNES_DEVICE_ID_JOYPAD_Y);
break;
case SETTING_CONTROLS_BUTTON_SELECT:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_SELECT:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_SELECT], SNES_DEVICE_ID_JOYPAD_SELECT);
break;
case SETTING_CONTROLS_BUTTON_START:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_START:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_START], SNES_DEVICE_ID_JOYPAD_START);
break;
case SETTING_CONTROLS_BUTTON_L1:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_L:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_L1], SNES_DEVICE_ID_JOYPAD_L);
break;
case SETTING_CONTROLS_BUTTON_R1:
case SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_R:
set_keybind_digital(state, platform_keybind_lut[PS3_DEVICE_ID_JOYPAD_R1], SNES_DEVICE_ID_JOYPAD_R);
break;
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:

View File

@ -22,7 +22,7 @@
typedef struct
{
uint32_t enum_id; /* enum ID of item */
const char * text; /* item label */
char text[256]; /* item label */
char setting_text[256]; /* setting label */
float text_xpos; /* text X position (upper left corner) */
float text_ypos; /* text Y position (upper left corner) */
@ -113,18 +113,18 @@ enum
SETTING_PATH_DEFAULT_ALL,
SETTING_CONTROLS_SCHEME,
SETTING_CONTROLS_NUMBER,
SETTING_CONTROLS_BUTTON_CROSS,
SETTING_CONTROLS_BUTTON_SQUARE,
SETTING_CONTROLS_BUTTON_SELECT,
SETTING_CONTROLS_BUTTON_START,
SETTING_CONTROLS_DPAD_UP,
SETTING_CONTROLS_DPAD_DOWN,
SETTING_CONTROLS_DPAD_LEFT,
SETTING_CONTROLS_DPAD_RIGHT,
SETTING_CONTROLS_BUTTON_CIRCLE,
SETTING_CONTROLS_BUTTON_TRIANGLE,
SETTING_CONTROLS_BUTTON_L1,
SETTING_CONTROLS_BUTTON_R1,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_B,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_Y,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_SELECT,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_START,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_UP,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_DOWN,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_LEFT,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_RIGHT,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_A,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_X,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_L,
SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_R,
SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS,
SETTING_CONTROLS_DEFAULT_ALL
};
@ -136,7 +136,7 @@ enum
#define FIRST_EMU_AUDIO_SETTING SETTING_EMU_VIDEO_DEFAULT_ALL+1
#define FIRST_PATH_SETTING SETTING_EMU_AUDIO_DEFAULT_ALL+1
#define FIRST_CONTROLS_SETTING_PAGE_1 SETTING_PATH_DEFAULT_ALL+1
#define FIRST_CONTROL_BIND SETTING_CONTROLS_BUTTON_CROSS
#define FIRST_CONTROL_BIND SETTING_CONTROLS_SNES_DEVICE_ID_JOYPAD_B
#define MAX_NO_OF_VIDEO_SETTINGS SETTING_DEFAULT_VIDEO_ALL+1
#define MAX_NO_OF_AUDIO_SETTINGS SETTING_DEFAULT_AUDIO_ALL+1