From 68fd2746383e649078ffb25828b790c2a494cc24 Mon Sep 17 00:00:00 2001 From: Matthew Gruen Date: Sun, 17 Nov 2024 17:06:11 -0800 Subject: [PATCH] Sync SoapstoneLib with upstream Notable changes are adding FMG data for ER DLC and AC6, and supporting clients connecting to multiple process names. As part of this, change DSMS and Smithbox to share the same port, which should be backwards compatible with the previous port. --- src/SoapstoneLib/SoapstoneLib/KnownServer.cs | 35 +- .../SoapstoneLib/SoulsFmg.Data.cs | 513 +++++++++++++++++- 2 files changed, 534 insertions(+), 14 deletions(-) diff --git a/src/SoapstoneLib/SoapstoneLib/KnownServer.cs b/src/SoapstoneLib/SoapstoneLib/KnownServer.cs index 2dd89c68b..b7377515b 100644 --- a/src/SoapstoneLib/SoapstoneLib/KnownServer.cs +++ b/src/SoapstoneLib/SoapstoneLib/KnownServer.cs @@ -14,19 +14,24 @@ namespace SoapstoneLib public sealed class KnownServer { /// - /// Standard server info for DSMapStudio. + /// Standard server info for DSMapStudio and DSMapStudio fork Smithbox. /// - public static readonly KnownServer DSMapStudio = new KnownServer(22720, "DSMapStudio"); + public static readonly KnownServer DSMapStudio = new KnownServer(22720, "DSMapStudio", "Smithbox"); /// - /// Standard server info for Smithbox. + /// Alternate name for DSMapstudio/Smithbox server info. /// - public static readonly KnownServer Smithbox = new KnownServer(22721, "Smithbox"); + public static readonly KnownServer Smithbox = DSMapStudio; /// - /// Expected local process name of this server. This usually matches the exe name. + /// An expected local process name of this server. This usually matches the exe name. /// - public string ProcessName { get; } + public string ProcessName => ProcessNames.FirstOrDefault(); + + /// + /// All expected local process names of this server. This usually matches the exe name. + /// + public IReadOnlyList ProcessNames { get; } /// /// Standard port for this server to run at. A different one may be selected if it's busy. @@ -40,18 +45,18 @@ public sealed class KnownServer /// Otherwise, the port is used directly, if non-zero. The port is also preferred /// if there are multiple ports associated with the given process name. /// - public KnownServer(ushort portHint, string processName) + public KnownServer(ushort portHint, params string[] processNames) { - if (portHint == 0 && processName == null) + if (portHint == 0 && processNames.Length == 0) { throw new ArgumentException($"One of process or port must be provided in KnownServer"); } PortHint = portHint; - ProcessName = processName; + ProcessNames = processNames.ToList().AsReadOnly(); } /// - public override string ToString() => $"KnownServer[PortHint={PortHint},ProcessName={ProcessName}]"; + public override string ToString() => $"KnownServer[PortHint={PortHint},ProcessNames={string.Join(",", ProcessNames)}]"; /// /// Try to find a running server using heuristic info. @@ -67,10 +72,14 @@ internal bool FindServer(out int realPort) MIB_TCP6ROW_OWNER_PID[] rows6 = GetAllTcpConnections(); // If process is given, always try to use it, and fail if not present - if (ProcessName != null) + if (ProcessNames.Count > 0) { - Process[] processes = Process.GetProcessesByName(ProcessName); - if (processes.Length == 0) + List processes = new(); + foreach (string name in ProcessNames) + { + processes.AddRange(Process.GetProcessesByName(name)); + } + if (processes.Count == 0) { return false; } diff --git a/src/SoapstoneLib/SoapstoneLib/SoulsFmg.Data.cs b/src/SoapstoneLib/SoapstoneLib/SoulsFmg.Data.cs index f205c3931..cdf211378 100644 --- a/src/SoapstoneLib/SoapstoneLib/SoulsFmg.Data.cs +++ b/src/SoapstoneLib/SoapstoneLib/SoulsFmg.Data.cs @@ -20,6 +20,7 @@ public static partial class SoulsFmg public enum FmgLanguage { Unspecified, + Arabic, AsiaEnglish, BrazilPortuguese, BritishEnglish, @@ -68,8 +69,16 @@ public enum FmgType AccessoryName_DLC2, AccessoryName_Patch, ActionButtonText, + ActionButtonText_DLC1, + ActionButtonText_DLC2, + ArchiveContent, + ArchiveName, ArtsCaption, + ArtsCaption_DLC1, + ArtsCaption_DLC2, ArtsName, + ArtsName_DLC1, + ArtsName_DLC2, BloodMsg, BloodMsg_DLC1, BloodMsg_DLC2, @@ -80,6 +89,8 @@ public enum FmgType BloodMsgWordCategory, BonfireMenu, BonfireName, + BoosterInfo, + BoosterName, CauseOfDeath, CharaMaking, CharaName, @@ -92,7 +103,13 @@ public enum FmgType EventText_DLC2, EventText_Patch, EventTextForMap, + EventTextForMap_DLC1, + EventTextForMap_DLC2, EventTextForTalk, + EventTextForTalk_DLC1, + EventTextForTalk_DLC2, + FCSInfo, + FCSName, FeatureCaption, FeatureInfo, FeatureName, @@ -100,6 +117,8 @@ public enum FmgType GameDialogues_DLC1, GameDialogues_DLC2, GameKeyGuide, + GameKeyGuide_DLC1, + GameKeyGuide_DLC2, GameLineHelp, GameLineHelp_DLC1, GameLineHelp_DLC2, @@ -116,20 +135,34 @@ public enum FmgType GameSystemMessageXboxOne_DLC1, GameSystemMessageXboxOne_DLC2, GemCaption, + GemCaption_DLC1, + GemCaption_DLC2, GemEffect, + GemEffect_DLC1, + GemEffect_DLC2, GemInfo, + GemInfo_DLC1, + GemInfo_DLC2, GemName, + GemName_DLC1, + GemName_DLC2, GemPrefix, + GeneratorInfo, + GeneratorName, GoodsCaption, GoodsCaption_DLC1, GoodsCaption_DLC2, GoodsCaption_Patch, GoodsDialog, + GoodsDialog_DLC1, + GoodsDialog_DLC2, GoodsInfo, GoodsInfo_DLC1, GoodsInfo_DLC2, GoodsInfo_Patch, GoodsInfo2, + GoodsInfo2_DLC1, + GoodsInfo2_DLC2, GoodsName, GoodsName_DLC1, GoodsName_DLC2, @@ -145,7 +178,11 @@ public enum FmgType LineHelp, LineHelp_Patch, LoadingText, + LoadingText_DLC1, + LoadingText_DLC2, LoadingTitle, + LoadingTitle_DLC1, + LoadingTitle_DLC2, MagicCaption, MagicCaption_DLC1, MagicCaption_DLC2, @@ -162,8 +199,16 @@ public enum FmgType MenuGeneralText_Patch, MenuOther, MenuOther_Patch, + MissionName, + MissionObjective, + MissionPlaceName, + MissionSummary, MovieSubtitle, + MovieSubtitle_DLC1, + MovieSubtitle_DLC2, NetworkMessage, + NetworkMessage_DLC1, + NetworkMessage_DLC2, NpcMenu, NpcName, NpcName_DLC1, @@ -180,11 +225,14 @@ public enum FmgType ProtectorCaption_DLC2, ProtectorCaption_Patch, ProtectorInfo, + ProtectorInfo_DLC1, + ProtectorInfo_DLC2, ProtectorInfo_Patch, ProtectorName, ProtectorName_DLC1, ProtectorName_DLC2, ProtectorName_Patch, + RankerProfile, Skills, StaffRoll, SystemMessageDC, @@ -196,19 +244,29 @@ public enum FmgType TalkMsg_DLC2, TalkMsg_Patch, TalkMsgFemalePCAlt, + TalkMsgFemalePCAlt_DLC1, + TalkMsgFemalePCAlt_DLC2, TextDisplayTagList, TextEmbedImageNameWindows, TitleFlow, TitleMenu, TosWindows, TutorialBody, + TutorialBody_DLC1, + TutorialBody_DLC2, TutorialTitle, + TutorialTitle_DLC1, + TutorialTitle_DLC2, WeaponCaption, WeaponCaption_DLC1, WeaponCaption_DLC2, WeaponCaption_Patch, WeaponEffect, + WeaponEffect_DLC1, + WeaponEffect_DLC2, WeaponInfo, + WeaponInfo_DLC1, + WeaponInfo_DLC2, WeaponInfo_Patch, WeaponName, WeaponName_DLC1, @@ -1717,101 +1775,315 @@ internal static bool TryGetFmgGameInfo(FromSoftGame game, out FmgGameInfo info) ByType = new() { [FmgType.AccessoryCaption] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryCaption, FmgType.AccessoryCaption, "AccessoryCaption", 27), + [FmgType.AccessoryCaption_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryCaption_DLC1, FmgType.AccessoryCaption, "AccessoryCaption_dlc01", 318), + [FmgType.AccessoryCaption_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryCaption_DLC2, FmgType.AccessoryCaption, "AccessoryCaption_dlc02", 418), [FmgType.AccessoryInfo] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryInfo, FmgType.AccessoryInfo, "AccessoryInfo", 23), + [FmgType.AccessoryInfo_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryInfo_DLC1, FmgType.AccessoryInfo, "AccessoryInfo_dlc01", 317), + [FmgType.AccessoryInfo_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryInfo_DLC2, FmgType.AccessoryInfo, "AccessoryInfo_dlc02", 417), [FmgType.AccessoryName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryName, FmgType.AccessoryName, "AccessoryName", 13), + [FmgType.AccessoryName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryName_DLC1, FmgType.AccessoryName, "AccessoryName_dlc01", 316), + [FmgType.AccessoryName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.AccessoryName_DLC2, FmgType.AccessoryName, "AccessoryName_dlc02", 416), [FmgType.ActionButtonText] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.ActionButtonText, FmgType.ActionButtonText, "ActionButtonText", 32), + [FmgType.ActionButtonText_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.ActionButtonText_DLC1, FmgType.ActionButtonText, "ActionButtonText_dlc01", 365), + [FmgType.ActionButtonText_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.ActionButtonText_DLC2, FmgType.ActionButtonText, "ActionButtonText_dlc02", 465), [FmgType.ArtsCaption] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ArtsCaption, FmgType.ArtsCaption, "ArtsCaption", 43), + [FmgType.ArtsCaption_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ArtsCaption_DLC1, FmgType.ArtsCaption, "ArtsCaption_dlc01", 332), + [FmgType.ArtsCaption_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ArtsCaption_DLC2, FmgType.ArtsCaption, "ArtsCaption_dlc02", 432), [FmgType.ArtsName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ArtsName, FmgType.ArtsName, "ArtsName", 42), + [FmgType.ArtsName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ArtsName_DLC1, FmgType.ArtsName, "ArtsName_dlc01", 331), + [FmgType.ArtsName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ArtsName_DLC2, FmgType.ArtsName, "ArtsName_dlc02", 431), [FmgType.BloodMsg] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.BloodMsg, FmgType.BloodMsg, "BloodMsg", 2), + [FmgType.BloodMsg_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.BloodMsg_DLC1, FmgType.BloodMsg, "BloodMsg_dlc01", 361), + [FmgType.BloodMsg_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.BloodMsg_DLC2, FmgType.BloodMsg, "BloodMsg_dlc02", 461), [FmgType.EventTextForMap] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.EventTextForMap, FmgType.EventTextForMap, "EventTextForMap", 34), + [FmgType.EventTextForMap_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.EventTextForMap_DLC1, FmgType.EventTextForMap, "EventTextForMap_dlc01", 367), + [FmgType.EventTextForMap_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.EventTextForMap_DLC2, FmgType.EventTextForMap, "EventTextForMap_dlc02", 467), [FmgType.EventTextForTalk] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.EventTextForTalk, FmgType.EventTextForTalk, "EventTextForTalk", 33), + [FmgType.EventTextForTalk_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.EventTextForTalk_DLC1, FmgType.EventTextForTalk, "EventTextForTalk_dlc01", 366), + [FmgType.EventTextForTalk_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.EventTextForTalk_DLC2, FmgType.EventTextForTalk, "EventTextForTalk_dlc02", 466), [FmgType.GameDialogues] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameDialogues, FmgType.GameDialogues, "GR_Dialogues", 204), + [FmgType.GameDialogues_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameDialogues_DLC1, FmgType.GameDialogues, "GR_Dialogues_dlc01", 372), + [FmgType.GameDialogues_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameDialogues_DLC2, FmgType.GameDialogues, "GR_Dialogues_dlc02", 472), [FmgType.GameKeyGuide] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameKeyGuide, FmgType.GameKeyGuide, "GR_KeyGuide", 202), + [FmgType.GameKeyGuide_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameKeyGuide_DLC1, FmgType.GameKeyGuide, "GR_KeyGuide_dlc01", 370), + [FmgType.GameKeyGuide_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameKeyGuide_DLC2, FmgType.GameKeyGuide, "GR_KeyGuide_dlc02", 470), [FmgType.GameLineHelp] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameLineHelp, FmgType.GameLineHelp, "GR_LineHelp", 201), + [FmgType.GameLineHelp_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameLineHelp_DLC1, FmgType.GameLineHelp, "GR_LineHelp_dlc01", 369), + [FmgType.GameLineHelp_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameLineHelp_DLC2, FmgType.GameLineHelp, "GR_LineHelp_dlc02", 469), [FmgType.GameMenuText] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameMenuText, FmgType.GameMenuText, "GR_MenuText", 200), + [FmgType.GameMenuText_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameMenuText_DLC1, FmgType.GameMenuText, "GR_MenuText_dlc01", 368), + [FmgType.GameMenuText_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameMenuText_DLC2, FmgType.GameMenuText, "GR_MenuText_dlc02", 468), [FmgType.GameSystemMessageWindows] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameSystemMessageWindows, FmgType.GameSystemMessageWindows, "GR_System_Message_win64", 203), + [FmgType.GameSystemMessageWindows_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameSystemMessageWindows_DLC1, FmgType.GameSystemMessageWindows, "GR_System_Message_win64_dlc01", 371), + [FmgType.GameSystemMessageWindows_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.GameSystemMessageWindows_DLC2, FmgType.GameSystemMessageWindows, "GR_System_Message_win64_dlc02", 471), [FmgType.GemCaption] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemCaption, FmgType.GemCaption, "GemCaption", 37), + [FmgType.GemCaption_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemCaption_DLC1, FmgType.GemCaption, "GemCaption_dlc01", 324), + [FmgType.GemCaption_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemCaption_DLC2, FmgType.GemCaption, "GemCaption_dlc02", 424), [FmgType.GemEffect] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemEffect, FmgType.GemEffect, "GemEffect", 45), + [FmgType.GemEffect_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemEffect_DLC1, FmgType.GemEffect, "GemEffect_dlc01", 334), + [FmgType.GemEffect_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemEffect_DLC2, FmgType.GemEffect, "GemEffect_dlc02", 434), [FmgType.GemInfo] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemInfo, FmgType.GemInfo, "GemInfo", 36), + [FmgType.GemInfo_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemInfo_DLC1, FmgType.GemInfo, "GemInfo_dlc01", 323), + [FmgType.GemInfo_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemInfo_DLC2, FmgType.GemInfo, "GemInfo_dlc02", 423), [FmgType.GemName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemName, FmgType.GemName, "GemName", 35), + [FmgType.GemName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemName_DLC1, FmgType.GemName, "GemName_dlc01", 322), + [FmgType.GemName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GemName_DLC2, FmgType.GemName, "GemName_dlc02", 422), [FmgType.GoodsCaption] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsCaption, FmgType.GoodsCaption, "GoodsCaption", 24), + [FmgType.GoodsCaption_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsCaption_DLC1, FmgType.GoodsCaption, "GoodsCaption_dlc01", 321), + [FmgType.GoodsCaption_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsCaption_DLC2, FmgType.GoodsCaption, "GoodsCaption_dlc02", 421), [FmgType.GoodsDialog] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsDialog, FmgType.GoodsDialog, "GoodsDialog", 41), + [FmgType.GoodsDialog_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsDialog_DLC1, FmgType.GoodsDialog, "GoodsDialog_dlc01", 330), + [FmgType.GoodsDialog_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsDialog_DLC2, FmgType.GoodsDialog, "GoodsDialog_dlc02", 430), [FmgType.GoodsInfo] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsInfo, FmgType.GoodsInfo, "GoodsInfo", 20), + [FmgType.GoodsInfo_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsInfo_DLC1, FmgType.GoodsInfo, "GoodsInfo_dlc01", 320), + [FmgType.GoodsInfo_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsInfo_DLC2, FmgType.GoodsInfo, "GoodsInfo_dlc02", 420), [FmgType.GoodsInfo2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsInfo2, FmgType.GoodsInfo2, "GoodsInfo2", 46), + [FmgType.GoodsInfo2_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsInfo2_DLC1, FmgType.GoodsInfo2, "GoodsInfo2_dlc01", 335), + [FmgType.GoodsInfo2_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsInfo2_DLC2, FmgType.GoodsInfo2, "GoodsInfo2_dlc02", 435), [FmgType.GoodsName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsName, FmgType.GoodsName, "GoodsName", 10), + [FmgType.GoodsName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsName_DLC1, FmgType.GoodsName, "GoodsName_dlc01", 319), + [FmgType.GoodsName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.GoodsName_DLC2, FmgType.GoodsName, "GoodsName_dlc02", 419), [FmgType.LoadingText] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.LoadingText, FmgType.LoadingText, "LoadingText", 206), + [FmgType.LoadingText_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.LoadingText_DLC1, FmgType.LoadingText, "LoadingText_dlc01", 374), + [FmgType.LoadingText_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.LoadingText_DLC2, FmgType.LoadingText, "LoadingText_dlc02", 474), [FmgType.LoadingTitle] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.LoadingTitle, FmgType.LoadingTitle, "LoadingTitle", 205), + [FmgType.LoadingTitle_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.LoadingTitle_DLC1, FmgType.LoadingTitle, "LoadingTitle_dlc01", 373), + [FmgType.LoadingTitle_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.LoadingTitle_DLC2, FmgType.LoadingTitle, "LoadingTitle_dlc02", 473), [FmgType.MagicCaption] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicCaption, FmgType.MagicCaption, "MagicCaption", 29), + [FmgType.MagicCaption_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicCaption_DLC1, FmgType.MagicCaption, "MagicCaption_dlc01", 327), + [FmgType.MagicCaption_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicCaption_DLC2, FmgType.MagicCaption, "MagicCaption_dlc02", 427), [FmgType.MagicInfo] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicInfo, FmgType.MagicInfo, "MagicInfo", 28), + [FmgType.MagicInfo_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicInfo_DLC1, FmgType.MagicInfo, "MagicInfo_dlc01", 326), + [FmgType.MagicInfo_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicInfo_DLC2, FmgType.MagicInfo, "MagicInfo_dlc02", 426), [FmgType.MagicName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicName, FmgType.MagicName, "MagicName", 14), + [FmgType.MagicName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicName_DLC1, FmgType.MagicName, "MagicName_dlc01", 325), + [FmgType.MagicName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.MagicName_DLC2, FmgType.MagicName, "MagicName_dlc02", 425), [FmgType.MovieSubtitle] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.MovieSubtitle, FmgType.MovieSubtitle, "MovieSubtitle", 3), + [FmgType.MovieSubtitle_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.MovieSubtitle_DLC1, FmgType.MovieSubtitle, "MovieSubtitle_dlc01", 362), + [FmgType.MovieSubtitle_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.MovieSubtitle_DLC2, FmgType.MovieSubtitle, "MovieSubtitle_dlc02", 462), [FmgType.NetworkMessage] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.NetworkMessage, FmgType.NetworkMessage, "NetworkMessage", 31), + [FmgType.NetworkMessage_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.NetworkMessage_DLC1, FmgType.NetworkMessage, "NetworkMessage_dlc01", 364), + [FmgType.NetworkMessage_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.NetworkMessage_DLC2, FmgType.NetworkMessage, "NetworkMessage_dlc02", 464), [FmgType.NpcName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.NpcName, FmgType.NpcName, "NpcName", 18), + [FmgType.NpcName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.NpcName_DLC1, FmgType.NpcName, "NpcName_dlc01", 328), + [FmgType.NpcName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.NpcName_DLC2, FmgType.NpcName, "NpcName_dlc02", 428), [FmgType.PlaceName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.PlaceName, FmgType.PlaceName, "PlaceName", 19), + [FmgType.PlaceName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.PlaceName_DLC1, FmgType.PlaceName, "PlaceName_dlc01", 329), + [FmgType.PlaceName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.PlaceName_DLC2, FmgType.PlaceName, "PlaceName_dlc02", 429), [FmgType.ProtectorCaption] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorCaption, FmgType.ProtectorCaption, "ProtectorCaption", 26), + [FmgType.ProtectorCaption_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorCaption_DLC1, FmgType.ProtectorCaption, "ProtectorCaption_dlc01", 315), + [FmgType.ProtectorCaption_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorCaption_DLC2, FmgType.ProtectorCaption, "ProtectorCaption_dlc02", 415), [FmgType.ProtectorInfo] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorInfo, FmgType.ProtectorInfo, "ProtectorInfo", 22), + [FmgType.ProtectorInfo_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorInfo_DLC1, FmgType.ProtectorInfo, "ProtectorInfo_dlc01", 314), + [FmgType.ProtectorInfo_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorInfo_DLC2, FmgType.ProtectorInfo, "ProtectorInfo_dlc02", 414), [FmgType.ProtectorName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorName, FmgType.ProtectorName, "ProtectorName", 12), + [FmgType.ProtectorName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorName_DLC1, FmgType.ProtectorName, "ProtectorName_dlc01", 313), + [FmgType.ProtectorName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.ProtectorName_DLC2, FmgType.ProtectorName, "ProtectorName_dlc02", 413), [FmgType.TalkMsg] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TalkMsg, FmgType.TalkMsg, "TalkMsg", 1), + [FmgType.TalkMsg_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TalkMsg_DLC1, FmgType.TalkMsg, "TalkMsg_dlc01", 360), + [FmgType.TalkMsg_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TalkMsg_DLC2, FmgType.TalkMsg, "TalkMsg_dlc02", 460), [FmgType.TalkMsgFemalePCAlt] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TalkMsgFemalePCAlt, FmgType.TalkMsgFemalePCAlt, "TalkMsg_FemalePC_Alt", 4), + [FmgType.TalkMsgFemalePCAlt_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TalkMsgFemalePCAlt_DLC1, FmgType.TalkMsgFemalePCAlt, "TalkMsg_FemalePC_Alt_dlc01", 363), + [FmgType.TalkMsgFemalePCAlt_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TalkMsgFemalePCAlt_DLC2, FmgType.TalkMsgFemalePCAlt, "TalkMsg_FemalePC_Alt_dlc02", 463), [FmgType.TextEmbedImageNameWindows] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TextEmbedImageNameWindows, FmgType.TextEmbedImageNameWindows, "TextEmbedImageName_win64", 209), [FmgType.TosWindows] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TosWindows, FmgType.TosWindows, "ToS_win64", 210), [FmgType.TutorialBody] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TutorialBody, FmgType.TutorialBody, "TutorialBody", 208), + [FmgType.TutorialBody_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TutorialBody_DLC1, FmgType.TutorialBody, "TutorialBody_dlc01", 376), + [FmgType.TutorialBody_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TutorialBody_DLC2, FmgType.TutorialBody, "TutorialBody_dlc02", 476), [FmgType.TutorialTitle] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TutorialTitle, FmgType.TutorialTitle, "TutorialTitle", 207), + [FmgType.TutorialTitle_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TutorialTitle_DLC1, FmgType.TutorialTitle, "TutorialTitle_dlc01", 375), + [FmgType.TutorialTitle_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Menu, FmgType.TutorialTitle_DLC2, FmgType.TutorialTitle, "TutorialTitle_dlc02", 475), [FmgType.WeaponCaption] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponCaption, FmgType.WeaponCaption, "WeaponCaption", 25), + [FmgType.WeaponCaption_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponCaption_DLC1, FmgType.WeaponCaption, "WeaponCaption_dlc01", 312), + [FmgType.WeaponCaption_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponCaption_DLC2, FmgType.WeaponCaption, "WeaponCaption_dlc02", 412), [FmgType.WeaponEffect] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponEffect, FmgType.WeaponEffect, "WeaponEffect", 44), + [FmgType.WeaponEffect_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponEffect_DLC1, FmgType.WeaponEffect, "WeaponEffect_dlc01", 333), + [FmgType.WeaponEffect_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponEffect_DLC2, FmgType.WeaponEffect, "WeaponEffect_dlc02", 433), [FmgType.WeaponInfo] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponInfo, FmgType.WeaponInfo, "WeaponInfo", 21), + [FmgType.WeaponInfo_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponInfo_DLC1, FmgType.WeaponInfo, "WeaponInfo_dlc01", 311), + [FmgType.WeaponInfo_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponInfo_DLC2, FmgType.WeaponInfo, "WeaponInfo_dlc02", 411), [FmgType.WeaponName] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponName, FmgType.WeaponName, "WeaponName", 11), + [FmgType.WeaponName_DLC1] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponName_DLC1, FmgType.WeaponName, "WeaponName_dlc01", 310), + [FmgType.WeaponName_DLC2] = new FmgKeyInfo(FromSoftGame.EldenRing, FmgCategory.Item, FmgType.WeaponName_DLC2, FmgType.WeaponName, "WeaponName_dlc02", 410), }, Overrides = new() { - + [FmgType.AccessoryCaption] = new List { FmgType.AccessoryCaption_DLC2, FmgType.AccessoryCaption_DLC1 }, + [FmgType.AccessoryInfo] = new List { FmgType.AccessoryInfo_DLC2, FmgType.AccessoryInfo_DLC1 }, + [FmgType.AccessoryName] = new List { FmgType.AccessoryName_DLC2, FmgType.AccessoryName_DLC1 }, + [FmgType.ActionButtonText] = new List { FmgType.ActionButtonText_DLC2, FmgType.ActionButtonText_DLC1 }, + [FmgType.ArtsCaption] = new List { FmgType.ArtsCaption_DLC2, FmgType.ArtsCaption_DLC1 }, + [FmgType.ArtsName] = new List { FmgType.ArtsName_DLC2, FmgType.ArtsName_DLC1 }, + [FmgType.BloodMsg] = new List { FmgType.BloodMsg_DLC2, FmgType.BloodMsg_DLC1 }, + [FmgType.EventTextForMap] = new List { FmgType.EventTextForMap_DLC2, FmgType.EventTextForMap_DLC1 }, + [FmgType.EventTextForTalk] = new List { FmgType.EventTextForTalk_DLC2, FmgType.EventTextForTalk_DLC1 }, + [FmgType.GameDialogues] = new List { FmgType.GameDialogues_DLC2, FmgType.GameDialogues_DLC1 }, + [FmgType.GameKeyGuide] = new List { FmgType.GameKeyGuide_DLC2, FmgType.GameKeyGuide_DLC1 }, + [FmgType.GameLineHelp] = new List { FmgType.GameLineHelp_DLC2, FmgType.GameLineHelp_DLC1 }, + [FmgType.GameMenuText] = new List { FmgType.GameMenuText_DLC2, FmgType.GameMenuText_DLC1 }, + [FmgType.GameSystemMessageWindows] = new List { FmgType.GameSystemMessageWindows_DLC2, FmgType.GameSystemMessageWindows_DLC1 }, + [FmgType.GemCaption] = new List { FmgType.GemCaption_DLC2, FmgType.GemCaption_DLC1 }, + [FmgType.GemEffect] = new List { FmgType.GemEffect_DLC2, FmgType.GemEffect_DLC1 }, + [FmgType.GemInfo] = new List { FmgType.GemInfo_DLC2, FmgType.GemInfo_DLC1 }, + [FmgType.GemName] = new List { FmgType.GemName_DLC2, FmgType.GemName_DLC1 }, + [FmgType.GoodsCaption] = new List { FmgType.GoodsCaption_DLC2, FmgType.GoodsCaption_DLC1 }, + [FmgType.GoodsDialog] = new List { FmgType.GoodsDialog_DLC2, FmgType.GoodsDialog_DLC1 }, + [FmgType.GoodsInfo] = new List { FmgType.GoodsInfo_DLC2, FmgType.GoodsInfo_DLC1 }, + [FmgType.GoodsInfo2] = new List { FmgType.GoodsInfo2_DLC2, FmgType.GoodsInfo2_DLC1 }, + [FmgType.GoodsName] = new List { FmgType.GoodsName_DLC2, FmgType.GoodsName_DLC1 }, + [FmgType.LoadingText] = new List { FmgType.LoadingText_DLC2, FmgType.LoadingText_DLC1 }, + [FmgType.LoadingTitle] = new List { FmgType.LoadingTitle_DLC2, FmgType.LoadingTitle_DLC1 }, + [FmgType.MagicCaption] = new List { FmgType.MagicCaption_DLC2, FmgType.MagicCaption_DLC1 }, + [FmgType.MagicInfo] = new List { FmgType.MagicInfo_DLC2, FmgType.MagicInfo_DLC1 }, + [FmgType.MagicName] = new List { FmgType.MagicName_DLC2, FmgType.MagicName_DLC1 }, + [FmgType.MovieSubtitle] = new List { FmgType.MovieSubtitle_DLC2, FmgType.MovieSubtitle_DLC1 }, + [FmgType.NetworkMessage] = new List { FmgType.NetworkMessage_DLC2, FmgType.NetworkMessage_DLC1 }, + [FmgType.NpcName] = new List { FmgType.NpcName_DLC2, FmgType.NpcName_DLC1 }, + [FmgType.PlaceName] = new List { FmgType.PlaceName_DLC2, FmgType.PlaceName_DLC1 }, + [FmgType.ProtectorCaption] = new List { FmgType.ProtectorCaption_DLC2, FmgType.ProtectorCaption_DLC1 }, + [FmgType.ProtectorInfo] = new List { FmgType.ProtectorInfo_DLC2, FmgType.ProtectorInfo_DLC1 }, + [FmgType.ProtectorName] = new List { FmgType.ProtectorName_DLC2, FmgType.ProtectorName_DLC1 }, + [FmgType.TalkMsg] = new List { FmgType.TalkMsg_DLC2, FmgType.TalkMsg_DLC1 }, + [FmgType.TalkMsgFemalePCAlt] = new List { FmgType.TalkMsgFemalePCAlt_DLC2, FmgType.TalkMsgFemalePCAlt_DLC1 }, + [FmgType.TutorialBody] = new List { FmgType.TutorialBody_DLC2, FmgType.TutorialBody_DLC1 }, + [FmgType.TutorialTitle] = new List { FmgType.TutorialTitle_DLC2, FmgType.TutorialTitle_DLC1 }, + [FmgType.WeaponCaption] = new List { FmgType.WeaponCaption_DLC2, FmgType.WeaponCaption_DLC1 }, + [FmgType.WeaponEffect] = new List { FmgType.WeaponEffect_DLC2, FmgType.WeaponEffect_DLC1 }, + [FmgType.WeaponInfo] = new List { FmgType.WeaponInfo_DLC2, FmgType.WeaponInfo_DLC1 }, + [FmgType.WeaponName] = new List { FmgType.WeaponName_DLC2, FmgType.WeaponName_DLC1 }, }, ByFmgName = new() { + ["AccessoryCaption_dlc01"] = new List { FmgType.AccessoryCaption_DLC1 }, + ["AccessoryCaption_dlc02"] = new List { FmgType.AccessoryCaption_DLC2 }, ["AccessoryCaption"] = new List { FmgType.AccessoryCaption }, + ["AccessoryInfo_dlc01"] = new List { FmgType.AccessoryInfo_DLC1 }, + ["AccessoryInfo_dlc02"] = new List { FmgType.AccessoryInfo_DLC2 }, ["AccessoryInfo"] = new List { FmgType.AccessoryInfo }, + ["AccessoryName_dlc01"] = new List { FmgType.AccessoryName_DLC1 }, + ["AccessoryName_dlc02"] = new List { FmgType.AccessoryName_DLC2 }, ["AccessoryName"] = new List { FmgType.AccessoryName }, + ["ActionButtonText_dlc01"] = new List { FmgType.ActionButtonText_DLC1 }, + ["ActionButtonText_dlc02"] = new List { FmgType.ActionButtonText_DLC2 }, ["ActionButtonText"] = new List { FmgType.ActionButtonText }, + ["ArtsCaption_dlc01"] = new List { FmgType.ArtsCaption_DLC1 }, + ["ArtsCaption_dlc02"] = new List { FmgType.ArtsCaption_DLC2 }, ["ArtsCaption"] = new List { FmgType.ArtsCaption }, + ["ArtsName_dlc01"] = new List { FmgType.ArtsName_DLC1 }, + ["ArtsName_dlc02"] = new List { FmgType.ArtsName_DLC2 }, ["ArtsName"] = new List { FmgType.ArtsName }, + ["BloodMsg_dlc01"] = new List { FmgType.BloodMsg_DLC1 }, + ["BloodMsg_dlc02"] = new List { FmgType.BloodMsg_DLC2 }, ["BloodMsg"] = new List { FmgType.BloodMsg }, + ["EventTextForMap_dlc01"] = new List { FmgType.EventTextForMap_DLC1 }, + ["EventTextForMap_dlc02"] = new List { FmgType.EventTextForMap_DLC2 }, ["EventTextForMap"] = new List { FmgType.EventTextForMap }, + ["EventTextForTalk_dlc01"] = new List { FmgType.EventTextForTalk_DLC1 }, + ["EventTextForTalk_dlc02"] = new List { FmgType.EventTextForTalk_DLC2 }, ["EventTextForTalk"] = new List { FmgType.EventTextForTalk }, + ["GemCaption_dlc01"] = new List { FmgType.GemCaption_DLC1 }, + ["GemCaption_dlc02"] = new List { FmgType.GemCaption_DLC2 }, ["GemCaption"] = new List { FmgType.GemCaption }, + ["GemEffect_dlc01"] = new List { FmgType.GemEffect_DLC1 }, + ["GemEffect_dlc02"] = new List { FmgType.GemEffect_DLC2 }, ["GemEffect"] = new List { FmgType.GemEffect }, + ["GemInfo_dlc01"] = new List { FmgType.GemInfo_DLC1 }, + ["GemInfo_dlc02"] = new List { FmgType.GemInfo_DLC2 }, ["GemInfo"] = new List { FmgType.GemInfo }, + ["GemName_dlc01"] = new List { FmgType.GemName_DLC1 }, + ["GemName_dlc02"] = new List { FmgType.GemName_DLC2 }, ["GemName"] = new List { FmgType.GemName }, + ["GoodsCaption_dlc01"] = new List { FmgType.GoodsCaption_DLC1 }, + ["GoodsCaption_dlc02"] = new List { FmgType.GoodsCaption_DLC2 }, ["GoodsCaption"] = new List { FmgType.GoodsCaption }, + ["GoodsDialog_dlc01"] = new List { FmgType.GoodsDialog_DLC1 }, + ["GoodsDialog_dlc02"] = new List { FmgType.GoodsDialog_DLC2 }, ["GoodsDialog"] = new List { FmgType.GoodsDialog }, + ["GoodsInfo_dlc01"] = new List { FmgType.GoodsInfo_DLC1 }, + ["GoodsInfo_dlc02"] = new List { FmgType.GoodsInfo_DLC2 }, ["GoodsInfo"] = new List { FmgType.GoodsInfo }, + ["GoodsInfo2_dlc01"] = new List { FmgType.GoodsInfo2_DLC1 }, + ["GoodsInfo2_dlc02"] = new List { FmgType.GoodsInfo2_DLC2 }, ["GoodsInfo2"] = new List { FmgType.GoodsInfo2 }, + ["GoodsName_dlc01"] = new List { FmgType.GoodsName_DLC1 }, + ["GoodsName_dlc02"] = new List { FmgType.GoodsName_DLC2 }, ["GoodsName"] = new List { FmgType.GoodsName }, + ["GR_Dialogues_dlc01"] = new List { FmgType.GameDialogues_DLC1 }, + ["GR_Dialogues_dlc02"] = new List { FmgType.GameDialogues_DLC2 }, ["GR_Dialogues"] = new List { FmgType.GameDialogues }, + ["GR_KeyGuide_dlc01"] = new List { FmgType.GameKeyGuide_DLC1 }, + ["GR_KeyGuide_dlc02"] = new List { FmgType.GameKeyGuide_DLC2 }, ["GR_KeyGuide"] = new List { FmgType.GameKeyGuide }, + ["GR_LineHelp_dlc01"] = new List { FmgType.GameLineHelp_DLC1 }, + ["GR_LineHelp_dlc02"] = new List { FmgType.GameLineHelp_DLC2 }, ["GR_LineHelp"] = new List { FmgType.GameLineHelp }, + ["GR_MenuText_dlc01"] = new List { FmgType.GameMenuText_DLC1 }, + ["GR_MenuText_dlc02"] = new List { FmgType.GameMenuText_DLC2 }, ["GR_MenuText"] = new List { FmgType.GameMenuText }, + ["GR_System_Message_win64_dlc01"] = new List { FmgType.GameSystemMessageWindows_DLC1 }, + ["GR_System_Message_win64_dlc02"] = new List { FmgType.GameSystemMessageWindows_DLC2 }, ["GR_System_Message_win64"] = new List { FmgType.GameSystemMessageWindows }, + ["LoadingText_dlc01"] = new List { FmgType.LoadingText_DLC1 }, + ["LoadingText_dlc02"] = new List { FmgType.LoadingText_DLC2 }, ["LoadingText"] = new List { FmgType.LoadingText }, + ["LoadingTitle_dlc01"] = new List { FmgType.LoadingTitle_DLC1 }, + ["LoadingTitle_dlc02"] = new List { FmgType.LoadingTitle_DLC2 }, ["LoadingTitle"] = new List { FmgType.LoadingTitle }, + ["MagicCaption_dlc01"] = new List { FmgType.MagicCaption_DLC1 }, + ["MagicCaption_dlc02"] = new List { FmgType.MagicCaption_DLC2 }, ["MagicCaption"] = new List { FmgType.MagicCaption }, + ["MagicInfo_dlc01"] = new List { FmgType.MagicInfo_DLC1 }, + ["MagicInfo_dlc02"] = new List { FmgType.MagicInfo_DLC2 }, ["MagicInfo"] = new List { FmgType.MagicInfo }, + ["MagicName_dlc01"] = new List { FmgType.MagicName_DLC1 }, + ["MagicName_dlc02"] = new List { FmgType.MagicName_DLC2 }, ["MagicName"] = new List { FmgType.MagicName }, + ["MovieSubtitle_dlc01"] = new List { FmgType.MovieSubtitle_DLC1 }, + ["MovieSubtitle_dlc02"] = new List { FmgType.MovieSubtitle_DLC2 }, ["MovieSubtitle"] = new List { FmgType.MovieSubtitle }, + ["NetworkMessage_dlc01"] = new List { FmgType.NetworkMessage_DLC1 }, + ["NetworkMessage_dlc02"] = new List { FmgType.NetworkMessage_DLC2 }, ["NetworkMessage"] = new List { FmgType.NetworkMessage }, + ["NpcName_dlc01"] = new List { FmgType.NpcName_DLC1 }, + ["NpcName_dlc02"] = new List { FmgType.NpcName_DLC2 }, ["NpcName"] = new List { FmgType.NpcName }, + ["PlaceName_dlc01"] = new List { FmgType.PlaceName_DLC1 }, + ["PlaceName_dlc02"] = new List { FmgType.PlaceName_DLC2 }, ["PlaceName"] = new List { FmgType.PlaceName }, + ["ProtectorCaption_dlc01"] = new List { FmgType.ProtectorCaption_DLC1 }, + ["ProtectorCaption_dlc02"] = new List { FmgType.ProtectorCaption_DLC2 }, ["ProtectorCaption"] = new List { FmgType.ProtectorCaption }, + ["ProtectorInfo_dlc01"] = new List { FmgType.ProtectorInfo_DLC1 }, + ["ProtectorInfo_dlc02"] = new List { FmgType.ProtectorInfo_DLC2 }, ["ProtectorInfo"] = new List { FmgType.ProtectorInfo }, + ["ProtectorName_dlc01"] = new List { FmgType.ProtectorName_DLC1 }, + ["ProtectorName_dlc02"] = new List { FmgType.ProtectorName_DLC2 }, ["ProtectorName"] = new List { FmgType.ProtectorName }, + ["TalkMsg_dlc01"] = new List { FmgType.TalkMsg_DLC1 }, + ["TalkMsg_dlc02"] = new List { FmgType.TalkMsg_DLC2 }, + ["TalkMsg_FemalePC_Alt_dlc01"] = new List { FmgType.TalkMsgFemalePCAlt_DLC1 }, + ["TalkMsg_FemalePC_Alt_dlc02"] = new List { FmgType.TalkMsgFemalePCAlt_DLC2 }, ["TalkMsg_FemalePC_Alt"] = new List { FmgType.TalkMsgFemalePCAlt }, ["TalkMsg"] = new List { FmgType.TalkMsg }, ["TextEmbedImageName_win64"] = new List { FmgType.TextEmbedImageNameWindows }, ["ToS_win64"] = new List { FmgType.TosWindows }, + ["TutorialBody_dlc01"] = new List { FmgType.TutorialBody_DLC1 }, + ["TutorialBody_dlc02"] = new List { FmgType.TutorialBody_DLC2 }, ["TutorialBody"] = new List { FmgType.TutorialBody }, + ["TutorialTitle_dlc01"] = new List { FmgType.TutorialTitle_DLC1 }, + ["TutorialTitle_dlc02"] = new List { FmgType.TutorialTitle_DLC2 }, ["TutorialTitle"] = new List { FmgType.TutorialTitle }, + ["WeaponCaption_dlc01"] = new List { FmgType.WeaponCaption_DLC1 }, + ["WeaponCaption_dlc02"] = new List { FmgType.WeaponCaption_DLC2 }, ["WeaponCaption"] = new List { FmgType.WeaponCaption }, + ["WeaponEffect_dlc01"] = new List { FmgType.WeaponEffect_DLC1 }, + ["WeaponEffect_dlc02"] = new List { FmgType.WeaponEffect_DLC2 }, ["WeaponEffect"] = new List { FmgType.WeaponEffect }, + ["WeaponInfo_dlc01"] = new List { FmgType.WeaponInfo_DLC1 }, + ["WeaponInfo_dlc02"] = new List { FmgType.WeaponInfo_DLC2 }, ["WeaponInfo"] = new List { FmgType.WeaponInfo }, + ["WeaponName_dlc01"] = new List { FmgType.WeaponName_DLC1 }, + ["WeaponName_dlc02"] = new List { FmgType.WeaponName_DLC2 }, ["WeaponName"] = new List { FmgType.WeaponName }, }, ByBinderID = new() @@ -1861,9 +2133,247 @@ internal static bool TryGetFmgGameInfo(FromSoftGame game, out FmgGameInfo info) [208] = new List { FmgType.TutorialBody }, [209] = new List { FmgType.TextEmbedImageNameWindows }, [210] = new List { FmgType.TosWindows }, + [310] = new List { FmgType.WeaponName_DLC1 }, + [311] = new List { FmgType.WeaponInfo_DLC1 }, + [312] = new List { FmgType.WeaponCaption_DLC1 }, + [313] = new List { FmgType.ProtectorName_DLC1 }, + [314] = new List { FmgType.ProtectorInfo_DLC1 }, + [315] = new List { FmgType.ProtectorCaption_DLC1 }, + [316] = new List { FmgType.AccessoryName_DLC1 }, + [317] = new List { FmgType.AccessoryInfo_DLC1 }, + [318] = new List { FmgType.AccessoryCaption_DLC1 }, + [319] = new List { FmgType.GoodsName_DLC1 }, + [320] = new List { FmgType.GoodsInfo_DLC1 }, + [321] = new List { FmgType.GoodsCaption_DLC1 }, + [322] = new List { FmgType.GemName_DLC1 }, + [323] = new List { FmgType.GemInfo_DLC1 }, + [324] = new List { FmgType.GemCaption_DLC1 }, + [325] = new List { FmgType.MagicName_DLC1 }, + [326] = new List { FmgType.MagicInfo_DLC1 }, + [327] = new List { FmgType.MagicCaption_DLC1 }, + [328] = new List { FmgType.NpcName_DLC1 }, + [329] = new List { FmgType.PlaceName_DLC1 }, + [330] = new List { FmgType.GoodsDialog_DLC1 }, + [331] = new List { FmgType.ArtsName_DLC1 }, + [332] = new List { FmgType.ArtsCaption_DLC1 }, + [333] = new List { FmgType.WeaponEffect_DLC1 }, + [334] = new List { FmgType.GemEffect_DLC1 }, + [335] = new List { FmgType.GoodsInfo2_DLC1 }, + [360] = new List { FmgType.TalkMsg_DLC1 }, + [361] = new List { FmgType.BloodMsg_DLC1 }, + [362] = new List { FmgType.MovieSubtitle_DLC1 }, + [363] = new List { FmgType.TalkMsgFemalePCAlt_DLC1 }, + [364] = new List { FmgType.NetworkMessage_DLC1 }, + [365] = new List { FmgType.ActionButtonText_DLC1 }, + [366] = new List { FmgType.EventTextForTalk_DLC1 }, + [367] = new List { FmgType.EventTextForMap_DLC1 }, + [368] = new List { FmgType.GameMenuText_DLC1 }, + [369] = new List { FmgType.GameLineHelp_DLC1 }, + [370] = new List { FmgType.GameKeyGuide_DLC1 }, + [371] = new List { FmgType.GameSystemMessageWindows_DLC1 }, + [372] = new List { FmgType.GameDialogues_DLC1 }, + [373] = new List { FmgType.LoadingTitle_DLC1 }, + [374] = new List { FmgType.LoadingText_DLC1 }, + [375] = new List { FmgType.TutorialTitle_DLC1 }, + [376] = new List { FmgType.TutorialBody_DLC1 }, + [410] = new List { FmgType.WeaponName_DLC2 }, + [411] = new List { FmgType.WeaponInfo_DLC2 }, + [412] = new List { FmgType.WeaponCaption_DLC2 }, + [413] = new List { FmgType.ProtectorName_DLC2 }, + [414] = new List { FmgType.ProtectorInfo_DLC2 }, + [415] = new List { FmgType.ProtectorCaption_DLC2 }, + [416] = new List { FmgType.AccessoryName_DLC2 }, + [417] = new List { FmgType.AccessoryInfo_DLC2 }, + [418] = new List { FmgType.AccessoryCaption_DLC2 }, + [419] = new List { FmgType.GoodsName_DLC2 }, + [420] = new List { FmgType.GoodsInfo_DLC2 }, + [421] = new List { FmgType.GoodsCaption_DLC2 }, + [422] = new List { FmgType.GemName_DLC2 }, + [423] = new List { FmgType.GemInfo_DLC2 }, + [424] = new List { FmgType.GemCaption_DLC2 }, + [425] = new List { FmgType.MagicName_DLC2 }, + [426] = new List { FmgType.MagicInfo_DLC2 }, + [427] = new List { FmgType.MagicCaption_DLC2 }, + [428] = new List { FmgType.NpcName_DLC2 }, + [429] = new List { FmgType.PlaceName_DLC2 }, + [430] = new List { FmgType.GoodsDialog_DLC2 }, + [431] = new List { FmgType.ArtsName_DLC2 }, + [432] = new List { FmgType.ArtsCaption_DLC2 }, + [433] = new List { FmgType.WeaponEffect_DLC2 }, + [434] = new List { FmgType.GemEffect_DLC2 }, + [435] = new List { FmgType.GoodsInfo2_DLC2 }, + [460] = new List { FmgType.TalkMsg_DLC2 }, + [461] = new List { FmgType.BloodMsg_DLC2 }, + [462] = new List { FmgType.MovieSubtitle_DLC2 }, + [463] = new List { FmgType.TalkMsgFemalePCAlt_DLC2 }, + [464] = new List { FmgType.NetworkMessage_DLC2 }, + [465] = new List { FmgType.ActionButtonText_DLC2 }, + [466] = new List { FmgType.EventTextForTalk_DLC2 }, + [467] = new List { FmgType.EventTextForMap_DLC2 }, + [468] = new List { FmgType.GameMenuText_DLC2 }, + [469] = new List { FmgType.GameLineHelp_DLC2 }, + [470] = new List { FmgType.GameKeyGuide_DLC2 }, + [471] = new List { FmgType.GameSystemMessageWindows_DLC2 }, + [472] = new List { FmgType.GameDialogues_DLC2 }, + [473] = new List { FmgType.LoadingTitle_DLC2 }, + [474] = new List { FmgType.LoadingText_DLC2 }, + [475] = new List { FmgType.TutorialTitle_DLC2 }, + [476] = new List { FmgType.TutorialBody_DLC2 }, + }, + ToLanguageEnum = new() + { + ["araae"] = FmgLanguage.Arabic, + ["deude"] = FmgLanguage.German, + ["engus"] = FmgLanguage.English, + ["frafr"] = FmgLanguage.French, + ["itait"] = FmgLanguage.Italian, + ["jpnjp"] = FmgLanguage.Japanese, + ["korkr"] = FmgLanguage.Korean, + ["polpl"] = FmgLanguage.Polish, + ["porbr"] = FmgLanguage.BrazilPortuguese, + ["rusru"] = FmgLanguage.Russian, + ["spaar"] = FmgLanguage.Spanish, + ["spaes"] = FmgLanguage.SpainSpanish, + ["thath"] = FmgLanguage.Thai, + ["zhocn"] = FmgLanguage.SimplifiedChinese, + ["zhotw"] = FmgLanguage.TraditionalChinese, + }, + FromLanguageEnum = new() + { + [FmgLanguage.Arabic] = "araae", + [FmgLanguage.German] = "deude", + [FmgLanguage.English] = "engus", + [FmgLanguage.French] = "frafr", + [FmgLanguage.Italian] = "itait", + [FmgLanguage.Japanese] = "jpnjp", + [FmgLanguage.Korean] = "korkr", + [FmgLanguage.Polish] = "polpl", + [FmgLanguage.BrazilPortuguese] = "porbr", + [FmgLanguage.Russian] = "rusru", + [FmgLanguage.Spanish] = "spaar", + [FmgLanguage.SpainSpanish] = "spaes", + [FmgLanguage.Thai] = "thath", + [FmgLanguage.SimplifiedChinese] = "zhocn", + [FmgLanguage.TraditionalChinese] = "zhotw", + }, + }, + [FromSoftGame.ArmoredCore6] = new FmgGameInfo + { + ByType = new() + { + [FmgType.ArchiveContent] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.ArchiveContent, FmgType.ArchiveContent, "アーカイブ内容", 66), + [FmgType.ArchiveName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.ArchiveName, FmgType.ArchiveName, "アーカイブ名", 65), + [FmgType.BoosterInfo] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.BoosterInfo, FmgType.BoosterInfo, "ブースター説明", 39), + [FmgType.BoosterName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.BoosterName, FmgType.BoosterName, "ブースター名", 38), + [FmgType.EventText] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.EventText, FmgType.EventText, "イベントテキスト", 30), + [FmgType.FCSInfo] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.FCSInfo, FmgType.FCSInfo, "FCS説明", 42), + [FmgType.FCSName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.FCSName, FmgType.FCSName, "FCS名", 41), + [FmgType.GameDialogues] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.GameDialogues, FmgType.GameDialogues, "FNR_ダイアログ", 204), + [FmgType.GameKeyGuide] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.GameKeyGuide, FmgType.GameKeyGuide, "FNR_キーガイド", 202), + [FmgType.GameLineHelp] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.GameLineHelp, FmgType.GameLineHelp, "FNR_一行ヘルプ", 201), + [FmgType.GameMenuText] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.GameMenuText, FmgType.GameMenuText, "FNR_メニューテキスト", 200), + [FmgType.GameSystemMessageWindows] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.GameSystemMessageWindows, FmgType.GameSystemMessageWindows, "FNR_システムメッセージ_win64", 203), + [FmgType.GeneratorInfo] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.GeneratorInfo, FmgType.GeneratorInfo, "ジェネレーター説明", 36), + [FmgType.GeneratorName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.GeneratorName, FmgType.GeneratorName, "ジェネレーター名", 35), + [FmgType.GoodsName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.GoodsName, FmgType.GoodsName, "アイテム名", 10), + [FmgType.LoadingText] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.LoadingText, FmgType.LoadingText, "ローディングテキスト", 208), + [FmgType.LoadingTitle] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.LoadingTitle, FmgType.LoadingTitle, "ローディングタイトル", 207), + [FmgType.MenuContext] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.MenuContext, FmgType.MenuContext, "項目ヘルプ", 205), + [FmgType.MissionName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.MissionName, FmgType.MissionName, "ミッション名", 60), + [FmgType.MissionObjective] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.MissionObjective, FmgType.MissionObjective, "ミッション目標", 62), + [FmgType.MissionPlaceName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.MissionPlaceName, FmgType.MissionPlaceName, "ミッション地点名", 63), + [FmgType.MissionSummary] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.MissionSummary, FmgType.MissionSummary, "ミッション概要", 61), + [FmgType.MovieSubtitle] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.MovieSubtitle, FmgType.MovieSubtitle, "ムービー字幕", 3), + [FmgType.NpcName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.NpcName, FmgType.NpcName, "NPC名", 18), + [FmgType.ProtectorInfo] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.ProtectorInfo, FmgType.ProtectorInfo, "防具説明", 22), + [FmgType.ProtectorName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.ProtectorName, FmgType.ProtectorName, "防具名", 12), + [FmgType.RankerProfile] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.RankerProfile, FmgType.RankerProfile, "ランカープロフィール", 50), + [FmgType.TalkMsg] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.TalkMsg, FmgType.TalkMsg, "会話", 1), + [FmgType.TextEmbedImageNameWindows] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.TextEmbedImageNameWindows, FmgType.TextEmbedImageNameWindows, "テキスト埋込イメージ名_win64", 210), + [FmgType.TutorialBody] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.TutorialBody, FmgType.TutorialBody, "チュートリアル本文", 74), + [FmgType.TutorialTitle] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Menu, FmgType.TutorialTitle, FmgType.TutorialTitle, "チュートリアルタイトル", 73), + [FmgType.WeaponInfo] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.WeaponInfo, FmgType.WeaponInfo, "武器説明", 21), + [FmgType.WeaponName] = new FmgKeyInfo(FromSoftGame.ArmoredCore6, FmgCategory.Item, FmgType.WeaponName, FmgType.WeaponName, "武器名", 11), + }, + Overrides = new() + { + + }, + ByFmgName = new() + { + ["FCS名"] = new List { FmgType.FCSName }, + ["FCS説明"] = new List { FmgType.FCSInfo }, + ["FNR_キーガイド"] = new List { FmgType.GameKeyGuide }, + ["FNR_システムメッセージ_win64"] = new List { FmgType.GameSystemMessageWindows }, + ["FNR_ダイアログ"] = new List { FmgType.GameDialogues }, + ["FNR_メニューテキスト"] = new List { FmgType.GameMenuText }, + ["FNR_一行ヘルプ"] = new List { FmgType.GameLineHelp }, + ["NPC名"] = new List { FmgType.NpcName }, + ["アーカイブ内容"] = new List { FmgType.ArchiveContent }, + ["アーカイブ名"] = new List { FmgType.ArchiveName }, + ["アイテム名"] = new List { FmgType.GoodsName }, + ["イベントテキスト"] = new List { FmgType.EventText }, + ["ジェネレーター名"] = new List { FmgType.GeneratorName }, + ["ジェネレーター説明"] = new List { FmgType.GeneratorInfo }, + ["チュートリアルタイトル"] = new List { FmgType.TutorialTitle }, + ["チュートリアル本文"] = new List { FmgType.TutorialBody }, + ["テキスト埋込イメージ名_win64"] = new List { FmgType.TextEmbedImageNameWindows }, + ["ブースター名"] = new List { FmgType.BoosterName }, + ["ブースター説明"] = new List { FmgType.BoosterInfo }, + ["ミッション名"] = new List { FmgType.MissionName }, + ["ミッション地点名"] = new List { FmgType.MissionPlaceName }, + ["ミッション概要"] = new List { FmgType.MissionSummary }, + ["ミッション目標"] = new List { FmgType.MissionObjective }, + ["ムービー字幕"] = new List { FmgType.MovieSubtitle }, + ["ランカープロフィール"] = new List { FmgType.RankerProfile }, + ["ローディングタイトル"] = new List { FmgType.LoadingTitle }, + ["ローディングテキスト"] = new List { FmgType.LoadingText }, + ["会話"] = new List { FmgType.TalkMsg }, + ["武器名"] = new List { FmgType.WeaponName }, + ["武器説明"] = new List { FmgType.WeaponInfo }, + ["防具名"] = new List { FmgType.ProtectorName }, + ["防具説明"] = new List { FmgType.ProtectorInfo }, + ["項目ヘルプ"] = new List { FmgType.MenuContext }, + }, + ByBinderID = new() + { + [1] = new List { FmgType.TalkMsg }, + [3] = new List { FmgType.MovieSubtitle }, + [10] = new List { FmgType.GoodsName }, + [11] = new List { FmgType.WeaponName }, + [12] = new List { FmgType.ProtectorName }, + [18] = new List { FmgType.NpcName }, + [21] = new List { FmgType.WeaponInfo }, + [22] = new List { FmgType.ProtectorInfo }, + [30] = new List { FmgType.EventText }, + [35] = new List { FmgType.GeneratorName }, + [36] = new List { FmgType.GeneratorInfo }, + [38] = new List { FmgType.BoosterName }, + [39] = new List { FmgType.BoosterInfo }, + [41] = new List { FmgType.FCSName }, + [42] = new List { FmgType.FCSInfo }, + [50] = new List { FmgType.RankerProfile }, + [60] = new List { FmgType.MissionName }, + [61] = new List { FmgType.MissionSummary }, + [62] = new List { FmgType.MissionObjective }, + [63] = new List { FmgType.MissionPlaceName }, + [65] = new List { FmgType.ArchiveName }, + [66] = new List { FmgType.ArchiveContent }, + [73] = new List { FmgType.TutorialTitle }, + [74] = new List { FmgType.TutorialBody }, + [200] = new List { FmgType.GameMenuText }, + [201] = new List { FmgType.GameLineHelp }, + [202] = new List { FmgType.GameKeyGuide }, + [203] = new List { FmgType.GameSystemMessageWindows }, + [204] = new List { FmgType.GameDialogues }, + [205] = new List { FmgType.MenuContext }, + [207] = new List { FmgType.LoadingTitle }, + [208] = new List { FmgType.LoadingText }, + [210] = new List { FmgType.TextEmbedImageNameWindows }, }, ToLanguageEnum = new() { + ["araae"] = FmgLanguage.Arabic, ["deude"] = FmgLanguage.German, ["engus"] = FmgLanguage.English, ["frafr"] = FmgLanguage.French, @@ -1881,6 +2391,7 @@ internal static bool TryGetFmgGameInfo(FromSoftGame game, out FmgGameInfo info) }, FromLanguageEnum = new() { + [FmgLanguage.Arabic] = "araae", [FmgLanguage.German] = "deude", [FmgLanguage.English] = "engus", [FmgLanguage.French] = "frafr",