make the --start netplay host-- entry context sensitive

This commit is contained in:
radius 2017-05-15 18:58:46 -05:00
parent 56fb642119
commit a98033f375
18 changed files with 89 additions and 10 deletions

View File

@ -988,6 +988,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"连接到游戏主机") "连接到游戏主机")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"作为游戏主机") "作为游戏主机")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"服务器地址") "服务器地址")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -979,6 +979,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Verbinde zu einem Netplay-Host") "Verbinde zu einem Netplay-Host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Starte Hosting") "Starte Hosting")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Server-Adresse") "Server-Adresse")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -898,6 +898,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Connect to Netplay host") "Connect to Netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Start hosting") "Start hosting")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Server Address") "Server Address")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_MODE, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_MODE,

View File

@ -892,6 +892,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Connexion à l'hôte distant") "Connexion à l'hôte distant")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Commencer l'hébergement") "Commencer l'hébergement")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Adresse IP") "Adresse IP")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_MODE, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_MODE,

View File

@ -864,6 +864,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Connetti alla rete ospite") "Connetti alla rete ospite")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Comincia ad ospitare") "Comincia ad ospitare")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Indirizzo Server") "Indirizzo Server")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -995,6 +995,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"ネットプレイサーバーに接続") "ネットプレイサーバーに接続")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"ホストする") "ホストする")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"サーバーのIPアドレス") "サーバーのIPアドレス")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -979,6 +979,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"넷플레이 호스트 연결") "넷플레이 호스트 연결")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"넷플레이 호스트 시작") "넷플레이 호스트 시작")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"서버 주소") "서버 주소")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -898,6 +898,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Connect to Netplay host") "Connect to Netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Start hosting") "Start hosting")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Server Adres") "Server Adres")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_MODE, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_MODE,

View File

@ -977,6 +977,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Conecar ao hospedeiro do netplay") "Conecar ao hospedeiro do netplay")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Iniciar hospedeiro do netplay") "Iniciar hospedeiro do netplay")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Endereço do Servidor") "Endereço do Servidor")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -977,6 +977,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Conecar ao hospedeiro do netplay") "Conecar ao hospedeiro do netplay")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Iniciar hospedeiro do netplay") "Iniciar hospedeiro do netplay")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Endereço do Servidor") "Endereço do Servidor")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -904,6 +904,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Подключение к Netplay-хосту") "Подключение к Netplay-хосту")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Старт хостинг") "Старт хостинг")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Адрес сервера") "Адрес сервера")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_MODE, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_MODE,

View File

@ -991,6 +991,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Connect to netplay host") "Connect to netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Start netplay host") "Start netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Server Address") "Server Address")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -991,6 +991,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_CLIENT,
"Connect to netplay host") "Connect to netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST,
"Start netplay host") "Start netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST,
"Stop netplay host")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS,
"Server Address") "Server Address")
MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS,

View File

@ -3515,11 +3515,31 @@ finish:
sizeof(struct netplay_room)); sizeof(struct netplay_room));
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, file_list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, file_list);
menu_entries_append_enum(file_list, if (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_ENABLED, NULL))
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST), {
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST), menu_entries_append_enum(file_list,
MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST),
MENU_SETTING_ACTION, 0, 0); msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST),
MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST,
MENU_SETTING_ACTION, 0, 0);
}
else if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_SERVER_ENABLED, NULL))
{
menu_entries_append_enum(file_list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST),
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_DISCONNECT),
MENU_ENUM_LABEL_NETPLAY_DISCONNECT,
MENU_SETTING_ACTION, 0, 0);
}
else
{
menu_entries_append_enum(file_list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_DISCONNECT),
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_DISCONNECT),
MENU_ENUM_LABEL_NETPLAY_DISCONNECT,
MENU_SETTING_ACTION, 0, 0);
}
menu_entries_append_enum(file_list, menu_entries_append_enum(file_list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_REFRESH_ROOMS), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_REFRESH_ROOMS),
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_REFRESH_ROOMS), msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_REFRESH_ROOMS),

View File

