mirror of
https://github.com/libretro/RetroArch
synced 2025-03-23 01:21:47 +00:00
(PS3) Initial joypad button rebinding through menu
This commit is contained in:
parent
59dbc4727b
commit
6c64a024eb
@ -31,6 +31,8 @@ extern "C" {
|
||||
#define SNES_DEVICE_ID_JOYPAD_L 10
|
||||
#define SNES_DEVICE_ID_JOYPAD_R 11
|
||||
|
||||
#define SNES_DEVICE_ID_MAX_JOYPAD_BUTTON (SNES_DEVICE_ID_JOYPAD_R)
|
||||
|
||||
#define SNES_DEVICE_ID_MOUSE_X 0
|
||||
#define SNES_DEVICE_ID_MOUSE_Y 1
|
||||
#define SNES_DEVICE_ID_MOUSE_LEFT 2
|
||||
|
@ -613,11 +613,6 @@ begin_shutdown:
|
||||
|
||||
if(g_console.return_to_launcher)
|
||||
{
|
||||
/* for multiman - need to refactor this
|
||||
sys_spu_initialize(6, 0);
|
||||
sys_game_process_exitspawn2((char*)MULTIMAN_EXECUTABLE, NULL, NULL, NULL, 0, 2048,
|
||||
SYS_PROCESS_PRIMARY_STACK_SIZE_1M);
|
||||
*/
|
||||
char spawn_data[256];
|
||||
for(unsigned int i = 0; i < sizeof(spawn_data); ++i)
|
||||
spawn_data[i] = i & 0xff;
|
||||
|
@ -527,6 +527,62 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
|
||||
0.09f,
|
||||
0.83f,
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_CROSS,
|
||||
"Cross button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_B
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_SQUARE,
|
||||
"Square button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_Y
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_SELECT,
|
||||
"Select button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_SELECT
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_START,
|
||||
"Start button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_START
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_DPAD_UP,
|
||||
"D-Pad Up",
|
||||
@ -597,20 +653,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_A
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_CROSS,
|
||||
"Cross button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_B
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_TRIANGLE,
|
||||
"Triangle button",
|
||||
@ -625,48 +667,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_X
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_SQUARE,
|
||||
"Square button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_Y
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_SELECT,
|
||||
"Select button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_SELECT
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_START,
|
||||
"Start button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_START
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L1,
|
||||
"L1 button",
|
||||
@ -695,288 +695,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
|
||||
0.83f,
|
||||
SNES_DEVICE_ID_JOYPAD_R
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L2,
|
||||
"L2 button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_R2,
|
||||
"R2 button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L3,
|
||||
"L3 button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_R3,
|
||||
"R3 button",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L2_BUTTON_L3,
|
||||
"Button combo: L2 & L3",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L2_BUTTON_R3,
|
||||
"Button combo: L2 & R3",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT,
|
||||
"Button combo: L2 & RStick Right",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_CHEAT_INDEX_PLUS
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT,
|
||||
"Button combo: L2 & RStick Left",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_CHEAT_INDEX_MINUS
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP,
|
||||
"Button combo: L2 & RStick Up",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_CHEAT_TOGGLE
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN,
|
||||
"Button combo: L2 & RStick Down",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_CHEAT_INPUT
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT,
|
||||
"Button combo: R2 & RStick Right",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_STATE_SLOT_PLUS
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT,
|
||||
"Button combo: R2 & RStick Left",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_STATE_SLOT_MINUS
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP,
|
||||
"Button combo: R2 & RStick Up",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_LOAD_STATE_KEY
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN,
|
||||
"Button combo: R2 & RStick Down",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_SAVE_STATE_KEY
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_R2_BUTTON_R3,
|
||||
"Button combo: R2 & R3",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_SRAM_WRITE_PROTECT
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_BUTTON_R3_BUTTON_L3,
|
||||
"Button combo: R3 & L3",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_ANALOG_R_UP,
|
||||
"Right Stick - Up",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_ANALOG_R_DOWN,
|
||||
"Right Stick - Down",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_FAST_FORWARD_KEY
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_ANALOG_R_LEFT,
|
||||
"Right Stick - Left",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0,
|
||||
1
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_ANALOG_R_RIGHT,
|
||||
"Right Stick - Right",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
SSNES_FAST_FORWARD_KEY,
|
||||
1
|
||||
},
|
||||
{
|
||||
SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS,
|
||||
"SAVE CUSTOM CONTROLS",
|
||||
|
166
ps3/menu.c
166
ps3/menu.c
@ -312,7 +312,7 @@ static void browser_update(filebrowser_t * b)
|
||||
if (CTRL_R2(state))
|
||||
{
|
||||
b->currently_selected = (MIN(b->currently_selected + 50, b->file_count-1));
|
||||
if(b->currently_selected < 0)
|
||||
if(!b->currently_selected)
|
||||
b->currently_selected = 0;
|
||||
set_delay = DELAY_SMALL;
|
||||
}
|
||||
@ -371,6 +371,38 @@ static void browser_render(filebrowser_t * b)
|
||||
cellDbgFontDraw();
|
||||
}
|
||||
|
||||
static uint32_t default_keybind_lut[] =
|
||||
{
|
||||
CTRL_CROSS_MASK, //SNES_DEVICE_ID_JOYPAD_B
|
||||
CTRL_SQUARE_MASK, //SNES_DEVICE_ID_JOYPAD_Y
|
||||
CTRL_SELECT_MASK, //SNES_DEVICE_ID_JOYPAD_SELECT
|
||||
CTRL_START_MASK, //SNES_DEVICE_ID_JOYPAD_START
|
||||
CTRL_UP_MASK, //SNES_DEVICE_ID_JOYPAD_UP
|
||||
CTRL_DOWN_MASK, //SNES_DEVICE_ID_JOYPAD_DOWN
|
||||
CTRL_LEFT_MASK, //SNES_DEVICE_ID_JOYPAD_LEFT
|
||||
CTRL_RIGHT_MASK, //SNES_DEVICE_ID_JOYPAD_RIGHT
|
||||
CTRL_CIRCLE_MASK, //SNES_DEVICE_ID_JOYPAD_A
|
||||
CTRL_TRIANGLE_MASK, //SNES_DEVICE_ID_JOYPAD_X
|
||||
CTRL_L1_MASK, //SNES_DEVICE_ID_JOYPAD_L
|
||||
CTRL_R1_MASK //SNES_DEVICE_ID_JOYPAD_R
|
||||
};
|
||||
|
||||
static const char * default_keybind_name_lut[] =
|
||||
{
|
||||
"Button B", //SNES_DEVICE_ID_JOYPAD_B
|
||||
"Button Y", //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
|
||||
"L Button", //SNES_DEVICE_ID_JOYPAD_L
|
||||
"R Button" //SNES_DEVICE_ID_JOYPAD_R
|
||||
};
|
||||
|
||||
static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
{
|
||||
switch(currentsetting)
|
||||
@ -654,6 +686,10 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
case SETTING_CONTROLS_SCHEME:
|
||||
break;
|
||||
case SETTING_CONTROLS_NUMBER:
|
||||
if(currently_selected_controller_menu == 0)
|
||||
menu_obj->items[currentsetting].text_color = GREEN;
|
||||
else
|
||||
menu_obj->items[currentsetting].text_color = ORANGE;
|
||||
break;
|
||||
case SETTING_CONTROLS_DPAD_UP:
|
||||
case SETTING_CONTROLS_DPAD_DOWN:
|
||||
@ -667,26 +703,12 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
case SETTING_CONTROLS_BUTTON_START:
|
||||
case SETTING_CONTROLS_BUTTON_L1:
|
||||
case SETTING_CONTROLS_BUTTON_R1:
|
||||
case SETTING_CONTROLS_BUTTON_L2:
|
||||
case SETTING_CONTROLS_BUTTON_R2:
|
||||
case SETTING_CONTROLS_BUTTON_L3:
|
||||
case SETTING_CONTROLS_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_BUTTON_L3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_BUTTON_R2_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_R3_BUTTON_L3:
|
||||
case SETTING_CONTROLS_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_ANALOG_R_RIGHT:
|
||||
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_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_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)
|
||||
@ -1007,6 +1029,49 @@ static void select_directory(uint32_t menu_id)
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void set_keybind_digital(uint64_t state, uint32_t system_joypad_id, uint32_t default_snes_joypad_id)
|
||||
{
|
||||
bool found_keybind = false;
|
||||
|
||||
if(CTRL_LEFT(state) | CTRL_LSTICK_LEFT(state))
|
||||
{
|
||||
for(uint32_t i = 0; i < SNES_DEVICE_ID_MAX_JOYPAD_BUTTON && !found_keybind; i++)
|
||||
{
|
||||
if(g_settings.input.binds[currently_selected_controller_menu][i].joykey == system_joypad_id)
|
||||
{
|
||||
found_keybind = true;
|
||||
|
||||
if(g_settings.input.binds[currently_selected_controller_menu][i].id > 0)
|
||||
g_settings.input.binds[currently_selected_controller_menu][i].id--;
|
||||
}
|
||||
}
|
||||
set_delay = DELAY_MEDIUM;
|
||||
}
|
||||
|
||||
if(CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state))
|
||||
{
|
||||
for(uint32_t i = 0; i < SNES_DEVICE_ID_MAX_JOYPAD_BUTTON && !found_keybind; i++)
|
||||
{
|
||||
if(g_settings.input.binds[currently_selected_controller_menu][i].joykey == system_joypad_id)
|
||||
{
|
||||
found_keybind = true;
|
||||
|
||||
if(g_settings.input.binds[currently_selected_controller_menu][i].id < SNES_DEVICE_ID_MAX_JOYPAD_BUTTON)
|
||||
g_settings.input.binds[currently_selected_controller_menu][i].id++;
|
||||
}
|
||||
}
|
||||
set_delay = DELAY_MEDIUM;
|
||||
}
|
||||
|
||||
if(CTRL_START(state))
|
||||
{
|
||||
g_settings.input.binds[currently_selected_controller_menu][default_snes_joypad_id].id = default_snes_joypad_id;
|
||||
g_settings.input.binds[currently_selected_controller_menu][default_snes_joypad_id].joykey = default_keybind_lut[default_snes_joypad_id];
|
||||
set_delay = DELAY_MEDIUM;
|
||||
}
|
||||
}
|
||||
|
||||
static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
{
|
||||
uint64_t state;
|
||||
@ -1480,39 +1545,58 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
case SETTING_CONTROLS_SCHEME:
|
||||
break;
|
||||
case SETTING_CONTROLS_NUMBER:
|
||||
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_CROSS(state))
|
||||
{
|
||||
if(currently_selected_controller_menu != 0)
|
||||
currently_selected_controller_menu--;
|
||||
set_delay = DELAY_MEDIUM;
|
||||
}
|
||||
|
||||
if(CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state))
|
||||
{
|
||||
if(currently_selected_controller_menu < 6)
|
||||
currently_selected_controller_menu++;
|
||||
set_delay = DELAY_MEDIUM;
|
||||
}
|
||||
|
||||
if(CTRL_START(state))
|
||||
currently_selected_controller_menu = 0;
|
||||
break;
|
||||
case SETTING_CONTROLS_DPAD_UP:
|
||||
set_keybind_digital(state, CTRL_UP_MASK, SNES_DEVICE_ID_JOYPAD_UP);
|
||||
break;
|
||||
case SETTING_CONTROLS_DPAD_DOWN:
|
||||
set_keybind_digital(state, CTRL_DOWN_MASK, SNES_DEVICE_ID_JOYPAD_DOWN);
|
||||
break;
|
||||
case SETTING_CONTROLS_DPAD_LEFT:
|
||||
set_keybind_digital(state, CTRL_LEFT_MASK, SNES_DEVICE_ID_JOYPAD_LEFT);
|
||||
break;
|
||||
case SETTING_CONTROLS_DPAD_RIGHT:
|
||||
set_keybind_digital(state, CTRL_RIGHT_MASK, SNES_DEVICE_ID_JOYPAD_RIGHT);
|
||||
break;
|
||||
case SETTING_CONTROLS_BUTTON_CIRCLE:
|
||||
set_keybind_digital(state, CTRL_CIRCLE_MASK, SNES_DEVICE_ID_JOYPAD_A);
|
||||
break;
|
||||
case SETTING_CONTROLS_BUTTON_CROSS:
|
||||
set_keybind_digital(state, CTRL_CROSS_MASK, SNES_DEVICE_ID_JOYPAD_B);
|
||||
break;
|
||||
case SETTING_CONTROLS_BUTTON_TRIANGLE:
|
||||
set_keybind_digital(state, CTRL_TRIANGLE_MASK, SNES_DEVICE_ID_JOYPAD_X);
|
||||
break;
|
||||
case SETTING_CONTROLS_BUTTON_SQUARE:
|
||||
set_keybind_digital(state, CTRL_SQUARE_MASK, SNES_DEVICE_ID_JOYPAD_Y);
|
||||
break;
|
||||
case SETTING_CONTROLS_BUTTON_SELECT:
|
||||
set_keybind_digital(state, CTRL_SELECT_MASK, SNES_DEVICE_ID_JOYPAD_SELECT);
|
||||
break;
|
||||
case SETTING_CONTROLS_BUTTON_START:
|
||||
set_keybind_digital(state, CTRL_START_MASK, SNES_DEVICE_ID_JOYPAD_START);
|
||||
break;
|
||||
case SETTING_CONTROLS_BUTTON_L1:
|
||||
set_keybind_digital(state, CTRL_L1_MASK, SNES_DEVICE_ID_JOYPAD_L);
|
||||
break;
|
||||
case SETTING_CONTROLS_BUTTON_R1:
|
||||
case SETTING_CONTROLS_BUTTON_L2:
|
||||
case SETTING_CONTROLS_BUTTON_R2:
|
||||
case SETTING_CONTROLS_BUTTON_L3:
|
||||
case SETTING_CONTROLS_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_BUTTON_L3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_BUTTON_R2_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_R3_BUTTON_L3:
|
||||
case SETTING_CONTROLS_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_ANALOG_R_RIGHT:
|
||||
set_keybind_digital(state, CTRL_R1_MASK, SNES_DEVICE_ID_JOYPAD_R);
|
||||
break;
|
||||
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
|
||||
break;
|
||||
|
30
ps3/menu.h
30
ps3/menu.h
@ -111,38 +111,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_CROSS,
|
||||
SETTING_CONTROLS_BUTTON_TRIANGLE,
|
||||
SETTING_CONTROLS_BUTTON_SQUARE,
|
||||
SETTING_CONTROLS_BUTTON_SELECT,
|
||||
SETTING_CONTROLS_BUTTON_START,
|
||||
SETTING_CONTROLS_BUTTON_L1,
|
||||
SETTING_CONTROLS_BUTTON_R1,
|
||||
SETTING_CONTROLS_BUTTON_L2,
|
||||
SETTING_CONTROLS_BUTTON_R2,
|
||||
SETTING_CONTROLS_BUTTON_L3,
|
||||
SETTING_CONTROLS_BUTTON_R3,
|
||||
SETTING_CONTROLS_BUTTON_L2_BUTTON_L3,
|
||||
SETTING_CONTROLS_BUTTON_L2_BUTTON_R3,
|
||||
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT,
|
||||
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT,
|
||||
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP,
|
||||
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN,
|
||||
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT,
|
||||
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT,
|
||||
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP,
|
||||
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN,
|
||||
SETTING_CONTROLS_BUTTON_R2_BUTTON_R3,
|
||||
SETTING_CONTROLS_BUTTON_R3_BUTTON_L3,
|
||||
SETTING_CONTROLS_ANALOG_R_UP,
|
||||
SETTING_CONTROLS_ANALOG_R_DOWN,
|
||||
SETTING_CONTROLS_ANALOG_R_LEFT,
|
||||
SETTING_CONTROLS_ANALOG_R_RIGHT,
|
||||
SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS,
|
||||
SETTING_CONTROLS_DEFAULT_ALL
|
||||
};
|
||||
@ -154,7 +134,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_DPAD_UP
|
||||
#define FIRST_CONTROL_BIND SETTING_CONTROLS_BUTTON_CROSS
|
||||
|
||||
#define MAX_NO_OF_VIDEO_SETTINGS SETTING_DEFAULT_VIDEO_ALL+1
|
||||
#define MAX_NO_OF_AUDIO_SETTINGS SETTING_DEFAULT_AUDIO_ALL+1
|
||||
|
@ -414,12 +414,6 @@ static inline void gl_compute_fbo_geometry(gl_t *gl, unsigned width, unsigned he
|
||||
}
|
||||
}
|
||||
|
||||
#define gl_start_frame_fbo(gl) \
|
||||
glBindTexture(GL_TEXTURE_2D, gl->texture[gl->tex_index]); \
|
||||
glBindFramebufferOES(GL_FRAMEBUFFER_OES, gl->fbo[0]); \
|
||||
gl->render_to_tex = true; \
|
||||
set_viewport(gl, gl->fbo_rect[0].img_width, gl->fbo_rect[0].img_height, true);
|
||||
|
||||
static void set_viewport(gl_t *gl, unsigned width, unsigned height, bool force_full)
|
||||
{
|
||||
uint32_t m_viewport_x_temp, m_viewport_y_temp, m_viewport_width_temp, m_viewport_height_temp;
|
||||
@ -489,11 +483,11 @@ static void set_viewport(gl_t *gl, unsigned width, unsigned height, bool force_f
|
||||
|
||||
static void set_lut_texture_coords(const GLfloat *coords)
|
||||
{
|
||||
// For texture images.
|
||||
pglClientActiveTexture(GL_TEXTURE1);
|
||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
glTexCoordPointer(2, GL_FLOAT, 0, coords);
|
||||
pglClientActiveTexture(GL_TEXTURE0);
|
||||
// For texture images.
|
||||
pglClientActiveTexture(GL_TEXTURE1);
|
||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
glTexCoordPointer(2, GL_FLOAT, 0, coords);
|
||||
pglClientActiveTexture(GL_TEXTURE0);
|
||||
}
|
||||
|
||||
#define set_texture_coords(coords, xamt, yamt) \
|
||||
@ -530,26 +524,26 @@ void gl_frame_menu (void)
|
||||
|
||||
void ps3graphics_set_orientation(uint32_t orientation)
|
||||
{
|
||||
switch (orientation)
|
||||
{
|
||||
case ORIENTATION_NORMAL:
|
||||
vertex_ptr = vertexes_flipped;
|
||||
break;
|
||||
switch (orientation)
|
||||
{
|
||||
case ORIENTATION_NORMAL:
|
||||
vertex_ptr = vertexes_flipped;
|
||||
break;
|
||||
|
||||
case ORIENTATION_VERTICAL:
|
||||
vertex_ptr = vertexes_90;
|
||||
break;
|
||||
case ORIENTATION_VERTICAL:
|
||||
vertex_ptr = vertexes_90;
|
||||
break;
|
||||
|
||||
case ORIENTATION_FLIPPED:
|
||||
vertex_ptr = vertexes_180;
|
||||
break;
|
||||
case ORIENTATION_FLIPPED:
|
||||
vertex_ptr = vertexes_180;
|
||||
break;
|
||||
|
||||
case ORIENTATION_FLIPPED_ROTATED:
|
||||
vertex_ptr = vertexes_270;
|
||||
break;
|
||||
}
|
||||
case ORIENTATION_FLIPPED_ROTATED:
|
||||
vertex_ptr = vertexes_270;
|
||||
break;
|
||||
}
|
||||
|
||||
glVertexPointer(2, GL_FLOAT, 0, vertex_ptr);
|
||||
glVertexPointer(2, GL_FLOAT, 0, vertex_ptr);
|
||||
}
|
||||
|
||||
static bool gl_frame(void *data, const void *frame, unsigned width, unsigned height, unsigned pitch, const char *msg)
|
||||
@ -565,7 +559,10 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
|
||||
if (gl->fbo_inited)
|
||||
{
|
||||
gl_compute_fbo_geometry(gl, width, height, gl->vp_out_width, gl->vp_out_height);
|
||||
gl_start_frame_fbo(gl);
|
||||
glBindTexture(GL_TEXTURE_2D, gl->texture[gl->tex_index]);
|
||||
glBindFramebufferOES(GL_FRAMEBUFFER_OES, gl->fbo[0]);
|
||||
gl->render_to_tex = true;
|
||||
set_viewport(gl, gl->fbo_rect[0].img_width, gl->fbo_rect[0].img_height, true);
|
||||
}
|
||||
|
||||
|
||||
@ -721,13 +718,13 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
|
||||
|
||||
static void psgl_deinit(gl_t *gl)
|
||||
{
|
||||
glFinish();
|
||||
cellDbgFontExit();
|
||||
glFinish();
|
||||
cellDbgFontExit();
|
||||
|
||||
psglDestroyContext(gl->gl_context);
|
||||
psglDestroyDevice(gl->gl_device);
|
||||
psglDestroyContext(gl->gl_context);
|
||||
psglDestroyDevice(gl->gl_device);
|
||||
|
||||
psglExit();
|
||||
psglExit();
|
||||
}
|
||||
|
||||
static void gl_free(void *data)
|
||||
@ -971,15 +968,15 @@ static void *gl_init(const video_info_t *video, const input_driver_t **input, vo
|
||||
|
||||
static bool gl_alive(void *data)
|
||||
{
|
||||
(void)data;
|
||||
cellSysutilCheckCallback();
|
||||
return !g_quitting;
|
||||
(void)data;
|
||||
cellSysutilCheckCallback();
|
||||
return !g_quitting;
|
||||
}
|
||||
|
||||
static bool gl_focus(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return true;
|
||||
(void)data;
|
||||
return true;
|
||||
}
|
||||
|
||||
static void ps3graphics_set_swap_block_swap(void * data, bool toggle)
|
||||
|
Loading…
x
Reference in New Issue
Block a user