|
1 | 1 | using System; |
2 | 2 | using System.Collections.Generic; |
3 | | -using Rampastring.Tools; |
4 | 3 | using System.IO; |
5 | 4 | using System.Linq; |
6 | 5 | using System.Runtime.InteropServices; |
7 | | -using ClientCore.I18N; |
8 | | -using ClientCore.Extensions; |
| 6 | + |
9 | 7 | using ClientCore.Enums; |
| 8 | +using ClientCore.Extensions; |
| 9 | +using ClientCore.I18N; |
| 10 | + |
| 11 | +using Rampastring.Tools; |
10 | 12 |
|
11 | 13 | namespace ClientCore |
12 | 14 | { |
@@ -212,8 +214,8 @@ public void RefreshSettings() |
212 | 214 |
|
213 | 215 | public int MaximumRenderHeight => clientDefinitionsIni.GetIntValue(SETTINGS, "MaximumRenderHeight", 800); |
214 | 216 |
|
215 | | - public string[] RecommendedResolutions => clientDefinitionsIni.GetStringValue(SETTINGS, "RecommendedResolutions", |
216 | | - $"{MinimumRenderWidth}x{MinimumRenderHeight},{MaximumRenderWidth}x{MaximumRenderHeight}").Split(','); |
| 217 | + public string[] RecommendedResolutions => clientDefinitionsIni.GetStringListValue(SETTINGS, "RecommendedResolutions", |
| 218 | + $"{MinimumRenderWidth}x{MinimumRenderHeight},{MaximumRenderWidth}x{MaximumRenderHeight}"); |
217 | 219 |
|
218 | 220 | public string WindowTitle => clientDefinitionsIni.GetStringValue(SETTINGS, "WindowTitle", string.Empty) |
219 | 221 | .L10N("INI:ClientDefinitions:WindowTitle"); |
@@ -260,7 +262,7 @@ public void RefreshSettings() |
260 | 262 |
|
261 | 263 | public string StatisticsLogFileName => clientDefinitionsIni.GetStringValue(SETTINGS, "StatisticsLogFileName", "DTA.LOG"); |
262 | 264 |
|
263 | | - public string[] TrustedDomains => clientDefinitionsIni.GetStringValue(SETTINGS, "TrustedDomains", string.Empty).Split(','); |
| 265 | + public string[] TrustedDomains => clientDefinitionsIni.GetStringListValue(SETTINGS, "TrustedDomains", string.Empty); |
264 | 266 |
|
265 | 267 | public string[] AlwaysTrustedDomains = {"cncnet.org", "gamesurge.net", "dronebl.org", "discord.com", "discord.gg", "youtube.com", "youtu.be"}; |
266 | 268 |
|
@@ -324,7 +326,7 @@ private List<TranslationGameFile> ParseTranslationGameFiles() |
324 | 326 | continue; |
325 | 327 |
|
326 | 328 | string value = clientDefinitionsIni.GetStringValue(TRANSLATIONS, key, string.Empty); |
327 | | - string[] parts = value.Split(','); |
| 329 | + string[] parts = clientDefinitionsIni.GetStringListValue(TRANSLATIONS, key, string.Empty); |
328 | 330 |
|
329 | 331 | // fail explicitly if the syntax is wrong |
330 | 332 | if (parts.Length is < 2 or > 3 |
@@ -372,7 +374,7 @@ private List<TranslationGameFile> ParseTranslationGameFiles() |
372 | 374 |
|
373 | 375 | public string GetGameExecutableName() |
374 | 376 | { |
375 | | - string[] exeNames = clientDefinitionsIni.GetStringValue(SETTINGS, "GameExecutableNames", "Game.exe").Split(','); |
| 377 | + string[] exeNames = clientDefinitionsIni.GetStringListValue(SETTINGS, "GameExecutableNames", "Game.exe"); |
376 | 378 |
|
377 | 379 | return exeNames[0]; |
378 | 380 | } |
@@ -405,12 +407,12 @@ public string GetGameExecutableName() |
405 | 407 | /// <summary> |
406 | 408 | /// List of files that are not distributed but required to play. |
407 | 409 | /// </summary> |
408 | | - public string[] RequiredFiles => clientDefinitionsIni.GetStringValue(SETTINGS, "RequiredFiles", String.Empty).Split(','); |
| 410 | + public string[] RequiredFiles => clientDefinitionsIni.GetStringListValue(SETTINGS, "RequiredFiles", String.Empty); |
409 | 411 |
|
410 | 412 | /// <summary> |
411 | 413 | /// List of files that can interfere with the mod functioning. |
412 | 414 | /// </summary> |
413 | | - public string[] ForbiddenFiles => clientDefinitionsIni.GetStringValue(SETTINGS, "ForbiddenFiles", String.Empty).Split(','); |
| 415 | + public string[] ForbiddenFiles => clientDefinitionsIni.GetStringListValue(SETTINGS, "ForbiddenFiles", String.Empty); |
414 | 416 |
|
415 | 417 | /// <summary> |
416 | 418 | /// The main map file extension that is read by the client. |
|
0 commit comments