From 0cd41d1dc62386d15960b5a6f990207caf8d9834 Mon Sep 17 00:00:00 2001 From: smatz Date: Sat, 10 Jan 2009 15:54:07 +0000 Subject: (svn r14958) -Codechange [FS#1923]: when checking for unique names, compare only with manually set names There are situations that aren't solvable (because of different language files), so if the user really wants to have duplicated name, allow him to do so. It solves desyncs between server and clients using different languages. It behaves the same in SP and MP, so users won't see the different behaviour as a bug (and even checking in SP could be worked around by the user). --- src/misc_cmd.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'src/misc_cmd.cpp') diff --git a/src/misc_cmd.cpp b/src/misc_cmd.cpp index 0d6ebf143..dadc73a6d 100644 --- a/src/misc_cmd.cpp +++ b/src/misc_cmd.cpp @@ -205,12 +205,9 @@ CommandCost CmdDecreaseLoan(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, static bool IsUniqueCompanyName(const char *name) { const Company *c; - char buf[512]; FOR_ALL_COMPANIES(c) { - SetDParam(0, c->index); - GetString(buf, STR_COMPANY_NAME, lastof(buf)); - if (strcmp(buf, name) == 0) return false; + if (c->name != NULL && strcmp(c->name, name) == 0) return false; } return true; @@ -244,12 +241,9 @@ CommandCost CmdRenameCompany(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, static bool IsUniquePresidentName(const char *name) { const Company *c; - char buf[512]; FOR_ALL_COMPANIES(c) { - SetDParam(0, c->index); - GetString(buf, STR_PRESIDENT_NAME, lastof(buf)); - if (strcmp(buf, name) == 0) return false; + if (c->president_name != NULL && strcmp(c->president_name, name) == 0) return false; } return true; -- cgit v1.2.3-54-g00ecf