From d1d29143b23cc9f45975f9e6d560ce95f0d1d248 Mon Sep 17 00:00:00 2001 From: Gregor Richards Date: Fri, 9 Dec 2016 22:02:31 -0500 Subject: [PATCH] Move nickname field to connections. Spectate mode officially broken. --- network/netplay/netplay_common.c | 55 +++--------------------------- network/netplay/netplay_private.h | 6 ++-- network/netplay/netplay_spectate.c | 4 +++ 3 files changed, 12 insertions(+), 53 deletions(-) diff --git a/network/netplay/netplay_common.c b/network/netplay/netplay_common.c index b56c3b99d9..85b9361fba 100644 --- a/network/netplay/netplay_common.c +++ b/network/netplay/netplay_common.c @@ -29,51 +29,6 @@ #include "../../runloop.h" #include "../../version.h" -bool netplay_get_nickname(netplay_t *netplay, int fd) -{ - uint8_t nick_size; - - if (!socket_receive_all_blocking(fd, &nick_size, sizeof(nick_size))) - { - RARCH_ERR("%s\n", - msg_hash_to_str(MSG_FAILED_TO_RECEIVE_NICKNAME_SIZE_FROM_HOST)); - return false; - } - - if (nick_size >= sizeof(netplay->other_nick)) - { - RARCH_ERR("%s\n", - msg_hash_to_str(MSG_INVALID_NICKNAME_SIZE)); - return false; - } - - if (!socket_receive_all_blocking(fd, netplay->other_nick, nick_size)) - { - RARCH_ERR("%s\n", msg_hash_to_str(MSG_FAILED_TO_RECEIVE_NICKNAME)); - return false; - } - - return true; -} -bool netplay_send_nickname(netplay_t *netplay, int fd) -{ - uint8_t nick_size = strlen(netplay->nick); - - if (!socket_send_all_blocking(fd, &nick_size, sizeof(nick_size), false)) - { - RARCH_ERR("%s\n", msg_hash_to_str(MSG_FAILED_TO_SEND_NICKNAME_SIZE)); - return false; - } - - if (!socket_send_all_blocking(fd, netplay->nick, nick_size, false)) - { - RARCH_ERR("%s\n", msg_hash_to_str(MSG_FAILED_TO_SEND_NICKNAME)); - return false; - } - - return true; -} - /** * netplay_impl_magic: * @@ -307,7 +262,7 @@ static void netplay_handshake_ready(netplay_t *netplay, struct netplay_connectio if (netplay->is_server) { - netplay_log_connection(&netplay->other_addr, 0, netplay->other_nick); + netplay_log_connection(&netplay->other_addr, 0, connection->nick); /* Send them the savestate */ if (!(netplay->quirks & (NETPLAY_QUIRK_NO_SAVESTATES|NETPLAY_QUIRK_NO_TRANSMISSION))) @@ -319,7 +274,7 @@ static void netplay_handshake_ready(netplay_t *netplay, struct netplay_connectio { snprintf(msg, sizeof(msg), "%s: \"%s\"", msg_hash_to_str(MSG_CONNECTED_TO), - netplay->other_nick); + connection->nick); RARCH_LOG("%s\n", msg); runloop_msg_queue_push(msg, 1, 180, false); } @@ -359,9 +314,9 @@ bool netplay_handshake_pre_nick(netplay_t *netplay, struct netplay_connection *c return false; } - strlcpy(netplay->other_nick, nick_buf.nick, - (sizeof(netplay->other_nick) < sizeof(nick_buf.nick)) ? - sizeof(netplay->other_nick) : sizeof(nick_buf.nick)); + strlcpy(connection->nick, nick_buf.nick, + (sizeof(connection->nick) < sizeof(nick_buf.nick)) ? + sizeof(connection->nick) : sizeof(nick_buf.nick)); if (netplay->is_server) { diff --git a/network/netplay/netplay_private.h b/network/netplay/netplay_private.h index 841fd9b5b3..bc8e147da4 100644 --- a/network/netplay/netplay_private.h +++ b/network/netplay/netplay_private.h @@ -232,6 +232,9 @@ struct netplay_connection /* fd associated with this connection */ int fd; + /* Nickname of peer */ + char nick[32]; + /* Buffers for sending and receiving data */ struct socket_buffer send_packet_buffer, recv_packet_buffer; @@ -247,9 +250,6 @@ struct netplay /* Our nickname */ char nick[32]; - /* Nickname of peer */ - char other_nick[32]; - /* Address of peer */ struct sockaddr_storage other_addr; diff --git a/network/netplay/netplay_spectate.c b/network/netplay/netplay_spectate.c index 78c41094f8..dd043af35a 100644 --- a/network/netplay/netplay_spectate.c +++ b/network/netplay/netplay_spectate.c @@ -97,6 +97,7 @@ static bool netplay_spectate_pre_frame(netplay_t *netplay) return true; } +#if 0 if (!netplay_get_nickname(netplay, new_fd)) { RARCH_ERR("%s\n", msg_hash_to_str(MSG_FAILED_TO_GET_NICKNAME_FROM_CLIENT)); @@ -110,6 +111,7 @@ static bool netplay_spectate_pre_frame(netplay_t *netplay) socket_close(new_fd); return true; } +#endif /* Wait until it's safe to serialize */ if (netplay->quirks & NETPLAY_QUIRK_INITIALIZATION) @@ -278,11 +280,13 @@ static bool netplay_spectate_info_cb(netplay_t* netplay, unsigned frames) } else { +#if 0 if (!netplay_send_nickname(netplay, netplay->connections[0].fd)) return false; if (!netplay_get_nickname(netplay, netplay->connections[0].fd)) return false; +#endif } netplay->connections[0].mode = netplay->self_mode = NETPLAY_CONNECTION_PLAYING;