diff options
author | Patric Stout <truebrain@openttd.org> | 2021-07-14 21:23:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-14 21:23:44 +0200 |
commit | c921f6d81794223590abc4ced95daba0b91e4767 (patch) | |
tree | 7d929eafb0c225ba74baca4633838a79be5b3c33 /src/network/core/game_info.cpp | |
parent | 333cba6a619d8d99a2508e5cb9cd1cc72c4360d1 (diff) | |
download | openttd-c921f6d81794223590abc4ced95daba0b91e4767.tar.xz |
Add: inform clients what game-script a server is running (#9441)
Co-authored-by: The Dude <thedude@novapolis.net>
Diffstat (limited to 'src/network/core/game_info.cpp')
-rw-r--r-- | src/network/core/game_info.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/network/core/game_info.cpp b/src/network/core/game_info.cpp index 17f00c5f5..32b8fdb75 100644 --- a/src/network/core/game_info.cpp +++ b/src/network/core/game_info.cpp @@ -16,6 +16,8 @@ #include "../../date_func.h" #include "../../debug.h" #include "../../map_func.h" +#include "../../game/game.hpp" +#include "../../game/game_info.hpp" #include "../../settings_type.h" #include "../../string_func.h" #include "../../rev.h" @@ -195,6 +197,11 @@ void SerializeNetworkGameInfo(Packet *p, const NetworkServerGameInfo *info) /* Update the documentation in game_info.h on changes * to the NetworkGameInfo wire-protocol! */ + /* NETWORK_GAME_INFO_VERSION = 5 */ + GameInfo *game_info = Game::GetInfo(); + p->Send_uint32(game_info == nullptr ? -1 : (uint32)game_info->GetVersion()); + p->Send_string(game_info == nullptr ? "" : game_info->GetName()); + /* NETWORK_GAME_INFO_VERSION = 4 */ { /* Only send the GRF Identification (GRF_ID and MD5 checksum) of @@ -260,6 +267,12 @@ void DeserializeNetworkGameInfo(Packet *p, NetworkGameInfo *info) * to the NetworkGameInfo wire-protocol! */ switch (game_info_version) { + case 5: { + info->gamescript_version = (int)p->Recv_uint32(); + info->gamescript_name = p->Recv_string(NETWORK_NAME_LENGTH); + FALLTHROUGH; + } + case 4: { GRFConfig **dst = &info->grfconfig; uint i; |