From 618d6d48b0fbf3009e0122c550b7ec4c668e4398 Mon Sep 17 00:00:00 2001 From: legoandmars Date: Sun, 18 Feb 2024 19:04:43 -0800 Subject: [PATCH] Remove modded indicator from displayed lobby names, while retaining as much data as possible --- LobbyCompatibility/Enums/LobbyMetadata.cs | 5 ++++ .../LoadLobbyListAndFilterTranspiler.cs | 28 +++++++++++++++++-- .../SteamMatchmakingOnLobbyCreatedPostfix.cs | 2 +- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/LobbyCompatibility/Enums/LobbyMetadata.cs b/LobbyCompatibility/Enums/LobbyMetadata.cs index b3136ab..640a8e6 100644 --- a/LobbyCompatibility/Enums/LobbyMetadata.cs +++ b/LobbyCompatibility/Enums/LobbyMetadata.cs @@ -51,4 +51,9 @@ public static class LobbyMetadata /// The required plugins checksum to filter against. /// public const string RequiredChecksum = "checksum"; + + /// + /// The prefix added before modded lobbies. + /// + public const string ModdedLobbyPrefix = "[MOD]"; } \ No newline at end of file diff --git a/LobbyCompatibility/Patches/LoadLobbyListAndFilterTranspiler.cs b/LobbyCompatibility/Patches/LoadLobbyListAndFilterTranspiler.cs index 6c9c78d..1cc4204 100644 --- a/LobbyCompatibility/Patches/LoadLobbyListAndFilterTranspiler.cs +++ b/LobbyCompatibility/Patches/LoadLobbyListAndFilterTranspiler.cs @@ -2,6 +2,7 @@ using System.Reflection.Emit; using HarmonyLib; using LobbyCompatibility.Behaviours; +using LobbyCompatibility.Enums; using Steamworks.Data; using UnityEngine; @@ -30,14 +31,27 @@ private static IEnumerable Transpiler(IEnumerable plugin.CompatibilityLevel is CompatibilityLevel.ServerOnly or CompatibilityLevel.Everyone or CompatibilityLevel.ClientOptional) && !lobby.GetData(LobbyMetadata.Name).ToLower().Contains("modded")) - lobby.SetData(LobbyMetadata.Name, "modded // " + lobby.GetData(LobbyMetadata.Name)); + lobby.SetData(LobbyMetadata.Name, LobbyMetadata.ModdedLobbyPrefix + lobby.GetData(LobbyMetadata.Name)); // Check if there are any required plugins in the lobby if (pluginInfo.Any(plugin => plugin.CompatibilityLevel == CompatibilityLevel.Everyone))