@ -42,6 +42,7 @@
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
#include <net/net_http_parse.h> #include <net/net_http_parse.h>
#include "../../network/netplay/netplay.h"
#include "../network/netplay/netplay_discovery.h" #include "../network/netplay/netplay_discovery.h"
#endif #endif
@ -3016,11 +3017,32 @@ static int menu_displaylist_parse_netplay_room_list(
{ {
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST), if (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_ENABLED, NULL))
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST), {
MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST, menu_entries_append_enum(info->list,
MENU_SETTING_ACTION, 0, 0); msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE_HOST),
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST),
MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST,
MENU_SETTING_ACTION, 0, 0);
}
else if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_SERVER_ENABLED, NULL))
{
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_DISABLE_HOST),
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_DISCONNECT),
MENU_ENUM_LABEL_NETPLAY_DISCONNECT,
MENU_SETTING_ACTION, 0, 0);
}
else
{
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_DISCONNECT),
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_DISCONNECT),
MENU_ENUM_LABEL_NETPLAY_DISCONNECT,
MENU_SETTING_ACTION, 0, 0);
}
menu_entries_append_enum(info->list, menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_REFRESH_ROOMS), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_REFRESH_ROOMS),
msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_REFRESH_ROOMS), msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_REFRESH_ROOMS),

View File

@ -916,6 +916,7 @@ enum msg_hash_enums
/* Netplay */ /* Netplay */
MENU_LABEL(NETPLAY_ENABLE_HOST), MENU_LABEL(NETPLAY_ENABLE_HOST),
MENU_LABEL(NETPLAY_DISABLE_HOST),
MENU_LABEL(NETPLAY_ENABLE_CLIENT), MENU_LABEL(NETPLAY_ENABLE_CLIENT),
MENU_LABEL(NETPLAY_DISCONNECT), MENU_LABEL(NETPLAY_DISCONNECT),
MENU_LABEL(NETPLAY_SETTINGS), MENU_LABEL(NETPLAY_SETTINGS),

View File

@ -40,6 +40,7 @@ enum rarch_netplay_ctl_state
RARCH_NETPLAY_CTL_ENABLE_CLIENT, RARCH_NETPLAY_CTL_ENABLE_CLIENT,
RARCH_NETPLAY_CTL_DISABLE, RARCH_NETPLAY_CTL_DISABLE,
RARCH_NETPLAY_CTL_IS_ENABLED, RARCH_NETPLAY_CTL_IS_ENABLED,
RARCH_NETPLAY_CTL_IS_SERVER_ENABLED,
RARCH_NETPLAY_CTL_IS_DATA_INITED, RARCH_NETPLAY_CTL_IS_DATA_INITED,
RARCH_NETPLAY_CTL_PAUSE, RARCH_NETPLAY_CTL_PAUSE,
RARCH_NETPLAY_CTL_UNPAUSE, RARCH_NETPLAY_CTL_UNPAUSE,

View File

@ -1271,6 +1271,11 @@ bool netplay_driver_ctl(enum rarch_netplay_ctl_state state, void *data)
ret = false; ret = false;
goto done; goto done;
case RARCH_NETPLAY_CTL_IS_SERVER_ENABLED:
ret = netplay_enabled && !netplay_is_client;
RARCH_LOG("TEST: %d = %d && %d", ret, netplay_enabled, netplay_is_client);
goto done;
default: default:
goto done; goto done;
} }
@ -1287,6 +1292,10 @@ bool netplay_driver_ctl(enum rarch_netplay_ctl_state state, void *data)
goto done; goto done;
case RARCH_NETPLAY_CTL_IS_ENABLED: case RARCH_NETPLAY_CTL_IS_ENABLED:
goto done; goto done;
case RARCH_NETPLAY_CTL_IS_SERVER_ENABLED:
ret = netplay_enabled && !netplay_is_client;
RARCH_LOG("TEST: %d = %d && %d", ret, netplay_enabled, netplay_is_client);
goto done;
case RARCH_NETPLAY_CTL_POST_FRAME: case RARCH_NETPLAY_CTL_POST_FRAME:
netplay_post_frame(netplay_data); netplay_post_frame(netplay_data);
break; break;