Merge branch 'master' into jgrpp-beta
# Conflicts: # src/engine_base.h # src/gfxinit.cpp # src/graph_gui.cpp # src/lang/brazilian_portuguese.txt # src/lang/dutch.txt # src/lang/french.txt # src/lang/korean.txt # src/lang/norwegian_bokmal.txt # src/lang/portuguese.txt # src/lang/russian.txt # src/lang/spanish.txt # src/lang/spanish_MX.txt # src/network/core/address.cpp # src/network/core/game_info.h # src/network/core/os_abstraction.h # src/network/core/udp.cpp # src/network/network_client.cpp # src/network/network_client.h # src/network/network_internal.h # src/newgrf_engine.cpp # src/settings_gui.cpp # src/station_cmd.cpp # src/string_func.h # src/town_gui.cpp # src/video/video_driver.cpp # src/widget_type.h
This commit is contained in:
@@ -623,29 +623,10 @@ struct AfterNewGRFScan : NewGRFScanCallback {
|
||||
if (_switch_mode != SM_NONE) MakeNewgameSettingsLive();
|
||||
|
||||
if (_network_available && network_conn != nullptr) {
|
||||
const char *port = nullptr;
|
||||
const char *company = nullptr;
|
||||
uint16 rport = NETWORK_DEFAULT_PORT;
|
||||
CompanyID join_as = COMPANY_NEW_COMPANY;
|
||||
|
||||
ParseGameConnectionString(&company, &port, network_conn);
|
||||
|
||||
if (company != nullptr) {
|
||||
join_as = (CompanyID)atoi(company);
|
||||
|
||||
if (join_as != COMPANY_SPECTATOR) {
|
||||
join_as--;
|
||||
if (join_as >= MAX_COMPANIES) {
|
||||
delete this;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (port != nullptr) rport = atoi(port);
|
||||
|
||||
LoadIntroGame();
|
||||
_switch_mode = SM_NONE;
|
||||
NetworkClientConnectGame(network_conn, rport, join_as, join_server_password, join_company_password);
|
||||
|
||||
NetworkClientConnectGame(network_conn, COMPANY_NEW_COMPANY, join_server_password, join_company_password);
|
||||
}
|
||||
|
||||
/* After the scan we're not used anymore. */
|
||||
@@ -740,7 +721,7 @@ int openttd_main(int argc, char *argv[])
|
||||
SetDebugString("net=3");
|
||||
if (mgo.opt != nullptr) {
|
||||
const char *port = nullptr;
|
||||
ParseConnectionString(&port, mgo.opt);
|
||||
ParseFullConnectionString(nullptr, &port, mgo.opt);
|
||||
if (!StrEmpty(mgo.opt)) scanner->dedicated_host = mgo.opt;
|
||||
if (port != nullptr) scanner->dedicated_port = atoi(port);
|
||||
}
|
||||
@@ -939,15 +920,7 @@ int openttd_main(int argc, char *argv[])
|
||||
NetworkStartUp(); // initialize network-core
|
||||
|
||||
if (debuglog_conn != nullptr && _network_available) {
|
||||
const char *port = nullptr;
|
||||
uint16 rport;
|
||||
|
||||
rport = NETWORK_DEFAULT_DEBUGLOG_PORT;
|
||||
|
||||
ParseConnectionString(&port, debuglog_conn);
|
||||
if (port != nullptr) rport = atoi(port);
|
||||
|
||||
NetworkStartDebugLog(debuglog_conn, rport);
|
||||
NetworkStartDebugLog(debuglog_conn);
|
||||
}
|
||||
|
||||
if (!HandleBootstrap()) {
|
||||
@@ -1298,6 +1271,11 @@ void SwitchToMode(SwitchMode new_mode)
|
||||
break;
|
||||
}
|
||||
|
||||
case SM_JOIN_GAME: // Join a multiplayer game
|
||||
LoadIntroGame();
|
||||
NetworkClientJoinGame();
|
||||
break;
|
||||
|
||||
case SM_MENU: // Switch to game intro menu
|
||||
LoadIntroGame();
|
||||
if (BaseSounds::ini_set.empty() && BaseSounds::GetUsedSet()->fallback && SoundDriver::GetInstance()->HasOutput()) {
|
||||
@@ -1975,7 +1953,7 @@ void GameLoop()
|
||||
if (_network_reconnect > 0 && --_network_reconnect == 0) {
|
||||
/* This means that we want to reconnect to the last host
|
||||
* We do this here, because it means that the network is really closed */
|
||||
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port, COMPANY_SPECTATOR);
|
||||
NetworkClientConnectGame(_settings_client.network.last_joined, COMPANY_SPECTATOR);
|
||||
}
|
||||
/* Singleplayer */
|
||||
StateGameLoop();
|
||||
|
Reference in New Issue
Block a user