Files
@ r26005:fa9fad1bd9d6
Branch filter:
Location: cpp/openttd-patchpack/source/src/network/network_gamelist.h - annotation
r26005:fa9fad1bd9d6
2.2 KiB
text/x-c
Add: [Network] Keep the refresh button in lowered state while refreshing (#9600)
This gives user visual feedback that the refresh is still pending, and
prevents people from clicking again and again thinking nothing is
happening. This is especially true for connections that fall back to
TURN, as that takes a few seconds to kick in.
Additionally, prevent clicking on the button again while a refresh
is pending. This is only delaying a successful result.
This gives user visual feedback that the refresh is still pending, and
prevents people from clicking again and again thinking nothing is
happening. This is especially true for connections that fall back to
TURN, as that takes a few seconds to kick in.
Additionally, prevent clicking on the button again while a refresh
is pending. This is only delaying a successful result.
r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r9111:983de9c5a848 r9111:983de9c5a848 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r11546:a4422f41f18b r25289:7c44ede418ad r9428:6800206a6c0d r9428:6800206a6c0d r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r5917:d8ebeb21f83f r5917:d8ebeb21f83f r25805:c63f8c18bd7e r25390:7b2cc712ea32 r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r25925:38cfb717fb3f r26005:fa9fad1bd9d6 r25925:38cfb717fb3f r25925:38cfb717fb3f r5917:d8ebeb21f83f r5917:d8ebeb21f83f r5917:d8ebeb21f83f r25799:67f31839e848 r5917:d8ebeb21f83f r25388:32b23efdcf4e r5475:3f5cd13d1b63 r25799:67f31839e848 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 | /*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file network_gamelist.h Handling of the list of games. */
#ifndef NETWORK_GAMELIST_H
#define NETWORK_GAMELIST_H
#include "core/address.h"
#include "core/game_info.h"
#include "network_type.h"
/** The status a server can be in. */
enum NetworkGameListStatus {
NGLS_OFFLINE, ///< Server is offline (or cannot be queried).
NGLS_ONLINE, ///< Server is online.
NGLS_FULL, ///< Server is full and cannot be queried.
NGLS_BANNED, ///< You are banned from this server.
NGLS_TOO_OLD, ///< Server is too old to query.
};
/** Structure with information shown in the game list (GUI) */
struct NetworkGameList {
NetworkGameList(const std::string &connection_string) : connection_string(connection_string) {}
NetworkGameInfo info = {}; ///< The game information of this server.
std::string connection_string; ///< Address of the server.
NetworkGameListStatus status = NGLS_OFFLINE; ///< Stats of the server.
bool manually = false; ///< True if the server was added manually.
bool refreshing = false; ///< Whether this server is being queried.
int version = 0; ///< Used to see which servers are no longer available on the Game Coordinator and can be removed.
NetworkGameList *next = nullptr; ///< Next pointer to make a linked game list.
};
extern NetworkGameList *_network_game_list;
extern int _network_game_list_version;
NetworkGameList *NetworkGameListAddItem(const std::string &connection_string);
void NetworkGameListRemoveItem(NetworkGameList *remove);
void NetworkGameListRemoveExpired();
#endif /* NETWORK_GAMELIST_H */
|