From 6146d644740b25f229ed803bd5776bb41237f755 Mon Sep 17 00:00:00 2001 From: Twinaphex Date: Tue, 31 Jul 2012 16:06:34 +0200 Subject: [PATCH] (PS3) Menu refactoring --- ps3/frontend/menu.c | 401 ++++++++++++++++++++++---------------------- 1 file changed, 201 insertions(+), 200 deletions(-) diff --git a/ps3/frontend/menu.c b/ps3/frontend/menu.c index 83da2368ca..5d2cbaab4a 100644 --- a/ps3/frontend/menu.c +++ b/ps3/frontend/menu.c @@ -546,7 +546,6 @@ static void display_menubar(menu *current_menu) DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; filebrowser_t *fb = &browser; char current_path[256], rarch_version[128]; - snprintf(current_path, sizeof(current_path), "PATH: %s", filebrowser_get_current_dir(fb)); snprintf(rarch_version, sizeof(rarch_version), "v%s", PACKAGE_VERSION); switch(current_menu->enum_id) @@ -591,6 +590,7 @@ static void display_menubar(menu *current_menu) case PATH_SRAM_DIR_CHOICE: fb = &tmpBrowser; case FILE_BROWSER_MENU: + snprintf(current_path, sizeof(current_path), "PATH: %s", filebrowser_get_current_dir(fb)); render_msg_place_func (0.09f, 0.09f, FONT_SIZE, YELLOW, current_path); break; default: @@ -604,79 +604,78 @@ static void display_menubar(menu *current_menu) } uint64_t state; -uint16_t input_st = 0; static uint64_t old_state = 0; -static void control_update_wrap(uint64_t trigger_state) +static void control_update_wrap(uint16_t *input_state, uint64_t trigger_state) { - input_st = 0; + *input_state = 0; input_ps3.poll(NULL); if (CTRL_LSTICK_DOWN(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_DOWN); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_DOWN); else if (CTRL_DOWN(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_DOWN); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_DOWN); else if (CTRL_LSTICK_UP(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_UP); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_UP); else if (CTRL_UP(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_UP); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_UP); else if (CTRL_RIGHT(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT); else if (CTRL_LSTICK_RIGHT(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT); else if (CTRL_LEFT(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_LEFT); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_LEFT); else if (CTRL_LSTICK_LEFT(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_LEFT); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_LEFT); else if (CTRL_R1(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_R); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_R); else if (CTRL_R2(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_R2); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_R2); else if (CTRL_R3(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_R3); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_R3); else if (CTRL_L1(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_L); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_L); else if (CTRL_L2(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_L2); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_L2); else if (CTRL_L3(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_L3); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_L3); else if (CTRL_SQUARE(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_Y); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_Y); else if (CTRL_TRIANGLE(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_X); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_X); else if (CTRL_CIRCLE(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_A); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_A); else if (CTRL_CROSS(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_B); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_B); else if (CTRL_START(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_START); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_START); else if (CTRL_SELECT(trigger_state)) - input_st |= (1 << RETRO_DEVICE_ID_JOYPAD_SELECT); + *input_state |= (1 << RETRO_DEVICE_ID_JOYPAD_SELECT); } -static void browser_update(filebrowser_t * b, uint16_t inp_state, const char *extensions) +static void browser_update(filebrowser_t * b, uint16_t input, const char *extensions) { filebrowser_action_t action = FILEBROWSER_ACTION_NOOP; - if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN)) + if (input & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN)) action = FILEBROWSER_ACTION_DOWN; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) action = FILEBROWSER_ACTION_UP; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) action = FILEBROWSER_ACTION_RIGHT; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) action = FILEBROWSER_ACTION_LEFT; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_R)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_R)) action = FILEBROWSER_ACTION_SCROLL_DOWN; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_R2)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_R2)) action = FILEBROWSER_ACTION_SCROLL_DOWN_SMOOTH; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_L2)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_L2)) action = FILEBROWSER_ACTION_SCROLL_UP_SMOOTH; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_L)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_L)) action = FILEBROWSER_ACTION_SCROLL_UP; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_A)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_A)) action = FILEBROWSER_ACTION_CANCEL; - else if (inp_state & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { action = FILEBROWSER_ACTION_RESET; filebrowser_set_root(b, "/"); @@ -735,7 +734,7 @@ static void apply_scaling (unsigned init_mode) } } -static void select_file(item *items, menu *current_menu) +static void select_file(item *items, menu *current_menu, uint16_t input) { char extensions[256], object[256], comment[256], comment_two[256], path[PATH_MAX]; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; @@ -769,9 +768,9 @@ static void select_file(item *items, menu *current_menu) break; } - browser_update(&tmpBrowser, input_st, extensions); + browser_update(&tmpBrowser, input, extensions); - if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if (input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { bool is_dir = filebrowser_get_current_path_isdir(&tmpBrowser); if(is_dir) @@ -822,7 +821,7 @@ static void select_file(item *items, menu *current_menu) menu_stack_decrement(); } } - else if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_X)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_X)) menu_stack_decrement(); display_menubar(current_menu); @@ -833,15 +832,15 @@ static void select_file(item *items, menu *current_menu) render_msg_post_func(); } -static void select_directory(item *items, menu *current_menu) +static void select_directory(item *items, menu *current_menu, uint16_t input) { char path[1024]; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; bool is_dir = filebrowser_get_current_path_isdir(&tmpBrowser); - browser_update(&tmpBrowser, input_st, "empty"); + browser_update(&tmpBrowser, input, "empty"); - if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_Y)) + if (input & (1 << RETRO_DEVICE_ID_JOYPAD_Y)) { if(is_dir) { @@ -864,7 +863,7 @@ static void select_directory(item *items, menu *current_menu) menu_stack_decrement(); } } - else if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_X)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_X)) { strlcpy(path, default_paths.port_dir, sizeof(path)); switch(current_menu->enum_id) @@ -885,7 +884,7 @@ static void select_directory(item *items, menu *current_menu) menu_stack_decrement(); } - else if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { if(is_dir) filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_OK); @@ -898,17 +897,17 @@ static void select_directory(item *items, menu *current_menu) render_msg_post_func(); } -static void set_keybind_digital(uint64_t default_retro_joypad_id) +static void set_keybind_digital(uint64_t default_retro_joypad_id, uint16_t input) { unsigned keybind_action = KEYBIND_NOACTION; - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) keybind_action = KEYBIND_DECREMENT; - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) keybind_action = KEYBIND_INCREMENT; - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) keybind_action = KEYBIND_DEFAULT; rarch_input_set_keybind(currently_selected_controller_menu, keybind_action, default_retro_joypad_id); @@ -995,16 +994,17 @@ static void rarch_filename_input_and_save (unsigned filename_type) } } -static void producesettingentry(menu *current_menu, item *items, unsigned switchvalue) + +static void producesettingentry(menu *current_menu, item *items, unsigned switchvalue, uint16_t input) { switch(switchvalue) { case SETTING_CHANGE_RESOLUTION: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) rarch_settings_change(S_RESOLUTION_NEXT); - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) rarch_settings_change(S_RESOLUTION_PREVIOUS); - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { if (g_console.supported_resolutions[g_console.current_resolution_index] == CELL_VIDEO_OUT_RESOLUTION_576) { @@ -1023,7 +1023,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch break; /* case SETTING_PAL60_MODE: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { if (Graphics->GetCurrentResolution() == CELL_VIDEO_OUT_RESOLUTION_576) { @@ -1039,7 +1039,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch break; */ case SETTING_SHADER_PRESETS: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { if(g_console.emulator_initialized) { @@ -1047,17 +1047,17 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch filebrowser_set_root_and_ext(&tmpBrowser, EXT_CGP_PRESETS, default_paths.cgp_dir); } } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) strlcpy(g_console.cgp_path, "", sizeof(g_console.cgp_path)); break; case SETTING_SHADER: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { menu_stack_push(items, SHADER_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, EXT_SHADERS, default_paths.shader_dir); set_shader = 0; } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_load_shader(1, NULL); strlcpy(g_settings.video.cg_shader_path, default_paths.shader_file, sizeof(g_settings.video.cg_shader_path)); @@ -1065,13 +1065,13 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } break; case SETTING_SHADER_2: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { menu_stack_push( items, SHADER_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, EXT_SHADERS, default_paths.shader_dir); set_shader = 1; } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_load_shader(2, NULL); strlcpy(g_settings.video.second_pass_shader, default_paths.shader_file, sizeof(g_settings.video.second_pass_shader)); @@ -1079,67 +1079,67 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } break; case SETTING_FONT_SIZE: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) { if(g_console.menu_font_size > 0) g_console.menu_font_size -= 0.01f; } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { if((g_console.menu_font_size < 2.0f)) g_console.menu_font_size += 0.01f; } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) g_console.menu_font_size = 1.0f; break; case SETTING_KEEP_ASPECT_RATIO: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) { rarch_settings_change(S_ASPECT_RATIO_DECREMENT); gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) { rarch_settings_change(S_ASPECT_RATIO_INCREMENT); gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_settings_default(S_DEF_ASPECT_RATIO); gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index); } break; case SETTING_HW_TEXTURE_FILTER: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { rarch_settings_change(S_HW_TEXTURE_FILTER); gfx_ctx_set_filtering(1, g_settings.video.smooth); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_settings_change(S_DEF_HW_TEXTURE_FILTER); gfx_ctx_set_filtering(1, g_settings.video.smooth); } break; case SETTING_HW_TEXTURE_FILTER_2: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { rarch_settings_change(S_HW_TEXTURE_FILTER_2); gfx_ctx_set_filtering(2, g_settings.video.second_pass_smooth); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_settings_change(S_DEF_HW_TEXTURE_FILTER_2); gfx_ctx_set_filtering(2, g_settings.video.second_pass_smooth); } break; case SETTING_SCALE_ENABLED: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { rarch_settings_change(S_SCALE_ENABLED); gfx_ctx_set_fbo(g_console.fbo_enabled); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_settings_default(S_DEF_SCALE_ENABLED); apply_scaling(FBO_DEINIT); @@ -1147,7 +1147,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } break; case SETTING_SCALE_FACTOR: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) { if(g_console.fbo_enabled) { @@ -1159,7 +1159,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } } } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { if(g_console.fbo_enabled) { @@ -1171,7 +1171,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } } } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_settings_default(S_DEF_SCALE_FACTOR); apply_scaling(FBO_DEINIT); @@ -1179,51 +1179,51 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } break; case SETTING_HW_OVERSCAN_AMOUNT: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) { rarch_settings_change(S_OVERSCAN_DECREMENT); gfx_ctx_set_overscan(); } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { rarch_settings_change(S_OVERSCAN_INCREMENT); gfx_ctx_set_overscan(); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_settings_default(S_DEF_OVERSCAN); gfx_ctx_set_overscan(); } break; case SETTING_THROTTLE_MODE: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { rarch_settings_change(S_THROTTLE); gfx_ctx_set_swap_interval(g_console.throttle_enable, true); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_settings_default(S_DEF_THROTTLE); gfx_ctx_set_swap_interval(g_console.throttle_enable, true); } break; case SETTING_TRIPLE_BUFFERING: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { rarch_settings_change(S_TRIPLE_BUFFERING); video_gl.restart(); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { - bool old_buffer_input_st = g_console.triple_buffering_enable; + bool old_buffer_input = g_console.triple_buffering_enable; rarch_settings_default(S_DEF_TRIPLE_BUFFERING); - if(!old_buffer_input_st) + if(!old_buffer_input) video_gl.restart(); } break; case SETTING_ENABLE_SCREENSHOTS: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { #if(CELL_SDK_VERSION > 0x340000) g_console.screenshots_enable = !g_console.screenshots_enable; @@ -1244,7 +1244,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } #endif } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { #if(CELL_SDK_VERSION > 0x340000) g_console.screenshots_enable = true; @@ -1252,7 +1252,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } break; case SETTING_SAVE_SHADER_PRESET: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) rarch_filename_input_and_save(SHADER_PRESET_FILE); break; case SETTING_APPLY_SHADER_PRESET_ON_STARTUP: @@ -1260,31 +1260,31 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch case SETTING_DEFAULT_VIDEO_ALL: break; case SETTING_SOUND_MODE: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) { if(g_console.sound_mode != SOUND_MODE_NORMAL) g_console.sound_mode--; } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { if(g_console.sound_mode < SOUND_MODE_HEADSET) g_console.sound_mode++; } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN))) { if(g_console.sound_mode != SOUND_MODE_RSOUND) rarch_console_rsound_stop(); else rarch_console_rsound_start(g_settings.audio.device); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { g_console.sound_mode = SOUND_MODE_NORMAL; rarch_console_rsound_stop(); } break; case SETTING_RSOUND_SERVER_IP_ADDRESS: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { oskutil_write_initial_message(&g_console.oskutil_handle, L"192.168.1.1"); oskutil_write_message(&g_console.oskutil_handle, L"Enter IP address for the RSound Server."); @@ -1301,73 +1301,73 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch if(g_console.oskutil_handle.text_can_be_fetched) strlcpy(g_settings.audio.device, OUTPUT_TEXT_STRING(g_console.oskutil_handle), sizeof(g_settings.audio.device)); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) strlcpy(g_settings.audio.device, "0.0.0.0", sizeof(g_settings.audio.device)); break; case SETTING_DEFAULT_AUDIO_ALL: break; case SETTING_EMU_CURRENT_SAVE_STATE_SLOT: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) rarch_settings_change(S_SAVESTATE_DECREMENT); - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) rarch_settings_change(S_SAVESTATE_INCREMENT); - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) rarch_settings_default(S_DEF_SAVE_STATE); break; case SETTING_EMU_SHOW_INFO_MSG: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) g_console.info_msg_enable = !g_console.info_msg_enable; - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) g_console.info_msg_enable = true; break; case SETTING_EMU_REWIND_ENABLED: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { rarch_settings_change(S_REWIND); if(g_console.info_msg_enable) rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) g_settings.rewind_enable = false; break; case SETTING_ZIP_EXTRACT: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT))) { if(g_console.zip_extract_mode > 0) g_console.zip_extract_mode--; } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { if(g_console.zip_extract_mode < ZIP_EXTRACT_TO_CACHE_DIR) g_console.zip_extract_mode++; } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { g_console.zip_extract_mode = ZIP_EXTRACT_TO_CURRENT_DIR; } break; case SETTING_RARCH_DEFAULT_EMU: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { menu_stack_push(items, LIBRETRO_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, EXT_EXECUTABLES, default_paths.core_dir); set_libretro_core_as_launch = false; } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { } break; case SETTING_EMU_AUDIO_MUTE: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) rarch_settings_change(S_AUDIO_MUTE); - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) rarch_settings_default(S_DEF_AUDIO_MUTE); break; case SETTING_ENABLE_CUSTOM_BGM: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { #if(CELL_SDK_VERSION > 0x340000) g_console.custom_bgm_enable = !g_console.custom_bgm_enable; @@ -1378,7 +1378,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch #endif } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { #if(CELL_SDK_VERSION > 0x340000) g_console.custom_bgm_enable = true; @@ -1390,82 +1390,82 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch case SETTING_EMU_AUDIO_DEFAULT_ALL: break; case SETTING_PATH_DEFAULT_ROM_DIRECTORY: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { menu_stack_push(items, PATH_DEFAULT_ROM_DIR_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, "empty", "/"); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) strlcpy(g_console.default_rom_startup_dir, "/", sizeof(g_console.default_rom_startup_dir)); break; case SETTING_PATH_SAVESTATES_DIRECTORY: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { menu_stack_push(items, PATH_SAVESTATES_DIR_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, "empty", "/"); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) strlcpy(g_console.default_savestate_dir, default_paths.savestate_dir, sizeof(g_console.default_savestate_dir)); break; case SETTING_PATH_SRAM_DIRECTORY: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { menu_stack_push(items, PATH_SRAM_DIR_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, "empty", "/"); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) strlcpy(g_console.default_sram_dir, default_paths.sram_dir, sizeof(g_console.default_sram_dir)); break; case SETTING_PATH_CHEATS: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { menu_stack_push(items, PATH_CHEATS_DIR_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, "empty", "/"); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database)); break; case SETTING_PATH_SYSTEM: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { menu_stack_push(items, PATH_SYSTEM_DIR_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, "empty", "/"); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) strlcpy(g_settings.system_directory, default_paths.system_dir, sizeof(g_settings.system_directory)); break; case SETTING_ENABLE_SRAM_PATH: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT))) { g_console.default_sram_dir_enable = !g_console.default_sram_dir_enable; menu_stack_refresh(items, current_menu); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { g_console.default_sram_dir_enable = true; menu_stack_refresh(items, current_menu); } break; case SETTING_ENABLE_STATE_PATH: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT))) { g_console.default_savestate_dir_enable = !g_console.default_savestate_dir_enable; menu_stack_refresh(items, current_menu); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { g_console.default_savestate_dir_enable = true; menu_stack_refresh(items, current_menu); } break; case SETTING_PATH_DEFAULT_ALL: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_START))) { strlcpy(g_console.default_rom_startup_dir, "/", sizeof(g_console.default_rom_startup_dir)); strlcpy(g_console.default_savestate_dir, default_paths.port_dir, sizeof(g_console.default_savestate_dir)); @@ -1476,86 +1476,86 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch } break; case SETTING_CONTROLS_SCHEME: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_START))) { menu_stack_push(items, INPUT_PRESET_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, EXT_INPUT_PRESETS, default_paths.input_presets_dir); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) menu_stack_refresh(items, current_menu); break; case SETTING_CONTROLS_NUMBER: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) { if(currently_selected_controller_menu != 0) currently_selected_controller_menu--; menu_stack_refresh(items, current_menu); } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { if(currently_selected_controller_menu < 6) currently_selected_controller_menu++; menu_stack_refresh(items, current_menu); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) currently_selected_controller_menu = 0; break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_UP: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_UP); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_UP, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_DOWN: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_DOWN); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_DOWN, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_LEFT: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_LEFT); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_LEFT, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_RIGHT: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_RIGHT); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_RIGHT, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_A: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_A); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_A, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_B: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_B); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_B, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_X: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_X); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_X, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_Y: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_Y); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_Y, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_SELECT: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_SELECT); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_SELECT, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_START: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_START); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_START, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_L: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_R: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_L2: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L2); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L2, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_R2: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R2); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R2, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_L3: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L3); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L3, input); break; case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_R3: - set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R3); + set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R3, input); break; case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_START))) rarch_filename_input_and_save(INPUT_PRESET_FILE); break; case SETTING_CONTROLS_DEFAULT_ALL: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_START))) { rarch_input_set_default_keybinds(currently_selected_controller_menu); menu_stack_refresh(items, current_menu); @@ -1612,7 +1612,7 @@ static void settings_iterate(menu *current_menu, item *items, settings_action_t } } -static void select_setting(item *items, menu *current_menu) +static void select_setting(item *items, menu *current_menu, uint16_t input) { unsigned i; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; @@ -1620,19 +1620,19 @@ static void select_setting(item *items, menu *current_menu) settings_action_t action = SETTINGS_ACTION_NOOP; /* back to ROM menu if CIRCLE is pressed */ - if ((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_L)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_A))) + if ((input & (1 << RETRO_DEVICE_ID_JOYPAD_L)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_A))) action = SETTINGS_ACTION_TAB_PREVIOUS; - else if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_R)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_R)) action = SETTINGS_ACTION_TAB_NEXT; - else if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN)) action = SETTINGS_ACTION_DOWN; - else if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) action = SETTINGS_ACTION_UP; if(action != SETTINGS_ACTION_NOOP) settings_iterate(current_menu, items, action); - producesettingentry(current_menu, items, current_menu->selected); + producesettingentry(current_menu, items, current_menu->selected, input); display_menubar(current_menu); render_msg_post_func(); @@ -1673,17 +1673,17 @@ static void menu_romselect_iterate(filebrowser_t *filebrowser, item *items, menu } } -static void select_rom(item *items, menu *current_menu) +static void select_rom(item *items, menu *current_menu, uint16_t input) { DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; - browser_update(&browser, input_st, rarch_console_get_rom_ext()); + browser_update(&browser, input, rarch_console_get_rom_ext()); menu_romselect_action_t action = MENU_ROMSELECT_ACTION_NOOP; - if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_SELECT)) + if (input & (1 << RETRO_DEVICE_ID_JOYPAD_SELECT)) action = MENU_ROMSELECT_ACTION_GOTO_SETTINGS; - else if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + else if (input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) action = MENU_ROMSELECT_ACTION_OK; if (action != MENU_ROMSELECT_ACTION_NOOP) @@ -1710,7 +1710,7 @@ static void select_rom(item *items, menu *current_menu) } -static void ingame_menu_resize(item *items, menu *current_menu) +static void ingame_menu_resize(item *items, menu *current_menu, uint16_t input) { (void)items; @@ -1724,14 +1724,14 @@ static void ingame_menu_resize(item *items, menu *current_menu) g_console.aspect_ratio_index = ASPECT_RATIO_CUSTOM; gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index); - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) g_console.viewports.custom_vp.x -= 1; - else if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) + else if(input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) g_console.viewports.custom_vp.x += 1; - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) g_console.viewports.custom_vp.y += 1; - else if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN)) + else if(input & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN)) g_console.viewports.custom_vp.y -= 1; if (CTRL_RSTICK_LEFT(state) || CTRL_L1(state)) @@ -1744,7 +1744,7 @@ static void ingame_menu_resize(item *items, menu *current_menu) else if (CTRL_RSTICK_DOWN(state) || CTRL_R2(state)) g_console.viewports.custom_vp.height -= 1; - if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_X)) + if (input & (1 << RETRO_DEVICE_ID_JOYPAD_X)) { g_console.viewports.custom_vp.x = 0; g_console.viewports.custom_vp.y = 0; @@ -1752,10 +1752,10 @@ static void ingame_menu_resize(item *items, menu *current_menu) g_console.viewports.custom_vp.height = device_ptr->win_height; } - if (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_A)) + if (input & (1 << RETRO_DEVICE_ID_JOYPAD_A)) menu_stack_decrement(); - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_Y)) { } + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_Y)) { } else { char viewport_x[64], viewport_y[64], viewport_w[64], viewport_h[64]; @@ -1821,7 +1821,7 @@ static void ingame_menu_resize(item *items, menu *current_menu) } } -static void ingame_menu_screenshot(item *items, menu *current_menu) +static void ingame_menu_screenshot(item *items, menu *current_menu, uint16_t input) { (void)items; (void)current_menu; @@ -1830,7 +1830,7 @@ static void ingame_menu_screenshot(item *items, menu *current_menu) if(g_console.ingame_menu_enable) { - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_A)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_A)) { menu_stack_decrement(); device_ptr->menu_render = true; @@ -1838,7 +1838,7 @@ static void ingame_menu_screenshot(item *items, menu *current_menu) } } -static void ingame_menu(item *items, menu *current_menu) +static void ingame_menu(item *items, menu *current_menu, uint16_t input) { char comment[256], overscan_msg[64]; static unsigned menuitem_colors[MENU_ITEM_LAST]; @@ -1854,59 +1854,59 @@ static void ingame_menu(item *items, menu *current_menu) menuitem_colors[g_console.ingame_menu_item] = RED; - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_A)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_A)) rarch_settings_change(S_RETURN_TO_GAME); switch(g_console.ingame_menu_item) { case MENU_ITEM_LOAD_STATE: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { rarch_load_state(); rarch_settings_change(S_RETURN_TO_GAME); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) rarch_state_slot_decrease(); - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) rarch_state_slot_increase(); strlcpy(comment, "Press LEFT or RIGHT to change the current save state slot.\nPress CROSS to load the state from the currently selected save state slot.", sizeof(comment)); break; case MENU_ITEM_SAVE_STATE: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { rarch_save_state(); rarch_settings_change(S_RETURN_TO_GAME); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) rarch_state_slot_decrease(); - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) rarch_state_slot_increase(); strlcpy(comment, "Press LEFT or RIGHT to change the current save state slot.\nPress CROSS to save the state to the currently selected save state slot.", sizeof(comment)); break; case MENU_ITEM_KEEP_ASPECT_RATIO: - producesettingentry(current_menu, items, SETTING_KEEP_ASPECT_RATIO); + producesettingentry(current_menu, items, SETTING_KEEP_ASPECT_RATIO, input); strlcpy(comment, "Press LEFT or RIGHT to change the [Aspect Ratio].\nPress START to reset back to default values.", sizeof(comment)); break; case MENU_ITEM_OVERSCAN_AMOUNT: - producesettingentry(current_menu, items, SETTING_HW_OVERSCAN_AMOUNT); + producesettingentry(current_menu, items, SETTING_HW_OVERSCAN_AMOUNT, input); strlcpy(comment, "Press LEFT or RIGHT to change the [Overscan] settings.\nPress START to reset back to default values.", sizeof(comment)); break; case MENU_ITEM_ORIENTATION: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_LEFT)) { rarch_settings_change(S_ROTATION_DECREMENT); video_gl.set_rotation(NULL, g_console.screen_orientation); } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_RIGHT)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_B))) { rarch_settings_change(S_ROTATION_INCREMENT); video_gl.set_rotation(NULL, g_console.screen_orientation); } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_START)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_START)) { rarch_settings_default(S_DEF_ROTATION); video_gl.set_rotation(NULL, g_console.screen_orientation); @@ -1914,11 +1914,11 @@ static void ingame_menu(item *items, menu *current_menu) strlcpy(comment, "Press LEFT or RIGHT to change the [Orientation] settings.\nPress START to reset back to default values.", sizeof(comment)); break; case MENU_ITEM_SCALE_FACTOR: - producesettingentry(current_menu, items, SETTING_SCALE_FACTOR); + producesettingentry(current_menu, items, SETTING_SCALE_FACTOR, input); strlcpy(comment, "Press LEFT or RIGHT to change the [Scaling] settings.\nPress START to reset back to default values.", sizeof(comment)); break; case MENU_ITEM_FRAME_ADVANCE: - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_R2)) || (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_L2))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_R2)) || (input & (1 << RETRO_DEVICE_ID_JOYPAD_L2))) { rarch_settings_change(S_FRAME_ADVANCE); g_console.ingame_menu_item = MENU_ITEM_FRAME_ADVANCE; @@ -1926,23 +1926,23 @@ static void ingame_menu(item *items, menu *current_menu) strlcpy(comment, "Press 'CROSS', 'L2' or 'R2' button to step one frame. Pressing the button\nrapidly will advance the frame more slowly.", sizeof(comment)); break; case MENU_ITEM_RESIZE_MODE: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) menu_stack_push(items, INGAME_MENU_RESIZE); strlcpy(comment, "Allows you to resize the screen by moving around the two analog sticks.\nPress TRIANGLE to reset to default values, and CIRCLE to go back.", sizeof(comment)); break; case MENU_ITEM_SCREENSHOT_MODE: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) menu_stack_push(items, INGAME_MENU_SCREENSHOT); strlcpy(comment, "Allows you to take a screenshot without any text clutter.\nPress CIRCLE to go back to the in-game menu while in 'Screenshot Mode'.", sizeof(comment)); break; case MENU_ITEM_RETURN_TO_GAME: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) rarch_settings_change(S_RETURN_TO_GAME); strlcpy(comment, "Press 'CROSS' to return back to the game.", sizeof(comment)); break; case MENU_ITEM_RESET: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { rarch_settings_change(S_RETURN_TO_GAME); rarch_game_reset(); @@ -1950,14 +1950,14 @@ static void ingame_menu(item *items, menu *current_menu) strlcpy(comment, "Press 'CROSS' to reset the game.", sizeof(comment)); break; case MENU_ITEM_RETURN_TO_MENU: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { rarch_settings_change(S_RETURN_TO_MENU); } strlcpy(comment, "Press 'CROSS' to return to the ROM Browser menu.", sizeof(comment)); break; case MENU_ITEM_CHANGE_LIBRETRO: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { menu_stack_push(items, LIBRETRO_CHOICE); filebrowser_set_root_and_ext(&tmpBrowser, EXT_EXECUTABLES, default_paths.core_dir); @@ -1967,7 +1967,7 @@ static void ingame_menu(item *items, menu *current_menu) break; #ifdef HAVE_MULTIMAN case MENU_ITEM_RETURN_TO_MULTIMAN: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) { if(path_file_exists(default_paths.multiman_self_file)) { @@ -1981,26 +1981,26 @@ static void ingame_menu(item *items, menu *current_menu) break; #endif case MENU_ITEM_RETURN_TO_DASHBOARD: - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_B)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_B)) rarch_settings_change(S_RETURN_TO_DASHBOARD); strlcpy(comment, "Press 'CROSS' to quit the emulator and return to the XMB.", sizeof(comment)); break; } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_UP)) { if(g_console.ingame_menu_item > 0) g_console.ingame_menu_item--; } - if(input_st & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN)) + if(input & (1 << RETRO_DEVICE_ID_JOYPAD_DOWN)) { if(g_console.ingame_menu_item < (MENU_ITEM_LAST-1)) g_console.ingame_menu_item++; } - if((input_st & (1 << RETRO_DEVICE_ID_JOYPAD_L3)) && (input_st & (1 << RETRO_DEVICE_ID_JOYPAD_R3))) + if((input & (1 << RETRO_DEVICE_ID_JOYPAD_L3)) && (input & (1 << RETRO_DEVICE_ID_JOYPAD_R3))) rarch_settings_change(S_RETURN_TO_GAME); display_menubar(current_menu); @@ -2103,6 +2103,7 @@ void menu_loop(void) do { + uint16_t input_st = 0; static bool first_held = false; menu *current_menu = menu_stack_get_current_ptr(); @@ -2130,7 +2131,7 @@ void menu_loop(void) } } - control_update_wrap(trig_state); + control_update_wrap(&input_st, trig_state); gfx_ctx_clear(); @@ -2149,7 +2150,7 @@ void menu_loop(void) switch(current_menu->enum_id) { case FILE_BROWSER_MENU: - select_rom(menu_items, current_menu); + select_rom(menu_items, current_menu, input_st); fb = &browser; break; case GENERAL_VIDEO_MENU: @@ -2159,32 +2160,32 @@ void menu_loop(void) case EMU_AUDIO_MENU: case PATH_MENU: case CONTROLS_MENU: - select_setting(menu_items, current_menu); + select_setting(menu_items, current_menu, input_st); break; case SHADER_CHOICE: case PRESET_CHOICE: case BORDER_CHOICE: case LIBRETRO_CHOICE: case INPUT_PRESET_CHOICE: - select_file(menu_items, current_menu); + select_file(menu_items, current_menu, input_st); fb = &tmpBrowser; break; case PATH_SAVESTATES_DIR_CHOICE: case PATH_DEFAULT_ROM_DIR_CHOICE: case PATH_CHEATS_DIR_CHOICE: case PATH_SRAM_DIR_CHOICE: - select_directory(menu_items, current_menu); + select_directory(menu_items, current_menu, input_st); fb = &tmpBrowser; break; case INGAME_MENU: if(g_console.ingame_menu_enable) - ingame_menu(menu_items, current_menu); + ingame_menu(menu_items, current_menu, input_st); break; case INGAME_MENU_RESIZE: - ingame_menu_resize(menu_items, current_menu); + ingame_menu_resize(menu_items, current_menu, input_st); break; case INGAME_MENU_SCREENSHOT: - ingame_menu_screenshot(menu_items, current_menu); + ingame_menu_screenshot(menu_items, current_menu, input_st); break; }