Add has_set* state for netplay settings.

This commit is contained in:
Themaister 2014-06-10 00:01:03 +02:00
parent 76cafc24f1
commit 159ddb86d3
3 changed files with 32 additions and 6 deletions

View File

@ -390,6 +390,12 @@ struct global
bool has_set_libretro_directory;
bool has_set_verbosity;
bool has_set_netplay_mode;
bool has_set_netplay_nickname;
bool has_set_netplay_ip_address;
bool has_set_netplay_delay_frames;
bool has_set_netplay_ip_port;
#ifdef HAVE_RMENU
char menu_texture_path[PATH_MAX];
#endif

View File

@ -903,6 +903,13 @@ static void parse_input(int argc, char *argv[])
g_extern.has_set_libretro = false;
g_extern.has_set_libretro_directory = false;
g_extern.has_set_verbosity = false;
g_extern.has_set_netplay_mode = false;
g_extern.has_set_netplay_nickname = false;
g_extern.has_set_netplay_ip_address = false;
g_extern.has_set_netplay_delay_frames = false;
g_extern.has_set_netplay_ip_port = false;
*g_extern.subsystem = '\0';
if (argc < 2)
@ -1126,16 +1133,20 @@ static void parse_input(int argc, char *argv[])
#ifdef HAVE_NETPLAY
case 'H':
g_extern.has_set_netplay_ip_address = true;
g_extern.netplay_enable = true;
*g_extern.netplay_server = '\0';
break;
case 'C':
g_extern.has_set_netplay_ip_address = true;
g_extern.netplay_enable = true;
strlcpy(g_extern.netplay_server, optarg, sizeof(g_extern.netplay_server));
break;
case 'F':
g_extern.netplay_sync_frames = strtol(optarg, NULL, 0);
g_extern.has_set_netplay_delay_frames = true;
break;
#endif
@ -1159,14 +1170,17 @@ static void parse_input(int argc, char *argv[])
#ifdef HAVE_NETPLAY
case 'p':
g_extern.has_set_netplay_ip_port = true;
g_extern.netplay_port = strtoul(optarg, NULL, 0);
break;
case 'S':
g_extern.has_set_netplay_mode = true;
g_extern.netplay_is_spectate = true;
break;
case 'N':
g_extern.has_set_netplay_nickname = true;
strlcpy(g_extern.netplay_nick, optarg, sizeof(g_extern.netplay_nick));
break;
#endif

View File

@ -1092,12 +1092,18 @@ bool config_load_file(const char *path, bool set_defaults)
CONFIG_GET_PATH(input.autoconfig_dir, "joypad_autoconfig_dir");
#ifdef HAVE_NETPLAY
CONFIG_GET_BOOL_EXTERN(netplay_is_spectate, "netplay_spectator_mode_enable");
CONFIG_GET_BOOL_EXTERN(netplay_is_client, "netplay_mode");
CONFIG_GET_PATH_EXTERN(netplay_nick, "netplay_nickname");
CONFIG_GET_PATH_EXTERN(netplay_server, "netplay_ip_address");
CONFIG_GET_INT_EXTERN(netplay_sync_frames, "netplay_delay_frames");
CONFIG_GET_INT_EXTERN(netplay_port, "netplay_ip_port");
if (!g_extern.has_set_netplay_mode)
CONFIG_GET_BOOL_EXTERN(netplay_is_spectate, "netplay_spectator_mode_enable");
if (!g_extern.has_set_netplay_mode)
CONFIG_GET_BOOL_EXTERN(netplay_is_client, "netplay_mode");
if (!g_extern.has_set_netplay_nickname)
CONFIG_GET_PATH_EXTERN(netplay_nick, "netplay_nickname");
if (!g_extern.has_set_netplay_ip_address)
CONFIG_GET_PATH_EXTERN(netplay_server, "netplay_ip_address");
if (!g_extern.has_set_netplay_delay_frames)
CONFIG_GET_INT_EXTERN(netplay_sync_frames, "netplay_delay_frames");
if (!g_extern.has_set_netplay_ip_port)
CONFIG_GET_INT_EXTERN(netplay_port, "netplay_ip_port");
#endif
#ifdef ANDROID