mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 00:39:53 +00:00
(Menu) Refactor Netplay TCP/UDP Port setting
This commit is contained in:
parent
c07dcb2dc2
commit
c45a063b99
@ -519,6 +519,9 @@ static const bool menu_show_start_screen = true;
|
||||
// Log level for libretro cores (GET_LOG_INTERFACE).
|
||||
static const unsigned libretro_log_level = 0;
|
||||
|
||||
#ifndef RARCH_DEFAULT_PORT
|
||||
#define RARCH_DEFAULT_PORT 55435
|
||||
#endif
|
||||
|
||||
////////////////////
|
||||
// Keybinds, Joypad
|
||||
|
@ -336,8 +336,9 @@ static void menu_common_entries_init(menu_handle_t *menu, unsigned menu_type)
|
||||
file_list_push(menu->selection_buf, "", "netplay_spectator_mode_enable", MENU_SETTINGS_NETPLAY_SPECTATOR_MODE_ENABLE, 0);
|
||||
#ifdef HAVE_NETPLAY
|
||||
file_list_push(menu->selection_buf, "Host IP Address", "", MENU_SETTINGS_NETPLAY_HOST_IP_ADDRESS, 0);
|
||||
file_list_push(menu->selection_buf, "TCP/UDP Port", "", MENU_SETTINGS_NETPLAY_TCP_UDP_PORT, 0);
|
||||
#endif
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "netplay_tcp_udp_port")))
|
||||
file_list_push(menu->selection_buf, "", "netplay_tcp_udp_port", MENU_SETTINGS_NETPLAY_TCP_UDP_PORT, 0);
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "netplay_delay_frames")))
|
||||
file_list_push(menu->selection_buf, "", "netplay_delay_frames", MENU_SETTINGS_NETPLAY_DELAY_FRAMES, 0);
|
||||
break;
|
||||
@ -1972,35 +1973,44 @@ static void menu_common_setting_set_current_fraction(rarch_setting_t *setting, u
|
||||
|
||||
static void menu_common_setting_set_current_unsigned_integer(rarch_setting_t *setting, unsigned action)
|
||||
{
|
||||
switch (action)
|
||||
if (!strcmp(setting->name, "netplay_tcp_udp_port"))
|
||||
{
|
||||
case MENU_ACTION_LEFT:
|
||||
if (*setting->value.unsigned_integer != setting->min)
|
||||
*setting->value.unsigned_integer = *setting->value.unsigned_integer - setting->step;
|
||||
|
||||
if (setting->enforce_minrange)
|
||||
{
|
||||
if (*setting->value.unsigned_integer < setting->min)
|
||||
*setting->value.unsigned_integer = setting->min;
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ACTION_RIGHT:
|
||||
case MENU_ACTION_OK:
|
||||
*setting->value.unsigned_integer = *setting->value.unsigned_integer + setting->step;
|
||||
|
||||
if (setting->enforce_maxrange)
|
||||
{
|
||||
if (*setting->value.unsigned_integer > setting->max)
|
||||
*setting->value.unsigned_integer = setting->max;
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ACTION_START:
|
||||
if (action == MENU_ACTION_OK)
|
||||
menu_key_start_line(driver.menu, "TCP/UDP Port: ", netplay_port_callback);
|
||||
else if (action == MENU_ACTION_START)
|
||||
*setting->value.unsigned_integer = setting->default_value.unsigned_integer;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
case MENU_ACTION_LEFT:
|
||||
if (*setting->value.unsigned_integer != setting->min)
|
||||
*setting->value.unsigned_integer = *setting->value.unsigned_integer - setting->step;
|
||||
|
||||
if (setting->enforce_minrange)
|
||||
{
|
||||
if (*setting->value.unsigned_integer < setting->min)
|
||||
*setting->value.unsigned_integer = setting->min;
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ACTION_RIGHT:
|
||||
case MENU_ACTION_OK:
|
||||
*setting->value.unsigned_integer = *setting->value.unsigned_integer + setting->step;
|
||||
|
||||
if (setting->enforce_maxrange)
|
||||
{
|
||||
if (*setting->value.unsigned_integer > setting->max)
|
||||
*setting->value.unsigned_integer = setting->max;
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ACTION_START:
|
||||
*setting->value.unsigned_integer = setting->default_value.unsigned_integer;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (setting->change_handler)
|
||||
setting->change_handler(setting);
|
||||
}
|
||||
@ -3000,11 +3010,6 @@ static unsigned menu_gx_resolutions[GX_RESOLUTIONS_LAST][2] = {
|
||||
static unsigned menu_current_gx_resolution = GX_RESOLUTIONS_640_480;
|
||||
#endif
|
||||
|
||||
#ifndef RARCH_DEFAULT_PORT
|
||||
#define RARCH_DEFAULT_PORT 55435
|
||||
#endif
|
||||
|
||||
|
||||
static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t *setting)
|
||||
{
|
||||
struct retro_perf_counter **counters;
|
||||
@ -3672,12 +3677,6 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t
|
||||
else if (action == MENU_ACTION_START)
|
||||
*g_extern.netplay_server = '\0';
|
||||
break;
|
||||
case MENU_SETTINGS_NETPLAY_TCP_UDP_PORT:
|
||||
if (action == MENU_ACTION_OK)
|
||||
menu_key_start_line(driver.menu, "TCP/UDP Port: ", netplay_port_callback);
|
||||
else if (action == MENU_ACTION_START)
|
||||
g_extern.netplay_port = RARCH_DEFAULT_PORT;
|
||||
break;
|
||||
#endif
|
||||
case MENU_SETTINGS_NETPLAY_NICKNAME:
|
||||
if (action == MENU_ACTION_OK)
|
||||
@ -4098,9 +4097,6 @@ static void menu_common_setting_set_label(char *type_str,
|
||||
case MENU_SETTINGS_NETPLAY_HOST_IP_ADDRESS:
|
||||
strlcpy(type_str, g_extern.netplay_server, type_str_size);
|
||||
break;
|
||||
case MENU_SETTINGS_NETPLAY_TCP_UDP_PORT:
|
||||
snprintf(type_str, type_str_size, "%d", g_extern.netplay_port ? g_extern.netplay_port : RARCH_DEFAULT_PORT);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
*type_str = '\0';
|
||||
|
@ -73,9 +73,14 @@ static void menu_search_callback(void *userdata, const char *str)
|
||||
void netplay_port_callback(void *userdata, const char *str)
|
||||
{
|
||||
menu_handle_t *menu = (menu_handle_t*)userdata;
|
||||
rarch_setting_t *current_setting = NULL;
|
||||
rarch_setting_t *setting_data = (rarch_setting_t *)setting_data_get_list();
|
||||
|
||||
if (str && *str)
|
||||
g_extern.netplay_port = strtoul(str, NULL, 0);
|
||||
if (str && *str && setting_data)
|
||||
{
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "netplay_tcp_udp_port")))
|
||||
*current_setting->value.unsigned_integer = strtoul(str, NULL, 0);
|
||||
}
|
||||
menu_key_end_line(menu);
|
||||
}
|
||||
|
||||
@ -93,7 +98,7 @@ void netplay_ipaddress_callback(void *userdata, const char *str)
|
||||
void netplay_nickname_callback(void *userdata, const char *str)
|
||||
{
|
||||
menu_handle_t *menu = (menu_handle_t*)userdata;
|
||||
rarch_setting_t *current_setting;
|
||||
rarch_setting_t *current_setting = NULL;
|
||||
rarch_setting_t *setting_data = (rarch_setting_t *)setting_data_get_list();
|
||||
|
||||
if (str && *str && setting_data)
|
||||
|
@ -626,7 +626,7 @@ struct global
|
||||
bool netplay_is_client;
|
||||
bool netplay_is_spectate;
|
||||
unsigned netplay_sync_frames;
|
||||
uint16_t netplay_port;
|
||||
unsigned netplay_port;
|
||||
#endif
|
||||
|
||||
// Recording.
|
||||
|
@ -1075,6 +1075,8 @@ static void general_read_handler(const void *data)
|
||||
#ifdef HAVE_NETPLAY
|
||||
else if (!strcmp(setting->name, "netplay_client_swap_input"))
|
||||
*setting->value.boolean = g_settings.input.netplay_client_swap_input;
|
||||
else if (!strcmp(setting->name, "netplay_tcp_udp_port"))
|
||||
*setting->value.unsigned_integer = g_extern.netplay_port;
|
||||
#endif
|
||||
#ifdef HAVE_OVERLAY
|
||||
else if (!strcmp(setting->name, "input_overlay"))
|
||||
@ -1195,6 +1197,8 @@ static void general_read_handler(const void *data)
|
||||
*setting->value.boolean = g_extern.netplay_is_spectate;
|
||||
else if (!strcmp(setting->name, "netplay_delay_frames"))
|
||||
*setting->value.unsigned_integer = g_extern.netplay_sync_frames;
|
||||
else if (!strcmp(setting->name, "netplay_tcp_udp_port"))
|
||||
*setting->value.unsigned_integer = g_extern.netplay_port;
|
||||
#endif
|
||||
else if (!strcmp(setting->name, "log_verbosity"))
|
||||
*setting->value.boolean = g_extern.verbosity;
|
||||
@ -1858,6 +1862,7 @@ rarch_setting_t* setting_data_get_list(void)
|
||||
CONFIG_BOOL(g_extern.netplay_is_client, "netplay_mode", "Netplay Client Enable", false, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_BOOL(g_extern.netplay_is_spectate, "netplay_spectator_mode_enable", "Netplay Spectator Enable", false, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_UINT(g_extern.netplay_sync_frames, "netplay_delay_frames", "Netplay Delay Frames", 0, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 10, 1, true, false)
|
||||
CONFIG_UINT(g_extern.netplay_port, "netplay_tcp_udp_port", "Netplay TCP/UDP Port", RARCH_DEFAULT_PORT, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(1, 99999, 1, true, true)
|
||||
END_SUB_GROUP()
|
||||
END_GROUP()
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user