diff --git a/libsnes.hpp b/libsnes.hpp index 0116d4f85e..bd696b4876 100755 --- a/libsnes.hpp +++ b/libsnes.hpp @@ -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 diff --git a/ps3/main.c b/ps3/main.c index 106def449e..d9eebf3fb0 100644 --- a/ps3/main.c +++ b/ps3/main.c @@ -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; diff --git a/ps3/menu-entries.h b/ps3/menu-entries.h index 9eac255d53..7ee409dfb0 100644 --- a/ps3/menu-entries.h +++ b/ps3/menu-entries.h @@ -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", diff --git a/ps3/menu.c b/ps3/menu.c index 2e52c14cc5..3dbb3d46fa 100644 --- a/ps3/menu.c +++ b/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; diff --git a/ps3/menu.h b/ps3/menu.h index 86bb1edec4..68a9fbb7d7 100644 --- a/ps3/menu.h +++ b/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 diff --git a/ps3/ps3_video_psgl.c b/ps3/ps3_video_psgl.c index ff61ce4185..258baee5d2 100644 --- a/ps3/ps3_video_psgl.c +++ b/ps3/ps3_video_psgl.c @@ -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)