diff options
author | rubidium42 <rubidium@openttd.org> | 2021-07-18 11:05:46 +0200 |
---|---|---|
committer | rubidium42 <rubidium42@users.noreply.github.com> | 2021-07-18 11:42:25 +0200 |
commit | 09a7825d1e03de58a5496a3eb11aa7bf6823ae18 (patch) | |
tree | e1d563276dc96ea9582e19d1f7c9f528c52b8c6b | |
parent | 3479e59eea1c1a0241497bac28b68dfd8809672b (diff) | |
download | openttd-09a7825d1e03de58a5496a3eb11aa7bf6823ae18.tar.xz |
Remove: the concept of UnknownGRFs
These were filled with "<Unknown>" (before 8a2da49) and later their name would get filled via UDP requests to the server. These UDP packets do not exist anymore, so they will always remain "<Unknown>".
Remove that logic and just use the generic translated error GRF UNKNOWN string instead.
-rw-r--r-- | src/network/core/game_info.cpp | 5 | ||||
-rw-r--r-- | src/network/network_gamelist.cpp | 5 | ||||
-rw-r--r-- | src/newgrf_config.cpp | 47 | ||||
-rw-r--r-- | src/newgrf_config.h | 4 |
4 files changed, 2 insertions, 59 deletions
diff --git a/src/network/core/game_info.cpp b/src/network/core/game_info.cpp index 32b8fdb75..d3c0491ba 100644 --- a/src/network/core/game_info.cpp +++ b/src/network/core/game_info.cpp @@ -166,10 +166,7 @@ static void HandleIncomingNetworkGameInfoGRFConfig(GRFConfig *config) /* Find the matching GRF file */ const GRFConfig *f = FindGRFConfig(config->ident.grfid, FGCM_EXACT, config->ident.md5sum); if (f == nullptr) { - /* Don't know the GRF, so mark game incompatible and the (possibly) - * already resolved name for this GRF (another server has sent the - * name of the GRF already */ - config->name = FindUnknownGRFName(config->ident.grfid, config->ident.md5sum, true); + AddGRFTextToList(config->name, GetString(STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN)); config->status = GCS_NOT_FOUND; } else { config->filename = f->filename; diff --git a/src/network/network_gamelist.cpp b/src/network/network_gamelist.cpp index d4843ff67..ef5405dd2 100644 --- a/src/network/network_gamelist.cpp +++ b/src/network/network_gamelist.cpp @@ -125,10 +125,7 @@ void NetworkAfterNewGRFScan() const GRFConfig *f = FindGRFConfig(c->ident.grfid, FGCM_EXACT, c->ident.md5sum); if (f == nullptr) { - /* Don't know the GRF, so mark game incompatible and the (possibly) - * already resolved name for this GRF (another server has sent the - * name of the GRF already. */ - c->name = FindUnknownGRFName(c->ident.grfid, c->ident.md5sum, true); + /* Don't know the GRF (anymore), so mark game incompatible. */ c->status = GCS_NOT_FOUND; /* If we miss a file, we're obviously incompatible. */ diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index addf6a147..f6242e4f5 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -753,53 +753,6 @@ const GRFConfig *FindGRFConfig(uint32 grfid, FindGRFConfigMode mode, const uint8 return best; } -/** Structure for UnknownGRFs; this is a lightweight variant of GRFConfig */ -struct UnknownGRF : public GRFIdentifier { - GRFTextWrapper name; ///< Name of the GRF. - - UnknownGRF() = default; - UnknownGRF(const UnknownGRF &other) = default; - UnknownGRF(UnknownGRF &&other) = default; - UnknownGRF(uint32 grfid, const uint8 *_md5sum) : GRFIdentifier(grfid, _md5sum), name(new GRFTextList) {} -}; - -/** - * Finds the name of a NewGRF in the list of names for unknown GRFs. An - * unknown GRF is a GRF where the .grf is not found during scanning. - * - * The names are resolved via UDP calls to servers that should know the name, - * though the replies may not come. This leaves "<Unknown>" as name, though - * that shouldn't matter _very_ much as they need GRF crawler or so to look - * up the GRF anyway and that works better with the GRF ID. - * - * @param grfid the GRF ID part of the 'unique' GRF identifier - * @param md5sum the MD5 checksum part of the 'unique' GRF identifier - * @param create whether to create a new GRFConfig if the GRFConfig did not - * exist in the fake list of GRFConfigs. - * @return The GRFTextWrapper of the name of the GRFConfig with the given GRF ID - * and MD5 checksum or nullptr when it does not exist and create is false. - * This value must NEVER be freed by the caller. - */ -GRFTextWrapper FindUnknownGRFName(uint32 grfid, uint8 *md5sum, bool create) -{ - static std::vector<UnknownGRF> unknown_grfs; - - for (const auto &grf : unknown_grfs) { - if (grf.grfid == grfid) { - if (memcmp(md5sum, grf.md5sum, sizeof(grf.md5sum)) == 0) return grf.name; - } - } - - if (!create) return nullptr; - - unknown_grfs.emplace_back(grfid, md5sum); - UnknownGRF &grf = unknown_grfs.back(); - - AddGRFTextToList(grf.name, UNKNOWN_GRF_NAME_PLACEHOLDER); - - return grf.name; -} - /** * Retrieve a NewGRF from the current config by its grfid. * @param grfid grf to look for. diff --git a/src/newgrf_config.h b/src/newgrf_config.h index 3b3da962e..6f4b5c002 100644 --- a/src/newgrf_config.h +++ b/src/newgrf_config.h @@ -234,10 +234,6 @@ char *GRFBuildParamList(char *dst, const GRFConfig *c, const char *last); /* In newgrf_gui.cpp */ void ShowNewGRFSettings(bool editable, bool show_params, bool exec_changes, GRFConfig **config); -/** For communication about GRFs over the network */ -#define UNKNOWN_GRF_NAME_PLACEHOLDER "<Unknown>" -GRFTextWrapper FindUnknownGRFName(uint32 grfid, uint8 *md5sum, bool create); - void UpdateNewGRFScanStatus(uint num, const char *name); void UpdateNewGRFConfigPalette(int32 new_value = 0); |