From b311ecefc2b7dd6bc9c10918ea3d6e443d05475b Mon Sep 17 00:00:00 2001 From: FutureRave Date: Fri, 4 Nov 2022 00:58:29 +0000 Subject: [PATCH] feature(parser): Option to override special localize character --- Application/EventParsers/BaseEventParser.cs | 3 ++- Application/EventParsers/DynamicEventParserConfiguration.cs | 1 + Plugins/ScriptPlugins/ParserS1x.js | 1 + SharedLibraryCore/Interfaces/IEventParserConfiguration.cs | 5 +++++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Application/EventParsers/BaseEventParser.cs b/Application/EventParsers/BaseEventParser.cs index 4dc14a982..fd1549747 100644 --- a/Application/EventParsers/BaseEventParser.cs +++ b/Application/EventParsers/BaseEventParser.cs @@ -29,6 +29,7 @@ namespace IW4MAdmin.Application.EventParsers Configuration = new DynamicEventParserConfiguration(parserRegexFactory) { GameDirectory = "main", + LocalizeText = "\x15", }; Configuration.Say.Pattern = @"^(say|sayteam);(-?[A-Fa-f0-9_]{1,32}|bot[0-9]+|0);([0-9]+);([^;]*);(.*)$"; @@ -185,7 +186,7 @@ namespace IW4MAdmin.Application.EventParsers if (matchResult.Success) { var message = matchResult.Values[Configuration.Say.GroupMapping[ParserRegex.GroupType.Message]] - .Replace("\x15", "") + .Replace(Configuration.LocalizeText, "") .Trim(); if (message.Length > 0) diff --git a/Application/EventParsers/DynamicEventParserConfiguration.cs b/Application/EventParsers/DynamicEventParserConfiguration.cs index 55d1455b2..df093391f 100644 --- a/Application/EventParsers/DynamicEventParserConfiguration.cs +++ b/Application/EventParsers/DynamicEventParserConfiguration.cs @@ -14,6 +14,7 @@ namespace IW4MAdmin.Application.EventParsers { public string GameDirectory { get; set; } public ParserRegex Say { get; set; } + public string LocalizeText { get; set; } public ParserRegex Join { get; set; } public ParserRegex JoinTeam { get; set; } public ParserRegex Quit { get; set; } diff --git a/Plugins/ScriptPlugins/ParserS1x.js b/Plugins/ScriptPlugins/ParserS1x.js index bb56df7c5..e596130ef 100644 --- a/Plugins/ScriptPlugins/ParserS1x.js +++ b/Plugins/ScriptPlugins/ParserS1x.js @@ -27,6 +27,7 @@ var plugin = { rconParser.Configuration.DefaultRConPort = 27016; eventParser.Configuration.GameDirectory = ''; + eventParser.Configuration.GameDirectory = '\x1F'; rconParser.Version = 'S1 MP 1.22 build 2195988 Wed Apr 18 11:26:14 2018 win64'; rconParser.GameName = 9; // SHG1 diff --git a/SharedLibraryCore/Interfaces/IEventParserConfiguration.cs b/SharedLibraryCore/Interfaces/IEventParserConfiguration.cs index cdf3889da..9e247d394 100644 --- a/SharedLibraryCore/Interfaces/IEventParserConfiguration.cs +++ b/SharedLibraryCore/Interfaces/IEventParserConfiguration.cs @@ -16,6 +16,11 @@ namespace SharedLibraryCore.Interfaces /// ParserRegex Say { get; set; } + /// + /// stores the special ASCII value used by CoD games that prevents the text in the chat from being localized + /// + string LocalizeText { get; set; } + /// /// stores the regex information for a join event printed in the game log ///