From 58547fda891163fdf321dec117f5a839e7387122 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 1 Jan 2018 19:30:28 +0000 Subject: [PATCH] Guess mod titles based on other versions, if they exist. --- OpenRA.Game/Network/GameServer.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/OpenRA.Game/Network/GameServer.cs b/OpenRA.Game/Network/GameServer.cs index 165fc1c38f..49c94b7858 100644 --- a/OpenRA.Game/Network/GameServer.cs +++ b/OpenRA.Game/Network/GameServer.cs @@ -163,7 +163,18 @@ namespace OpenRA.Network ModLabel = "{0} ({1})".F(mod.Metadata.Title, Version); } else - ModLabel = "Unknown mod: {0}".F(Mod); + { + // Some platforms (e.g. macOS) package each mod separately, so the Mods check above won't work. + // Guess based on the most recent ExternalMod instead. + var guessMod = Game.ExternalMods.Values + .OrderByDescending(m => m.Version) + .FirstOrDefault(m => m.Id == Mod); + + if (guessMod != null) + ModLabel = "{0} ({1})".F(guessMod.Title, Version); + else + ModLabel = "Unknown mod: {0} ({1})".F(Mod, Version); + } var mapAvailable = Game.Settings.Game.AllowDownloading || Game.ModData.MapCache[Map].Status == MapStatus.Available; IsJoinable = IsCompatible && State == 1 && mapAvailable;