1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-22 23:33:04 +01:00

add default master server url and refactor

This commit is contained in:
IntelOrca
2015-11-07 23:56:16 +00:00
parent 74fe482a62
commit 9bad4183a7
5 changed files with 27 additions and 18 deletions

View File

@@ -157,7 +157,7 @@ config_enum_definition _dateFormatEnum[] = {
config_property_definition _generalDefinitions[] = {
{ offsetof(general_configuration, always_show_gridlines), "always_show_gridlines", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(general_configuration, autosave_frequency), "autosave", CONFIG_VALUE_TYPE_UINT8, AUTOSAVE_EVERY_5MINUTES, NULL },
{ offsetof(general_configuration, autosave_frequency), "autosave", CONFIG_VALUE_TYPE_UINT8, AUTOSAVE_EVERY_5MINUTES, NULL },
{ offsetof(general_configuration, confirmation_prompt), "confirmation_prompt", CONFIG_VALUE_TYPE_UINT8, 0, NULL },
{ offsetof(general_configuration, construction_marker_colour), "construction_marker_colour", CONFIG_VALUE_TYPE_UINT8, false, NULL },
{ offsetof(general_configuration, currency_format), "currency_format", CONFIG_VALUE_TYPE_UINT8, CURRENCY_POUNDS, _currencyEnum },
@@ -243,8 +243,8 @@ config_property_definition _networkDefinitions[] = {
{ offsetof(network_configuration, advertise), "advertise", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(network_configuration, maxplayers), "maxplayers", CONFIG_VALUE_TYPE_UINT8, 16, NULL },
{ offsetof(network_configuration, server_name), "server_name", CONFIG_VALUE_TYPE_STRING, {.value_string = "Server" }, NULL },
{ offsetof(network_configuration, server_description), "server_description", CONFIG_VALUE_TYPE_STRING, {.value_string = "" }, NULL },
{ offsetof(network_configuration, master_url), "master_url", CONFIG_VALUE_TYPE_STRING, {.value_string = OPENRCT2_MASTER_URL }, NULL }
{ offsetof(network_configuration, server_description), "server_description", CONFIG_VALUE_TYPE_STRING, {.value_string = NULL }, NULL },
{ offsetof(network_configuration, master_server_url), "master_server_url", CONFIG_VALUE_TYPE_STRING, {.value_string = NULL }, NULL }
};
config_section_definition _sectionDefinitions[] = {

View File

@@ -218,7 +218,7 @@ typedef struct {
uint8 maxplayers;
utf8string server_name;
utf8string server_description;
utf8string master_url;
utf8string master_server_url;
} network_configuration;
typedef struct theme_window {

View File

@@ -791,11 +791,17 @@ void Network::ShutdownClient()
void Network::Advertise()
{
if (gConfigNetwork.advertise && strlen(gConfigNetwork.master_url) > 0) {
if (gConfigNetwork.advertise) {
last_advertise_time = SDL_GetTicks();
#ifndef DISABLE_HTTP
std::string url = gConfigNetwork.master_url + std::string("?port=") + std::to_string(listening_port);
http_request_json_async(url.c_str(), [](http_json_response *response)->void{});
const char *masterServerUrl = OPENRCT2_MASTER_SERVER_URL;
if (!str_is_null_or_empty(gConfigNetwork.master_server_url)) {
masterServerUrl = gConfigNetwork.master_server_url;
}
std::string url = masterServerUrl + std::string("?port=") + std::to_string(listening_port);
http_request_json_async(url.c_str(), [](http_json_response *response)->void { });
#endif
}
}

View File

@@ -105,7 +105,7 @@ typedef utf16* utf16string;
#define OPENRCT2_BRANCH "develop"
#define OPENRCT2_COMMIT_SHA1 ""
#define OPENRCT2_COMMIT_SHA1_SHORT ""
#define OPENRCT2_MASTER_URL ""
#define OPENRCT2_MASTER_SERVER_URL "https://servers.openrct2.website"
// Represent fixed point numbers. dp = decimal point
typedef uint8 fixed8_1dp;

View File

@@ -638,17 +638,20 @@ static void join_server(char *address)
static void fetch_servers()
{
#ifndef DISABLE_HTTP
if(strlen(gConfigNetwork.master_url) > 0){
SDL_LockMutex(_mutex);
for (int i = 0; i < _numSavedServers; i++) {
if (!_savedServers[i].favorite) {
remove_saved_server(i);
i = 0;
}
}
SDL_UnlockMutex(_mutex);
http_request_json_async(gConfigNetwork.master_url, fetch_servers_callback);
const char *masterServerUrl = OPENRCT2_MASTER_SERVER_URL;
if (!str_is_null_or_empty(gConfigNetwork.master_server_url)) {
masterServerUrl = gConfigNetwork.master_server_url;
}
SDL_LockMutex(_mutex);
for (int i = 0; i < _numSavedServers; i++) {
if (!_savedServers[i].favorite) {
remove_saved_server(i);
i = 0;
}
}
SDL_UnlockMutex(_mutex);
http_request_json_async(masterServerUrl, fetch_servers_callback);
#endif
}