From d6aa6b8b64208b228540ace4c1e044929de25ad3 Mon Sep 17 00:00:00 2001 From: Asriel Date: Mon, 4 Aug 2025 23:11:59 -0700 Subject: [PATCH] [API 13] Add Lumina.Excel as submodule (#2332) * WIP on excel-submodule * Add Lumina.Excel to build * Fix sheet changes --- .gitmodules | 3 +++ Dalamud.CorePlugin/Dalamud.CorePlugin.csproj | 1 - Dalamud.sln | 17 +++++++++++++++++ Dalamud/Dalamud.csproj | 2 +- .../Evaluator/Internal/SheetRedirectResolver.cs | 4 ++-- .../Data/Widgets/SeStringCreatorWidget.cs | 6 +++--- Directory.Build.props | 3 +-- lib/Lumina.Excel | 1 + 8 files changed, 28 insertions(+), 9 deletions(-) create mode 160000 lib/Lumina.Excel diff --git a/.gitmodules b/.gitmodules index ba6c43f8e..0d12df2b8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ [submodule "lib/Hexa.NET.ImGui"] path = lib/Hexa.NET.ImGui url = https://github.com/goatcorp/Hexa.NET.ImGui.git +[submodule "lib/Lumina.Excel"] + path = lib/Lumina.Excel + url = https://github.com/NotAdam/Lumina.Excel.git diff --git a/Dalamud.CorePlugin/Dalamud.CorePlugin.csproj b/Dalamud.CorePlugin/Dalamud.CorePlugin.csproj index bf718b28e..0c6a86e8d 100644 --- a/Dalamud.CorePlugin/Dalamud.CorePlugin.csproj +++ b/Dalamud.CorePlugin/Dalamud.CorePlugin.csproj @@ -26,7 +26,6 @@ - all diff --git a/Dalamud.sln b/Dalamud.sln index eccce60c0..fe1c9b19d 100644 --- a/Dalamud.sln +++ b/Dalamud.sln @@ -74,6 +74,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandaloneImGuiTestbed", "i EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImGuiScene", "imgui\ImGuiScene\ImGuiScene.csproj", "{66753AC7-0029-4373-9CC4-7760B1F46141}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Lumina", "Lumina", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lumina.Excel.Generator", "lib\Lumina.Excel\src\Lumina.Excel.Generator\Lumina.Excel.Generator.csproj", "{5A44DF0C-C9DA-940F-4D6B-4A11D13AEA3D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lumina.Excel", "lib\Lumina.Excel\src\Lumina.Excel\Lumina.Excel.csproj", "{88FB719B-EB41-73C5-8D25-C03E0C69904F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -168,6 +174,14 @@ Global {66753AC7-0029-4373-9CC4-7760B1F46141}.Debug|Any CPU.Build.0 = Debug|x64 {66753AC7-0029-4373-9CC4-7760B1F46141}.Release|Any CPU.ActiveCfg = Release|x64 {66753AC7-0029-4373-9CC4-7760B1F46141}.Release|Any CPU.Build.0 = Release|x64 + {5A44DF0C-C9DA-940F-4D6B-4A11D13AEA3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A44DF0C-C9DA-940F-4D6B-4A11D13AEA3D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A44DF0C-C9DA-940F-4D6B-4A11D13AEA3D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A44DF0C-C9DA-940F-4D6B-4A11D13AEA3D}.Release|Any CPU.Build.0 = Release|Any CPU + {88FB719B-EB41-73C5-8D25-C03E0C69904F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {88FB719B-EB41-73C5-8D25-C03E0C69904F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {88FB719B-EB41-73C5-8D25-C03E0C69904F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {88FB719B-EB41-73C5-8D25-C03E0C69904F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -191,6 +205,9 @@ Global {9C70BD06-D52C-425E-9C14-5D66BC6046EF} = {A217B3DF-607A-4EFB-B107-3C4809348043} {4702A911-2513-478C-A434-2776393FDE77} = {A217B3DF-607A-4EFB-B107-3C4809348043} {66753AC7-0029-4373-9CC4-7760B1F46141} = {A217B3DF-607A-4EFB-B107-3C4809348043} + {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {E15BDA6D-E881-4482-94BA-BE5527E917FF} + {5A44DF0C-C9DA-940F-4D6B-4A11D13AEA3D} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {88FB719B-EB41-73C5-8D25-C03E0C69904F} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {79B65AC9-C940-410E-AB61-7EA7E12C7599} diff --git a/Dalamud/Dalamud.csproj b/Dalamud/Dalamud.csproj index 7c451d97f..76e84e779 100644 --- a/Dalamud/Dalamud.csproj +++ b/Dalamud/Dalamud.csproj @@ -68,7 +68,6 @@ - all @@ -109,6 +108,7 @@ + diff --git a/Dalamud/Game/Text/Evaluator/Internal/SheetRedirectResolver.cs b/Dalamud/Game/Text/Evaluator/Internal/SheetRedirectResolver.cs index 262e7ad21..523086f48 100644 --- a/Dalamud/Game/Text/Evaluator/Internal/SheetRedirectResolver.cs +++ b/Dalamud/Game/Text/Evaluator/Internal/SheetRedirectResolver.cs @@ -221,8 +221,8 @@ internal class SheetRedirectResolver : IServiceType sheetName = nameof(LSheets.AkatsukiNoteString); colIndex = 0; - if (this.dataManager.Excel.GetSubrowSheet().TryGetRow(rowId, out var row)) - rowId = (uint)row[0].Unknown2; + if (this.dataManager.Excel.GetSubrowSheet().TryGetSubrow(rowId, 0, out var row)) + rowId = row.ListName.RowId; break; } } diff --git a/Dalamud/Interface/Internal/Windows/Data/Widgets/SeStringCreatorWidget.cs b/Dalamud/Interface/Internal/Windows/Data/Widgets/SeStringCreatorWidget.cs index 3d79fd398..1cb91245a 100644 --- a/Dalamud/Interface/Internal/Windows/Data/Widgets/SeStringCreatorWidget.cs +++ b/Dalamud/Interface/Internal/Windows/Data/Widgets/SeStringCreatorWidget.cs @@ -1065,10 +1065,10 @@ internal class SeStringCreatorWidget : IDataWindowWidget break; case LinkMacroPayloadType.AkatsukiNote when - dataManager.GetSubrowExcelSheet(this.language).TryGetRow(u32, out var akatsukiNoteRow) && - dataManager.GetExcelSheet(this.language).TryGetRow((uint)akatsukiNoteRow[0].Unknown2, out var akatsukiNoteStringRow): + dataManager.GetSubrowExcelSheet(this.language).TryGetSubrow(u32, 0, out var akatsukiNoteRow) && + akatsukiNoteRow.ListName.ValueNullable is { } akatsukiNoteStringRow: ImGui.SameLine(); - ImGui.Text(akatsukiNoteStringRow.Unknown0.ExtractText()); + ImGui.Text(akatsukiNoteStringRow.Text.ExtractText()); break; } } diff --git a/Directory.Build.props b/Directory.Build.props index 92902b0c0..224b610b6 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -10,8 +10,7 @@ - 5.7.0 - 7.2.2 + 6.3.0 13.0.3 diff --git a/lib/Lumina.Excel b/lib/Lumina.Excel new file mode 160000 index 000000000..d78895e2c --- /dev/null +++ b/lib/Lumina.Excel @@ -0,0 +1 @@ +Subproject commit d78895e2cbc001b1fca08ad6fd4d3fa9ef7f3c74