This commit is contained in:
twinaphex 2016-11-20 13:37:16 +01:00
commit 1df7b924bf
12 changed files with 57 additions and 43 deletions

View File

@ -101,7 +101,7 @@ $(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>dev
endif
ifeq ($(strip $(CTRULIB)),)
CTRULIB = $(DEVKITPRO)/ctrulib
CTRULIB = $(DEVKITPRO)/libctru
endif
APP_TITLE := $(shell echo "$(APP_TITLE)" | cut -c1-128)

View File

@ -117,7 +117,7 @@ static void* ax_audio_init(const char* device, unsigned rate, unsigned latency)
AXSetVoiceSrcType(ax->voice_r, AX_VOICE_SRC_TYPE_NONE);
AXSetVoiceSrcRatio(ax->voice_l, 1.0f);
AXSetVoiceSrcRatio(ax->voice_r, 1.0f);
AXVoiceVeData ve = {0x8000, 0};
AXVoiceVeData ve = {0xFFFF, 0};
AXSetVoiceVe(ax->voice_l, &ve);
AXSetVoiceVe(ax->voice_r, &ve);
u32 mix[24] = {0};

View File

@ -625,6 +625,7 @@ static bool back_as_menu_toggle_enable = true;
#endif
static bool all_users_control_menu = false;
static bool menu_swap_ok_cancel_buttons = false;
/* Crop overscanned frames. */
static const bool crop_overscan = true;

View File

@ -520,19 +520,6 @@ const char *config_get_default_menu(void)
return "null";
}
static unsigned config_menu_btn_ok_default(void)
{
if (g_defaults.menu.controls.set)
return g_defaults.menu.controls.menu_btn_ok;
return default_menu_btn_ok;
}
static unsigned config_menu_btn_cancel_default(void)
{
if (g_defaults.menu.controls.set)
return g_defaults.menu.controls.menu_btn_cancel;
return default_menu_btn_cancel;
}
#endif
bool config_overlay_enable_default(void)
@ -712,6 +699,7 @@ static int populate_settings_bool(settings_t *settings, struct config_bool_setti
SETTING_BOOL("input_remap_binds_enable", &settings->input.remap_binds_enable, true, true, false);
SETTING_BOOL("back_as_menu_toggle_enable", &settings->input.back_as_menu_toggle_enable, true, true, false);
SETTING_BOOL("all_users_control_menu", &settings->input.all_users_control_menu, true, all_users_control_menu, false);
SETTING_BOOL("menu_swap_ok_cancel_buttons", &settings->input.menu_swap_ok_cancel_buttons, true, menu_swap_ok_cancel_buttons, false);
#ifdef HAVE_NETWORKING
SETTING_BOOL("netplay_client_swap_input", &settings->netplay.swap_input, true, netplay_client_swap_input, false);
#endif
@ -895,12 +883,7 @@ static int populate_settings_int(settings_t *settings, struct config_int_setting
SETTING_INT("keyboard_gamepad_mapping_type",&settings->input.keyboard_gamepad_mapping_type, true, 1, false);
SETTING_INT("input_poll_type_behavior", &settings->input.poll_type_behavior, true, 2, false);
#ifdef HAVE_MENU
SETTING_INT("menu_ok_btn", &settings->menu_ok_btn, true, config_menu_btn_ok_default(), false);
SETTING_INT("menu_cancel_btn", &settings->menu_cancel_btn, true, config_menu_btn_cancel_default(), false);
SETTING_INT("menu_search_btn", &settings->menu_search_btn, true, default_menu_btn_search, false);
SETTING_INT("menu_info_btn", &settings->menu_info_btn, true, default_menu_btn_info, false);
SETTING_INT("menu_default_btn", &settings->menu_default_btn, true, default_menu_btn_default, false);
SETTING_INT("menu_scroll_down_btn", &settings->menu_scroll_down_btn, true, default_menu_btn_scroll_down, false);
#endif
SETTING_INT("video_monitor_index", &settings->video.monitor_index, true, monitor_index, false);
SETTING_INT("video_fullscreen_x", &settings->video.fullscreen_x, true, fullscreen_x, false);
@ -911,7 +894,6 @@ static int populate_settings_int(settings_t *settings, struct config_int_setting
#ifdef HAVE_NETWORKGAMEPAD
SETTING_INT("network_remote_base_port", &settings->network_remote_base_port, true, network_remote_base_port, false);
#endif
SETTING_INT("menu_scroll_up_btn", &settings->menu_scroll_up_btn, true, default_menu_btn_scroll_up, false);
#ifdef HAVE_GEKKO
SETTING_INT("video_viwidth", &settings->video.viwidth, true, video_viwidth, false);
#endif

View File

@ -296,6 +296,8 @@ typedef struct settings
unsigned menu_toggle_gamepad_combo;
bool back_as_menu_toggle_enable;
bool all_users_control_menu;
bool menu_swap_ok_cancel_buttons;
#if defined(VITA)
bool backtouch_enable;
bool backtouch_toggle;
@ -454,14 +456,6 @@ typedef struct settings
bool sort_savefiles_enable;
bool sort_savestates_enable;
unsigned menu_ok_btn;
unsigned menu_cancel_btn;
unsigned menu_search_btn;
unsigned menu_default_btn;
unsigned menu_info_btn;
unsigned menu_scroll_down_btn;
unsigned menu_scroll_up_btn;
char username[32];
#ifdef HAVE_LANGEXTRA
unsigned int user_language;

View File

@ -817,26 +817,35 @@ uint64_t input_menu_keys_pressed(void)
if (menu_input_dialog_get_display_kb())
return ret;
if (current_input->input_state(current_input_data, binds, 0,
RETRO_DEVICE_KEYBOARD, 0, RETROK_RETURN))
BIT64_SET(ret, settings->menu_ok_btn);
{
if (!settings->input.menu_swap_ok_cancel_buttons)
BIT64_SET(ret, RETRO_DEVICE_ID_JOYPAD_A);
else
BIT64_SET(ret, RETRO_DEVICE_ID_JOYPAD_B);
}
if (current_input->input_state(current_input_data, binds, 0,
RETRO_DEVICE_KEYBOARD, 0, RETROK_BACKSPACE))
BIT64_SET(ret, settings->menu_cancel_btn);
{
if (!settings->input.menu_swap_ok_cancel_buttons)
BIT64_SET(ret, RETRO_DEVICE_ID_JOYPAD_B);
else
BIT64_SET(ret, RETRO_DEVICE_ID_JOYPAD_A);
}
if (current_input->input_state(current_input_data, binds, 0,
RETRO_DEVICE_KEYBOARD, 0, RETROK_SPACE))
BIT64_SET(ret, settings->menu_default_btn);
BIT64_SET(ret, RETRO_DEVICE_ID_JOYPAD_START);
if (current_input->input_state(current_input_data, binds, 0,
RETRO_DEVICE_KEYBOARD, 0, RETROK_SLASH))
BIT64_SET(ret, settings->menu_search_btn);
BIT64_SET(ret, RETRO_DEVICE_ID_JOYPAD_X);
if (current_input->input_state(current_input_data, binds, 0,
RETRO_DEVICE_KEYBOARD, 0, RETROK_RSHIFT))
BIT64_SET(ret, settings->menu_info_btn);
BIT64_SET(ret, RETRO_DEVICE_ID_JOYPAD_SELECT);
if (current_input->input_state(current_input_data, binds, 0,
RETRO_DEVICE_KEYBOARD, 0, RETROK_RIGHT))

View File

@ -408,6 +408,8 @@ MSG_HASH(MENU_ENUM_LABEL_INFO_SCREEN,
"info_screen")
MSG_HASH(MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU,
"all_users_control_menu")
MSG_HASH(MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL,
"menu_swap_ok_cancel")
MSG_HASH(MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE,
"input_autodetect_enable")
MSG_HASH(MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD,

View File

@ -612,6 +612,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Autoconfig Enable")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Analog Stick Deadzone")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Menu Swap Ok & Cancel Buttons")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BACK_AS_MENU_ENUM_TOGGLE_ENABLE,
"Back As Menu Toggle Enable")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,

View File

@ -5317,6 +5317,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
#endif
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO, PARSE_ONLY_UINT, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL, PARSE_ONLY_BOOL, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU, PARSE_ONLY_BOOL, false);
ret = menu_displaylist_parse_settings_enum(menu, info,

View File

@ -347,6 +347,10 @@ unsigned menu_event(uint64_t input, uint64_t trigger_input)
trigger_input = 0;
}
unsigned menu_ok_btn = settings->input.menu_swap_ok_cancel_buttons ?
RETRO_DEVICE_ID_JOYPAD_A: RETRO_DEVICE_ID_JOYPAD_B;
unsigned menu_cancel_btn = settings->input.menu_swap_ok_cancel_buttons ?
RETRO_DEVICE_ID_JOYPAD_B: RETRO_DEVICE_ID_JOYPAD_A;
if (trigger_input & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_UP))
ret = MENU_ACTION_UP;
@ -356,21 +360,21 @@ unsigned menu_event(uint64_t input, uint64_t trigger_input)
ret = MENU_ACTION_LEFT;
else if (trigger_input & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_RIGHT))
ret = MENU_ACTION_RIGHT;
else if (trigger_input & (UINT64_C(1) << settings->menu_scroll_up_btn))
else if (trigger_input & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_L))
ret = MENU_ACTION_SCROLL_UP;
else if (trigger_input & (UINT64_C(1) << settings->menu_scroll_down_btn))
else if (trigger_input & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_R))
ret = MENU_ACTION_SCROLL_DOWN;
else if (trigger_input & (UINT64_C(1) << settings->menu_cancel_btn))
else if (trigger_input & (UINT64_C(1) << menu_ok_btn))
ret = MENU_ACTION_CANCEL;
else if (trigger_input & (UINT64_C(1) << settings->menu_ok_btn))
else if (trigger_input & (UINT64_C(1) << menu_cancel_btn))
ret = MENU_ACTION_OK;
else if (trigger_input & (UINT64_C(1) << settings->menu_search_btn))
else if (trigger_input & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_X))
ret = MENU_ACTION_SEARCH;
else if (trigger_input & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_Y))
ret = MENU_ACTION_SCAN;
else if (trigger_input & (UINT64_C(1) << settings->menu_default_btn))
else if (trigger_input & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_START))
ret = MENU_ACTION_START;
else if (trigger_input & (UINT64_C(1) << settings->menu_info_btn))
else if (trigger_input & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_SELECT))
ret = MENU_ACTION_INFO;
else if (trigger_input & (UINT64_C(1) << RARCH_MENU_TOGGLE))
ret = MENU_ACTION_TOGGLE;

View File

@ -3997,6 +3997,22 @@ static bool setting_append_list(
general_read_handler);
menu_settings_list_current_add_range(list, list_info, 0, 3, 1, true, true);
CONFIG_BOOL(
list, list_info,
&settings->input.menu_swap_ok_cancel_buttons,
MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL,
MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
menu_swap_ok_cancel_buttons,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_NONE
);
CONFIG_BOOL(
list, list_info,
&settings->input.all_users_control_menu,

View File

@ -454,6 +454,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_INPUT_MAX_USERS,
MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE,
MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD,
MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL,
MENU_ENUM_LABEL_INPUT_SMALL_KEYBOARD_ENABLE,
MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE,
MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH,
@ -563,6 +564,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_INPUT_MAX_USERS,
MENU_ENUM_LABEL_VALUE_INPUT_REMAP_BINDS_ENABLE,
MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
MENU_ENUM_LABEL_VALUE_INPUT_BIND_TIMEOUT,
MENU_ENUM_LABEL_VALUE_INPUT_TURBO_PERIOD,
MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_ENABLE,