Update text-related ImGui calls (#2337)

* Update text-related ImGui calls

* Use ImU8String for SafeTextColored

* Restore wrapped calls

* Update MenuItem call

* Use ImGui.Text over ImGui.TextUnformatted

* Add ImGui.TextColoredWrapped

* Obsolete SafeText helpers

* Fix obsoleted calls

* SafeTextColored didn't exist before imgui-bindings

* Remove %% replacements
This commit is contained in:
Haselnussbomber 2025-08-05 00:46:43 +02:00 committed by GitHub
parent f0021bc8f9
commit 58fbff7c56
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
126 changed files with 1433 additions and 1406 deletions

View file

@ -43,7 +43,7 @@ public static partial class ImGuiComponents
{ {
using (ImRaii.TextWrapPos(ImGui.GetFontSize() * 35.0f)) using (ImRaii.TextWrapPos(ImGui.GetFontSize() * 35.0f))
{ {
ImGui.TextUnformatted(helpText); ImGui.Text(helpText);
} }
} }
} }

View file

@ -12,6 +12,6 @@ public static partial class ImGuiComponents
/// </summary> /// </summary>
public static void Test() public static void Test()
{ {
ImGui.Text("You are viewing the test component. The test was a success."); ImGui.Text("You are viewing the test component. The test was a success."u8);
} }
} }

View file

@ -29,7 +29,7 @@ public static partial class ImGuiComponents
{ {
using (ImRaii.Tooltip()) using (ImRaii.Tooltip())
{ {
ImGui.TextUnformatted(hint); ImGui.Text(hint);
} }
} }
} }

View file

@ -168,7 +168,7 @@ public partial class FileDialog
if (this.pathInputActivated) if (this.pathInputActivated)
{ {
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
ImGui.InputText("##pathedit", ref this.pathInputBuffer, 255); ImGui.InputText("##pathedit"u8, ref this.pathInputBuffer, 255);
} }
else else
{ {
@ -216,7 +216,7 @@ public partial class FileDialog
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Reset to current directory"); ImGui.SetTooltip("Reset to current directory"u8);
} }
ImGui.SameLine(); ImGui.SameLine();
@ -226,10 +226,10 @@ public partial class FileDialog
if (!this.createDirectoryMode) if (!this.createDirectoryMode)
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted("Search :"); ImGui.Text("Search :"u8);
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
if (ImGui.InputText("##InputImGuiFileDialogSearchField", ref this.searchBuffer, 255)) if (ImGui.InputText("##InputImGuiFileDialogSearchField"u8, ref this.searchBuffer, 255))
{ {
this.ApplyFilteringOnFileList(); this.ApplyFilteringOnFileList();
} }
@ -251,21 +251,21 @@ public partial class FileDialog
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Create Directory"); ImGui.SetTooltip("Create Directory"u8);
} }
if (this.createDirectoryMode) if (this.createDirectoryMode)
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted("New Directory Name"); ImGui.Text("New Directory Name"u8);
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X - Scaled(100)); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X - Scaled(100));
ImGui.InputText("##DirectoryFileName", ref this.createDirectoryBuffer, 255); ImGui.InputText("##DirectoryFileName"u8, ref this.createDirectoryBuffer, 255);
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Ok")) if (ImGui.Button("Ok"u8))
{ {
if (this.CreateDir(this.createDirectoryBuffer)) if (this.CreateDir(this.createDirectoryBuffer))
{ {
@ -277,7 +277,7 @@ public partial class FileDialog
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Cancel")) if (ImGui.Button("Cancel"u8))
{ {
this.createDirectoryMode = false; this.createDirectoryMode = false;
} }
@ -290,9 +290,9 @@ public partial class FileDialog
if (!this.flags.HasFlag(ImGuiFileDialogFlags.HideSideBar)) if (!this.flags.HasFlag(ImGuiFileDialogFlags.HideSideBar))
{ {
if (ImGui.BeginChild("##FileDialog_ColumnChild", size)) if (ImGui.BeginChild("##FileDialog_ColumnChild"u8, size))
{ {
ImGui.Columns(2, "##FileDialog_Columns"); ImGui.Columns(2, "##FileDialog_Columns"u8);
this.DrawSideBar(size with { X = Scaled(150) }); this.DrawSideBar(size with { X = Scaled(150) });
@ -314,7 +314,7 @@ public partial class FileDialog
private void DrawSideBar(Vector2 size) private void DrawSideBar(Vector2 size)
{ {
if (ImGui.BeginChild("##FileDialog_SideBar", size)) if (ImGui.BeginChild("##FileDialog_SideBar"u8, size))
{ {
ImGui.SetCursorPosY(ImGui.GetCursorPosY() + Scaled(5)); ImGui.SetCursorPosY(ImGui.GetCursorPosY() + Scaled(5));
@ -332,7 +332,7 @@ public partial class FileDialog
ImGui.PushFont(InterfaceManager.IconFont); ImGui.PushFont(InterfaceManager.IconFont);
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetCursorPosX(0); ImGui.SetCursorPosX(0);
ImGui.TextUnformatted(qa.Icon.ToIconString()); ImGui.Text(qa.Icon.ToIconString());
ImGui.PopFont(); ImGui.PopFont();
ImGui.PopID(); ImGui.PopID();
@ -344,14 +344,14 @@ public partial class FileDialog
private unsafe void DrawFileListView(Vector2 size) private unsafe void DrawFileListView(Vector2 size)
{ {
if (!ImGui.BeginChild("##FileDialog_FileList", size)) if (!ImGui.BeginChild("##FileDialog_FileList"u8, size))
{ {
ImGui.EndChild(); ImGui.EndChild();
return; return;
} }
const ImGuiTableFlags tableFlags = ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.RowBg | ImGuiTableFlags.Hideable | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoHostExtendX; const ImGuiTableFlags tableFlags = ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.RowBg | ImGuiTableFlags.Hideable | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoHostExtendX;
if (ImGui.BeginTable("##FileTable", 4, tableFlags, size)) if (ImGui.BeginTable("##FileTable"u8, 4, tableFlags, size))
{ {
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
@ -359,10 +359,10 @@ public partial class FileDialog
var hideSize = this.flags.HasFlag(ImGuiFileDialogFlags.HideColumnSize); var hideSize = this.flags.HasFlag(ImGuiFileDialogFlags.HideColumnSize);
var hideDate = this.flags.HasFlag(ImGuiFileDialogFlags.HideColumnDate); var hideDate = this.flags.HasFlag(ImGuiFileDialogFlags.HideColumnDate);
ImGui.TableSetupColumn(" File Name", ImGuiTableColumnFlags.WidthStretch, -1, 0); ImGui.TableSetupColumn(" File Name"u8, ImGuiTableColumnFlags.WidthStretch, -1, 0);
ImGui.TableSetupColumn("Type", ImGuiTableColumnFlags.WidthFixed | (hideType ? ImGuiTableColumnFlags.DefaultHide : ImGuiTableColumnFlags.None), -1, 1); ImGui.TableSetupColumn("Type"u8, ImGuiTableColumnFlags.WidthFixed | (hideType ? ImGuiTableColumnFlags.DefaultHide : ImGuiTableColumnFlags.None), -1, 1);
ImGui.TableSetupColumn("Size", ImGuiTableColumnFlags.WidthFixed | (hideSize ? ImGuiTableColumnFlags.DefaultHide : ImGuiTableColumnFlags.None), -1, 2); ImGui.TableSetupColumn("Size"u8, ImGuiTableColumnFlags.WidthFixed | (hideSize ? ImGuiTableColumnFlags.DefaultHide : ImGuiTableColumnFlags.None), -1, 2);
ImGui.TableSetupColumn("Date", ImGuiTableColumnFlags.WidthFixed | (hideDate ? ImGuiTableColumnFlags.DefaultHide : ImGuiTableColumnFlags.None), -1, 3); ImGui.TableSetupColumn("Date"u8, ImGuiTableColumnFlags.WidthFixed | (hideDate ? ImGuiTableColumnFlags.DefaultHide : ImGuiTableColumnFlags.None), -1, 3);
ImGui.TableNextRow(ImGuiTableRowFlags.Headers); ImGui.TableNextRow(ImGuiTableRowFlags.Headers);
for (var column = 0; column < 4; column++) for (var column = 0; column < 4; column++)
@ -414,18 +414,18 @@ public partial class FileDialog
if (ImGui.TableNextColumn()) if (ImGui.TableNextColumn())
{ {
ImGui.TextUnformatted(file.Ext); ImGui.Text(file.Ext);
} }
if (ImGui.TableNextColumn()) if (ImGui.TableNextColumn())
{ {
if (file.Type == FileStructType.File) if (file.Type == FileStructType.File)
{ {
ImGui.TextUnformatted(file.FormattedFileSize + " "); ImGui.Text(file.FormattedFileSize + " ");
} }
else else
{ {
ImGui.TextUnformatted(" "); ImGui.Text(" "u8);
} }
} }
@ -433,7 +433,7 @@ public partial class FileDialog
{ {
var sz = ImGui.CalcTextSize(file.FileModifiedDate); var sz = ImGui.CalcTextSize(file.FileModifiedDate);
ImGui.SetNextItemWidth(sz.X + Scaled(5)); ImGui.SetNextItemWidth(sz.X + Scaled(5));
ImGui.TextUnformatted(file.FileModifiedDate + " "); ImGui.Text(file.FileModifiedDate + " ");
} }
ImGui.PopStyleColor(); ImGui.PopStyleColor();
@ -478,7 +478,7 @@ public partial class FileDialog
ImGui.PushFont(InterfaceManager.IconFont); ImGui.PushFont(InterfaceManager.IconFont);
ImGui.TextUnformatted(icon.ToIconString()); ImGui.Text(icon.ToIconString());
ImGui.PopFont(); ImGui.PopFont();
ImGui.SameLine(Scaled(25f)); ImGui.SameLine(Scaled(25f));
@ -682,11 +682,11 @@ public partial class FileDialog
if (this.IsDirectoryMode()) if (this.IsDirectoryMode())
{ {
ImGui.TextUnformatted("Directory Path :"); ImGui.Text("Directory Path :"u8);
} }
else else
{ {
ImGui.TextUnformatted("File Name :"); ImGui.Text("File Name :"u8);
} }
ImGui.SameLine(); ImGui.SameLine();
@ -701,7 +701,7 @@ public partial class FileDialog
ImGui.SetNextItemWidth(width); ImGui.SetNextItemWidth(width);
if (selectOnly) ImGui.PushStyleVar(ImGuiStyleVar.Alpha, 0.5f); if (selectOnly) ImGui.PushStyleVar(ImGuiStyleVar.Alpha, 0.5f);
ImGui.InputText("##FileName", ref this.fileNameBuffer, 255, selectOnly ? ImGuiInputTextFlags.ReadOnly : ImGuiInputTextFlags.None); ImGui.InputText("##FileName"u8, ref this.fileNameBuffer, 255, selectOnly ? ImGuiInputTextFlags.ReadOnly : ImGuiInputTextFlags.None);
if (selectOnly) ImGui.PopStyleVar(); if (selectOnly) ImGui.PopStyleVar();
if (this.filters.Count > 0) if (this.filters.Count > 0)
@ -710,7 +710,7 @@ public partial class FileDialog
var needToApplyNewFilter = false; var needToApplyNewFilter = false;
ImGui.SetNextItemWidth(Scaled(150f)); ImGui.SetNextItemWidth(Scaled(150f));
if (ImGui.BeginCombo("##Filters", this.selectedFilter.Filter, ImGuiComboFlags.None)) if (ImGui.BeginCombo("##Filters"u8, this.selectedFilter.Filter, ImGuiComboFlags.None))
{ {
var idx = 0; var idx = 0;
foreach (var filter in this.filters) foreach (var filter in this.filters)
@ -742,7 +742,7 @@ public partial class FileDialog
var disableOk = string.IsNullOrEmpty(this.fileNameBuffer) || (selectOnly && !this.IsItemSelected()); var disableOk = string.IsNullOrEmpty(this.fileNameBuffer) || (selectOnly && !this.IsItemSelected());
if (disableOk) ImGui.PushStyleVar(ImGuiStyleVar.Alpha, 0.5f); if (disableOk) ImGui.PushStyleVar(ImGuiStyleVar.Alpha, 0.5f);
if (ImGui.Button("Ok") && !disableOk) if (ImGui.Button("Ok"u8) && !disableOk)
{ {
this.isOk = true; this.isOk = true;
res = true; res = true;
@ -752,7 +752,7 @@ public partial class FileDialog
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Cancel")) if (ImGui.Button("Cancel"u8))
{ {
this.isOk = false; this.isOk = false;
res = true; res = true;
@ -805,8 +805,8 @@ public partial class FileDialog
ImGui.OpenPopup(name); ImGui.OpenPopup(name);
if (ImGui.BeginPopupModal(name, ref open, ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoMove)) if (ImGui.BeginPopupModal(name, ref open, ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoMove))
{ {
ImGui.TextUnformatted("Would you like to Overwrite it ?"); ImGui.Text("Would you like to Overwrite it ?"u8);
if (ImGui.Button("Confirm")) if (ImGui.Button("Confirm"u8))
{ {
this.okResultToConfirm = false; this.okResultToConfirm = false;
this.isOk = true; this.isOk = true;
@ -815,7 +815,7 @@ public partial class FileDialog
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Cancel")) if (ImGui.Button("Cancel"u8))
{ {
this.okResultToConfirm = false; this.okResultToConfirm = false;
this.isOk = false; this.isOk = false;

View file

@ -391,16 +391,16 @@ public sealed class SingleFontChooserDialog : IDisposable
var baseOffset = ImGui.GetCursorPos() - windowPad; var baseOffset = ImGui.GetCursorPos() - windowPad;
var actionSize = Vector2.Zero; var actionSize = Vector2.Zero;
actionSize = Vector2.Max(actionSize, ImGui.CalcTextSize("OK")); actionSize = Vector2.Max(actionSize, ImGui.CalcTextSize("OK"u8));
actionSize = Vector2.Max(actionSize, ImGui.CalcTextSize("Cancel")); actionSize = Vector2.Max(actionSize, ImGui.CalcTextSize("Cancel"u8));
actionSize = Vector2.Max(actionSize, ImGui.CalcTextSize("Refresh")); actionSize = Vector2.Max(actionSize, ImGui.CalcTextSize("Refresh"u8));
actionSize = Vector2.Max(actionSize, ImGui.CalcTextSize("Reset")); actionSize = Vector2.Max(actionSize, ImGui.CalcTextSize("Reset"u8));
actionSize += framePad * 2; actionSize += framePad * 2;
var bodySize = ImGui.GetContentRegionAvail(); var bodySize = ImGui.GetContentRegionAvail();
ImGui.SetCursorPos(baseOffset + windowPad); ImGui.SetCursorPos(baseOffset + windowPad);
if (ImGui.BeginChild( if (ImGui.BeginChild(
"##choicesBlock", "##choicesBlock"u8,
bodySize with { X = bodySize.X - windowPad.X - actionSize.X }, bodySize with { X = bodySize.X - windowPad.X - actionSize.X },
false, false,
ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoScrollWithMouse)) ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoScrollWithMouse))
@ -412,7 +412,7 @@ public sealed class SingleFontChooserDialog : IDisposable
ImGui.SetCursorPos(baseOffset + windowPad + new Vector2(bodySize.X - actionSize.X, 0)); ImGui.SetCursorPos(baseOffset + windowPad + new Vector2(bodySize.X - actionSize.X, 0));
if (ImGui.BeginChild("##actionsBlock", bodySize with { X = actionSize.X })) if (ImGui.BeginChild("##actionsBlock"u8, bodySize with { X = actionSize.X }))
{ {
this.DrawActionButtons(actionSize); this.DrawActionButtons(actionSize);
} }
@ -460,25 +460,25 @@ public sealed class SingleFontChooserDialog : IDisposable
var tableSize = ImGui.GetContentRegionAvail() - var tableSize = ImGui.GetContentRegionAvail() -
new Vector2(0, ImGui.GetStyle().WindowPadding.Y + previewHeight + advancedOptionsHeight); new Vector2(0, ImGui.GetStyle().WindowPadding.Y + previewHeight + advancedOptionsHeight);
if (ImGui.BeginChild( if (ImGui.BeginChild(
"##tableContainer", "##tableContainer"u8,
tableSize, tableSize,
false, false,
ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoScrollWithMouse) ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoScrollWithMouse)
&& ImGui.BeginTable("##table", 3, ImGuiTableFlags.None)) && ImGui.BeginTable("##table"u8, 3, ImGuiTableFlags.None))
{ {
ImGui.PushStyleColor(ImGuiCol.TableHeaderBg, Vector4.Zero); ImGui.PushStyleColor(ImGuiCol.TableHeaderBg, Vector4.Zero);
ImGui.PushStyleColor(ImGuiCol.HeaderHovered, Vector4.Zero); ImGui.PushStyleColor(ImGuiCol.HeaderHovered, Vector4.Zero);
ImGui.PushStyleColor(ImGuiCol.HeaderActive, Vector4.Zero); ImGui.PushStyleColor(ImGuiCol.HeaderActive, Vector4.Zero);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Font:##familyColumn", "Font:##familyColumn"u8,
ImGuiTableColumnFlags.WidthStretch, ImGuiTableColumnFlags.WidthStretch,
0.4f); 0.4f);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Style:##fontColumn", "Style:##fontColumn"u8,
ImGuiTableColumnFlags.WidthStretch, ImGuiTableColumnFlags.WidthStretch,
0.4f); 0.4f);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Size:##sizeColumn", "Size:##sizeColumn"u8,
ImGuiTableColumnFlags.WidthStretch, ImGuiTableColumnFlags.WidthStretch,
0.2f); 0.2f);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -510,7 +510,7 @@ public sealed class SingleFontChooserDialog : IDisposable
ImGui.EndChild(); ImGui.EndChild();
ImGui.Checkbox("Show advanced options", ref this.useAdvancedOptions); ImGui.Checkbox("Show advanced options"u8, ref this.useAdvancedOptions);
if (this.useAdvancedOptions) if (this.useAdvancedOptions)
{ {
if (this.DrawAdvancedOptions()) if (this.DrawAdvancedOptions())
@ -539,19 +539,19 @@ public sealed class SingleFontChooserDialog : IDisposable
if (this.fontHandle is null) if (this.fontHandle is null)
{ {
ImGui.SetCursorPos(ImGui.GetCursorPos() + ImGui.GetStyle().FramePadding); ImGui.SetCursorPos(ImGui.GetCursorPos() + ImGui.GetStyle().FramePadding);
ImGui.TextUnformatted("Select a font."); ImGui.Text("Select a font."u8);
} }
else if (this.fontHandle.LoadException is { } loadException) else if (this.fontHandle.LoadException is { } loadException)
{ {
ImGui.SetCursorPos(ImGui.GetCursorPos() + ImGui.GetStyle().FramePadding); ImGui.SetCursorPos(ImGui.GetCursorPos() + ImGui.GetStyle().FramePadding);
ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudRed); ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
ImGui.TextUnformatted(loadException.Message); ImGui.Text(loadException.Message);
ImGui.PopStyleColor(); ImGui.PopStyleColor();
} }
else if (!this.fontHandle.Available) else if (!this.fontHandle.Available)
{ {
ImGui.SetCursorPos(ImGui.GetCursorPos() + ImGui.GetStyle().FramePadding); ImGui.SetCursorPos(ImGui.GetCursorPos() + ImGui.GetStyle().FramePadding);
ImGui.TextUnformatted("Loading font..."); ImGui.Text("Loading font..."u8);
} }
else else
{ {
@ -571,14 +571,14 @@ public sealed class SingleFontChooserDialog : IDisposable
if (this.fontFamilies?.IsCompleted is not true) if (this.fontFamilies?.IsCompleted is not true)
{ {
ImGui.SetScrollY(0); ImGui.SetScrollY(0);
ImGui.TextUnformatted("Loading..."); ImGui.Text("Loading..."u8);
return false; return false;
} }
if (!this.fontFamilies.IsCompletedSuccessfully) if (!this.fontFamilies.IsCompletedSuccessfully)
{ {
ImGui.SetScrollY(0); ImGui.SetScrollY(0);
ImGui.TextUnformatted("Error: " + this.fontFamilies.Exception); ImGui.Text("Error: " + this.fontFamilies.Exception);
return false; return false;
} }
@ -593,7 +593,7 @@ public sealed class SingleFontChooserDialog : IDisposable
var changed = false; var changed = false;
if (ImGui.InputText( if (ImGui.InputText(
"##familySearch", "##familySearch"u8,
ref this.familySearch, ref this.familySearch,
255, 255,
ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.CallbackHistory, ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.CallbackHistory,
@ -676,7 +676,7 @@ public sealed class SingleFontChooserDialog : IDisposable
} }
} }
if (ImGui.BeginChild("##familyList", ImGui.GetContentRegionAvail())) if (ImGui.BeginChild("##familyList"u8, ImGui.GetContentRegionAvail()))
{ {
var clipper = ImGui.ImGuiListClipper(); var clipper = ImGui.ImGuiListClipper();
var lineHeight = ImGui.GetTextLineHeightWithSpacing(); var lineHeight = ImGui.GetTextLineHeightWithSpacing();
@ -695,7 +695,7 @@ public sealed class SingleFontChooserDialog : IDisposable
{ {
if (i < 0) if (i < 0)
{ {
ImGui.TextUnformatted(" "); ImGui.Text(" "u8);
continue; continue;
} }
@ -735,13 +735,13 @@ public sealed class SingleFontChooserDialog : IDisposable
{ {
if (this.fontFamilies?.IsCompleted is not true) if (this.fontFamilies?.IsCompleted is not true)
{ {
ImGui.TextUnformatted("Loading..."); ImGui.Text("Loading..."u8);
return changed; return changed;
} }
if (!this.fontFamilies.IsCompletedSuccessfully) if (!this.fontFamilies.IsCompletedSuccessfully)
{ {
ImGui.TextUnformatted("Error: " + this.fontFamilies.Exception); ImGui.Text("Error: " + this.fontFamilies.Exception);
return changed; return changed;
} }
@ -761,7 +761,7 @@ public sealed class SingleFontChooserDialog : IDisposable
} }
if (ImGui.InputText( if (ImGui.InputText(
"##fontSearch", "##fontSearch"u8,
ref this.fontSearch, ref this.fontSearch,
255, 255,
ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.CallbackHistory, ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.CallbackHistory,
@ -843,7 +843,7 @@ public sealed class SingleFontChooserDialog : IDisposable
} }
} }
if (ImGui.BeginChild("##fontList")) if (ImGui.BeginChild("##fontList"u8))
{ {
var clipper = ImGui.ImGuiListClipper(); var clipper = ImGui.ImGuiListClipper();
var lineHeight = ImGui.GetTextLineHeightWithSpacing(); var lineHeight = ImGui.GetTextLineHeightWithSpacing();
@ -862,7 +862,7 @@ public sealed class SingleFontChooserDialog : IDisposable
{ {
if (i < 0) if (i < 0)
{ {
ImGui.TextUnformatted(" "); ImGui.Text(" "u8);
continue; continue;
} }
@ -909,7 +909,7 @@ public sealed class SingleFontChooserDialog : IDisposable
} }
if (ImGui.InputText( if (ImGui.InputText(
"##fontSizeSearch", "##fontSizeSearch"u8,
ref this.fontSizeSearch, ref this.fontSizeSearch,
255, 255,
ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.CallbackHistory | ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.CallbackHistory |
@ -947,7 +947,7 @@ public sealed class SingleFontChooserDialog : IDisposable
} }
} }
if (ImGui.BeginChild("##fontSizeList")) if (ImGui.BeginChild("##fontSizeList"u8))
{ {
var clipper = ImGui.ImGuiListClipper(); var clipper = ImGui.ImGuiListClipper();
var lineHeight = ImGui.GetTextLineHeightWithSpacing(); var lineHeight = ImGui.GetTextLineHeightWithSpacing();
@ -966,7 +966,7 @@ public sealed class SingleFontChooserDialog : IDisposable
{ {
if (i < 0) if (i < 0)
{ {
ImGui.TextUnformatted(" "); ImGui.Text(" "u8);
continue; continue;
} }
@ -1010,36 +1010,36 @@ public sealed class SingleFontChooserDialog : IDisposable
{ {
var changed = false; var changed = false;
if (!ImGui.BeginTable("##advancedOptions", 4)) if (!ImGui.BeginTable("##advancedOptions"u8, 4))
return false; return false;
var labelWidth = ImGui.CalcTextSize("Letter Spacing:").X; var labelWidth = ImGui.CalcTextSize("Letter Spacing:"u8).X;
labelWidth = Math.Max(labelWidth, ImGui.CalcTextSize("Offset:").X); labelWidth = Math.Max(labelWidth, ImGui.CalcTextSize("Offset:"u8).X);
labelWidth = Math.Max(labelWidth, ImGui.CalcTextSize("Line Height:").X); labelWidth = Math.Max(labelWidth, ImGui.CalcTextSize("Line Height:"u8).X);
labelWidth += ImGui.GetStyle().FramePadding.X; labelWidth += ImGui.GetStyle().FramePadding.X;
var inputWidth = ImGui.CalcTextSize("000.000").X + (ImGui.GetStyle().FramePadding.X * 2); var inputWidth = ImGui.CalcTextSize("000.000"u8).X + (ImGui.GetStyle().FramePadding.X * 2);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"##inputLabelColumn", "##inputLabelColumn"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
labelWidth); labelWidth);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"##input1Column", "##input1Column"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
inputWidth); inputWidth);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"##input2Column", "##input2Column"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
inputWidth); inputWidth);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"##fillerColumn", "##fillerColumn"u8,
ImGuiTableColumnFlags.WidthStretch, ImGuiTableColumnFlags.WidthStretch,
1f); 1f);
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted("Offset:"); ImGui.Text("Offset:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (FloatInputText( if (FloatInputText(
@ -1070,7 +1070,7 @@ public sealed class SingleFontChooserDialog : IDisposable
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted("Letter Spacing:"); ImGui.Text("Letter Spacing:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (FloatInputText( if (FloatInputText(
@ -1085,7 +1085,7 @@ public sealed class SingleFontChooserDialog : IDisposable
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted("Line Height:"); ImGui.Text("Line Height:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (FloatInputText( if (FloatInputText(
@ -1159,15 +1159,15 @@ public sealed class SingleFontChooserDialog : IDisposable
|| this.FontFamilyExcludeFilter?.Invoke(this.selectedFont.FontId.Family) is true) || this.FontFamilyExcludeFilter?.Invoke(this.selectedFont.FontId.Family) is true)
{ {
ImGui.BeginDisabled(); ImGui.BeginDisabled();
ImGui.Button("OK", buttonSize); ImGui.Button("OK"u8, buttonSize);
ImGui.EndDisabled(); ImGui.EndDisabled();
} }
else if (ImGui.Button("OK", buttonSize)) else if (ImGui.Button("OK"u8, buttonSize))
{ {
this.tcs.SetResult(this.selectedFont); this.tcs.SetResult(this.selectedFont);
} }
if (ImGui.Button("Cancel", buttonSize)) if (ImGui.Button("Cancel"u8, buttonSize))
{ {
this.Cancel(); this.Cancel();
} }
@ -1178,10 +1178,10 @@ public sealed class SingleFontChooserDialog : IDisposable
{ {
isFirst = doRefresh = this.fontFamilies is null; isFirst = doRefresh = this.fontFamilies is null;
ImGui.BeginDisabled(); ImGui.BeginDisabled();
ImGui.Button("Refresh", buttonSize); ImGui.Button("Refresh"u8, buttonSize);
ImGui.EndDisabled(); ImGui.EndDisabled();
} }
else if (ImGui.Button("Refresh", buttonSize)) else if (ImGui.Button("Refresh"u8, buttonSize))
{ {
doRefresh = true; doRefresh = true;
} }
@ -1218,7 +1218,7 @@ public sealed class SingleFontChooserDialog : IDisposable
if (this.useAdvancedOptions) if (this.useAdvancedOptions)
{ {
if (ImGui.Button("Reset", buttonSize)) if (ImGui.Button("Reset"u8, buttonSize))
{ {
this.selectedFont = this.selectedFont with this.selectedFont = this.selectedFont with
{ {

View file

@ -383,7 +383,7 @@ internal sealed partial class ActiveNotification
ImGui.PushStyleVar(ImGuiStyleVar.Alpha, ImGui.GetStyle().Alpha * relativeOpacity); ImGui.PushStyleVar(ImGuiStyleVar.Alpha, ImGui.GetStyle().Alpha * relativeOpacity);
ImGui.SetCursorPos(new(NotificationConstants.ScaledWindowPadding)); ImGui.SetCursorPos(new(NotificationConstants.ScaledWindowPadding));
ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.WhenTextColor); ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.WhenTextColor);
ImGui.TextUnformatted( ImGui.Text(
ImGui.IsWindowHovered(ImGuiHoveredFlags.AllowWhenBlockedByActiveItem) ImGui.IsWindowHovered(ImGuiHoveredFlags.AllowWhenBlockedByActiveItem)
? this.CreatedAt.LocAbsolute() ? this.CreatedAt.LocAbsolute()
: ReducedMotions : ReducedMotions
@ -404,7 +404,7 @@ internal sealed partial class ActiveNotification
var agoSize = ImGui.CalcTextSize(agoText); var agoSize = ImGui.CalcTextSize(agoText);
ImGui.SetCursorPos(new(width - ((height + agoSize.X) / 2f), NotificationConstants.ScaledWindowPadding)); ImGui.SetCursorPos(new(width - ((height + agoSize.X) / 2f), NotificationConstants.ScaledWindowPadding));
ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.WhenTextColor); ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.WhenTextColor);
ImGui.TextUnformatted(agoText); ImGui.Text(agoText);
ImGui.PopStyleColor(); ImGui.PopStyleColor();
this.DrawIcon( this.DrawIcon(
@ -415,7 +415,7 @@ internal sealed partial class ActiveNotification
windowPos + new Vector2(width - height, height), windowPos + new Vector2(width - height, height),
true); true);
ImGui.SetCursorPos(new(height, NotificationConstants.ScaledWindowPadding)); ImGui.SetCursorPos(new(height, NotificationConstants.ScaledWindowPadding));
ImGui.TextUnformatted(this.EffectiveMinimizedText); ImGui.Text(this.EffectiveMinimizedText);
ImGui.PopClipRect(); ImGui.PopClipRect();
ImGui.PopStyleVar(); ImGui.PopStyleVar();
@ -502,13 +502,13 @@ internal sealed partial class ActiveNotification
if ((this.Title ?? this.Type.ToTitle()) is { } title) if ((this.Title ?? this.Type.ToTitle()) is { } title)
{ {
ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.TitleTextColor); ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.TitleTextColor);
ImGui.TextUnformatted(title); ImGui.Text(title);
ImGui.PopStyleColor(); ImGui.PopStyleColor();
} }
ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.BlameTextColor); ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.BlameTextColor);
ImGui.SetCursorPos(minCoord with { Y = ImGui.GetCursorPosY() }); ImGui.SetCursorPos(minCoord with { Y = ImGui.GetCursorPosY() });
ImGui.TextUnformatted(this.InitiatorString); ImGui.Text(this.InitiatorString);
ImGui.PopStyleColor(); ImGui.PopStyleColor();
ImGui.PopTextWrapPos(); ImGui.PopTextWrapPos();
@ -520,7 +520,7 @@ internal sealed partial class ActiveNotification
ImGui.SetCursorPos(minCoord); ImGui.SetCursorPos(minCoord);
ImGui.PushTextWrapPos(minCoord.X + width); ImGui.PushTextWrapPos(minCoord.X + width);
ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.BodyTextColor); ImGui.PushStyleColor(ImGuiCol.Text, NotificationConstants.BodyTextColor);
ImGui.TextUnformatted(this.Content); ImGui.Text(this.Content);
ImGui.PopStyleColor(); ImGui.PopStyleColor();
ImGui.PopTextWrapPos(); ImGui.PopTextWrapPos();
} }

View file

@ -54,7 +54,7 @@ internal class NotificationPositionChooser
ImGui.SetNextWindowBgAlpha(0.6f); ImGui.SetNextWindowBgAlpha(0.6f);
ImGui.Begin( ImGui.Begin(
"###NotificationPositionChooser", "###NotificationPositionChooser"u8,
ImGuiWindowFlags.NoDocking | ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoDocking | ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoMove |
ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoFocusOnAppearing | ImGuiWindowFlags.NoNav); ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoFocusOnAppearing | ImGuiWindowFlags.NoNav);

View file

@ -203,7 +203,7 @@ internal unsafe class SeStringRenderer : IInternalDisposableService
var cursorPosBackup = ImGui.GetCursorScreenPos(); var cursorPosBackup = ImGui.GetCursorScreenPos();
ImGui.SetCursorScreenPos(state.ScreenOffset + f.Offset); ImGui.SetCursorScreenPos(state.ScreenOffset + f.Offset);
clicked = ImGui.InvisibleButton("##link", sz, buttonFlags); clicked = ImGui.InvisibleButton("##link"u8, sz, buttonFlags);
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
hoveredLinkOffset = f.Link; hoveredLinkOffset = f.Link;
if (ImGui.IsItemActive()) if (ImGui.IsItemActive())
@ -218,7 +218,7 @@ internal unsafe class SeStringRenderer : IInternalDisposableService
if (!invisibleButtonDrawn) if (!invisibleButtonDrawn)
{ {
ImGui.SetCursorScreenPos(state.ScreenOffset); ImGui.SetCursorScreenPos(state.ScreenOffset);
clicked = ImGui.InvisibleButton("##text", itemSize, buttonFlags); clicked = ImGui.InvisibleButton("##text"u8, itemSize, buttonFlags);
} }
ImGui.PopID(); ImGui.PopID();

View file

@ -606,7 +606,7 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.SetNextWindowBgAlpha(Math.Min(this.creditsDarkeningAnimation.EasedPoint.X, CreditsDarkeningMaxAlpha)); ImGui.SetNextWindowBgAlpha(Math.Min(this.creditsDarkeningAnimation.EasedPoint.X, CreditsDarkeningMaxAlpha));
ImGui.Begin( ImGui.Begin(
"###CreditsDarkenWindow", "###CreditsDarkenWindow"u8,
ImGuiWindowFlags.NoInputs | ImGuiWindowFlags.NoDocking | ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoInputs | ImGuiWindowFlags.NoDocking | ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoMove |
ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoFocusOnAppearing | ImGuiWindowFlags.NoBringToFrontOnFocus | ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoFocusOnAppearing | ImGuiWindowFlags.NoBringToFrontOnFocus |
ImGuiWindowFlags.NoNav); ImGuiWindowFlags.NoNav);
@ -635,10 +635,10 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.SetNextWindowPos(windowPos, ImGuiCond.Always); ImGui.SetNextWindowPos(windowPos, ImGuiCond.Always);
ImGui.SetNextWindowBgAlpha(1); ImGui.SetNextWindowBgAlpha(1);
if (ImGui.Begin("DevMenu Opener", ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoBackground | ImGuiWindowFlags.NoDecoration | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoSavedSettings)) if (ImGui.Begin("DevMenu Opener"u8, ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoBackground | ImGuiWindowFlags.NoDecoration | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoSavedSettings))
{ {
ImGui.SetNextItemWidth(40); ImGui.SetNextItemWidth(40);
if (ImGui.Button("###devMenuOpener", new Vector2(20, 20))) if (ImGui.Button("###devMenuOpener"u8, new Vector2(20, 20)))
this.isImGuiDrawDevMenu = true; this.isImGuiDrawDevMenu = true;
} }
@ -650,13 +650,13 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.SetNextWindowBgAlpha(1); ImGui.SetNextWindowBgAlpha(1);
if (ImGui.Begin( if (ImGui.Begin(
"Disclaimer", "Disclaimer"u8,
ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoBackground | ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoBackground |
ImGuiWindowFlags.NoDecoration | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoDecoration | ImGuiWindowFlags.NoMove |
ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoMouseInputs | ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoMouseInputs |
ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoSavedSettings)) ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoSavedSettings))
{ {
ImGui.TextColored(ImGuiColors.DalamudRed, "Is force MinHook!"); ImGui.TextColoredWrapped(ImGuiColors.DalamudRed, "Is force MinHook!"u8);
} }
ImGui.End(); ImGui.End();
@ -672,11 +672,11 @@ internal class DalamudInterface : IInternalDisposableService
{ {
var pluginManager = Service<PluginManager>.Get(); var pluginManager = Service<PluginManager>.Get();
if (ImGui.BeginMenu("Dalamud")) if (ImGui.BeginMenu("Dalamud"u8))
{ {
ImGui.MenuItem("Draw dev menu", string.Empty, ref this.isImGuiDrawDevMenu); ImGui.MenuItem("Draw dev menu"u8, (byte*)null, ref this.isImGuiDrawDevMenu);
var devBarAtStartup = this.configuration.DevBarOpenAtStartup;
if (ImGui.MenuItem("Draw dev menu at startup", string.Empty, ref devBarAtStartup)) if (ImGui.MenuItem("Draw dev menu at startup"u8, (byte*)null, this.configuration.DevBarOpenAtStartup))
{ {
this.configuration.DevBarOpenAtStartup ^= true; this.configuration.DevBarOpenAtStartup ^= true;
this.configuration.QueueSave(); this.configuration.QueueSave();
@ -684,16 +684,16 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.Separator(); ImGui.Separator();
if (ImGui.MenuItem("Open Log window")) if (ImGui.MenuItem("Open Log window"u8))
{ {
this.OpenLogWindow(); this.OpenLogWindow();
} }
if (ImGui.BeginMenu("Set log level...")) if (ImGui.BeginMenu("Set log level..."u8))
{ {
foreach (var logLevel in Enum.GetValues(typeof(LogEventLevel)).Cast<LogEventLevel>()) foreach (var logLevel in Enum.GetValues(typeof(LogEventLevel)).Cast<LogEventLevel>())
{ {
if (ImGui.MenuItem(logLevel + "##logLevelSwitch", string.Empty, EntryPoint.LogLevelSwitch.MinimumLevel == logLevel)) if (ImGui.MenuItem(logLevel + "##logLevelSwitch", (byte*)null, EntryPoint.LogLevelSwitch.MinimumLevel == logLevel))
{ {
EntryPoint.LogLevelSwitch.MinimumLevel = logLevel; EntryPoint.LogLevelSwitch.MinimumLevel = logLevel;
this.configuration.LogLevel = logLevel; this.configuration.LogLevel = logLevel;
@ -704,10 +704,9 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.EndMenu(); ImGui.EndMenu();
} }
var logSynchronously = this.configuration.LogSynchronously; if (ImGui.MenuItem("Log Synchronously"u8, (byte*)null, this.configuration.LogSynchronously))
if (ImGui.MenuItem("Log Synchronously", (byte*)null, ref logSynchronously))
{ {
this.configuration.LogSynchronously = logSynchronously; this.configuration.LogSynchronously ^= true;
this.configuration.QueueSave(); this.configuration.QueueSave();
EntryPoint.InitLogging( EntryPoint.InitLogging(
@ -719,78 +718,78 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.Separator(); ImGui.Separator();
if (ImGui.MenuItem("Open Data window")) if (ImGui.MenuItem("Open Data window"u8))
{ {
this.OpenDataWindow(); this.OpenDataWindow();
} }
if (ImGui.MenuItem("Open Settings window")) if (ImGui.MenuItem("Open Settings window"u8))
{ {
this.OpenSettings(); this.OpenSettings();
} }
if (ImGui.MenuItem("Open Changelog window")) if (ImGui.MenuItem("Open Changelog window"u8))
{ {
this.OpenChangelogWindow(); this.OpenChangelogWindow();
} }
if (ImGui.MenuItem("Open Components Demo")) if (ImGui.MenuItem("Open Components Demo"u8))
{ {
this.OpenComponentDemoWindow(); this.OpenComponentDemoWindow();
} }
if (ImGui.MenuItem("Open Colors Demo")) if (ImGui.MenuItem("Open Colors Demo"u8))
{ {
this.OpenColorsDemoWindow(); this.OpenColorsDemoWindow();
} }
if (ImGui.MenuItem("Open Self-Test")) if (ImGui.MenuItem("Open Self-Test"u8))
{ {
this.OpenSelfTest(); this.OpenSelfTest();
} }
if (ImGui.MenuItem("Open Style Editor")) if (ImGui.MenuItem("Open Style Editor"u8))
{ {
this.OpenStyleEditor(); this.OpenStyleEditor();
} }
if (ImGui.MenuItem("Open Profiler")) if (ImGui.MenuItem("Open Profiler"u8))
{ {
this.OpenProfiler(); this.OpenProfiler();
} }
if (ImGui.MenuItem("Open Hitch Settings")) if (ImGui.MenuItem("Open Hitch Settings"u8))
{ {
this.OpenHitchSettings(); this.OpenHitchSettings();
} }
ImGui.Separator(); ImGui.Separator();
if (ImGui.MenuItem("Unload Dalamud")) if (ImGui.MenuItem("Unload Dalamud"u8))
{ {
Service<Dalamud>.Get().Unload(); Service<Dalamud>.Get().Unload();
} }
if (ImGui.MenuItem("Restart game")) if (ImGui.MenuItem("Restart game"u8))
{ {
Dalamud.RestartGame(); Dalamud.RestartGame();
} }
if (ImGui.MenuItem("Kill game")) if (ImGui.MenuItem("Kill game"u8))
{ {
Process.GetCurrentProcess().Kill(); Process.GetCurrentProcess().Kill();
} }
ImGui.Separator(); ImGui.Separator();
if (ImGui.BeginMenu("Crash game")) if (ImGui.BeginMenu("Crash game"u8))
{ {
if (ImGui.MenuItem("Access Violation")) if (ImGui.MenuItem("Access Violation"u8))
{ {
Marshal.ReadByte(IntPtr.Zero); Marshal.ReadByte(IntPtr.Zero);
} }
if (ImGui.MenuItem("Set UiModule to NULL")) if (ImGui.MenuItem("Set UiModule to NULL"u8))
{ {
unsafe unsafe
{ {
@ -799,7 +798,7 @@ internal class DalamudInterface : IInternalDisposableService
} }
} }
if (ImGui.MenuItem("Set UiModule to invalid ptr")) if (ImGui.MenuItem("Set UiModule to invalid ptr"u8))
{ {
unsafe unsafe
{ {
@ -808,7 +807,7 @@ internal class DalamudInterface : IInternalDisposableService
} }
} }
if (ImGui.MenuItem("Deref nullptr in Hook")) if (ImGui.MenuItem("Deref nullptr in Hook"u8))
{ {
unsafe unsafe
{ {
@ -823,7 +822,7 @@ internal class DalamudInterface : IInternalDisposableService
} }
} }
if (ImGui.MenuItem("Cause CLR fastfail")) if (ImGui.MenuItem("Cause CLR fastfail"u8))
{ {
unsafe void CauseFastFail() unsafe void CauseFastFail()
{ {
@ -835,7 +834,7 @@ internal class DalamudInterface : IInternalDisposableService
Service<Game.Framework>.Get().RunOnTick(CauseFastFail); Service<Game.Framework>.Get().RunOnTick(CauseFastFail);
} }
if (ImGui.MenuItem("Cause ImGui assert")) if (ImGui.MenuItem("Cause ImGui assert"u8))
{ {
ImGui.PopStyleVar(); ImGui.PopStyleVar();
ImGui.PopStyleVar(); ImGui.PopStyleVar();
@ -844,49 +843,47 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.EndMenu(); ImGui.EndMenu();
} }
if (ImGui.MenuItem("Report crashes at shutdown", (byte*)null, this.configuration.ReportShutdownCrashes)) if (ImGui.MenuItem("Report crashes at shutdown"u8, (byte*)null, this.configuration.ReportShutdownCrashes))
{ {
this.configuration.ReportShutdownCrashes = !this.configuration.ReportShutdownCrashes; this.configuration.ReportShutdownCrashes ^= true;
this.configuration.QueueSave(); this.configuration.QueueSave();
} }
ImGui.Separator(); ImGui.Separator();
if (ImGui.MenuItem("Open Dalamud branch switcher")) if (ImGui.MenuItem("Open Dalamud branch switcher"u8))
{ {
this.OpenBranchSwitcher(); this.OpenBranchSwitcher();
} }
ImGui.MenuItem(this.dalamud.StartInfo.GameVersion?.ToString() ?? "Unknown version", false, false); ImGui.MenuItem(this.dalamud.StartInfo.GameVersion?.ToString() ?? "Unknown version", false);
ImGui.MenuItem($"D: {Util.GetScmVersion()} CS: {Util.GetGitHashClientStructs()}[{FFXIVClientStructs.ThisAssembly.Git.Commits}]", false, false); ImGui.MenuItem($"D: {Util.GetScmVersion()} CS: {Util.GetGitHashClientStructs()}[{FFXIVClientStructs.ThisAssembly.Git.Commits}]", false);
ImGui.MenuItem($"CLR: {Environment.Version}", false, false); ImGui.MenuItem($"CLR: {Environment.Version}", false);
ImGui.EndMenu(); ImGui.EndMenu();
} }
if (ImGui.BeginMenu("GUI")) if (ImGui.BeginMenu("GUI"u8))
{ {
ImGui.MenuItem("Use Monospace font for following windows", string.Empty, ref this.isImGuiTestWindowsInMonospace); ImGui.MenuItem("Use Monospace font for following windows"u8, (byte*)null, ref this.isImGuiTestWindowsInMonospace);
ImGui.MenuItem("Draw ImGui demo", string.Empty, ref this.isImGuiDrawDemoWindow); ImGui.MenuItem("Draw ImGui demo"u8, (byte*)null, ref this.isImGuiDrawDemoWindow);
ImGui.MenuItem("Draw ImPlot demo", string.Empty, ref this.isImPlotDrawDemoWindow); ImGui.MenuItem("Draw ImPlot demo"u8, (byte*)null, ref this.isImPlotDrawDemoWindow);
ImGui.MenuItem("Draw metrics", string.Empty, ref this.isImGuiDrawMetricsWindow); ImGui.MenuItem("Draw metrics"u8, (byte*)null, ref this.isImGuiDrawMetricsWindow);
ImGui.Separator(); ImGui.Separator();
var showAsserts = this.interfaceManager.ShowAsserts; if (ImGui.MenuItem("Enable assert popups"u8, (byte*)null, this.interfaceManager.ShowAsserts))
if (ImGui.MenuItem("Enable assert popups", string.Empty, ref showAsserts))
{ {
this.interfaceManager.ShowAsserts = showAsserts; this.interfaceManager.ShowAsserts ^= true;
} }
var enableVerboseAsserts = this.interfaceManager.EnableVerboseAssertLogging; if (ImGui.MenuItem("Enable verbose assert logging"u8, (byte*)null, this.interfaceManager.EnableVerboseAssertLogging))
if (ImGui.MenuItem("Enable verbose assert logging", string.Empty, ref enableVerboseAsserts))
{ {
this.interfaceManager.EnableVerboseAssertLogging = enableVerboseAsserts; this.interfaceManager.EnableVerboseAssertLogging ^= true;
} }
var assertsEnabled = this.configuration.ImGuiAssertsEnabledAtStartup ?? false; var assertsEnabled = this.configuration.ImGuiAssertsEnabledAtStartup ?? false;
if (ImGui.MenuItem("Enable asserts at startup", (byte*)null, assertsEnabled)) if (ImGui.MenuItem("Enable asserts at startup"u8, (byte*)null, assertsEnabled))
{ {
this.configuration.ImGuiAssertsEnabledAtStartup = !assertsEnabled; this.configuration.ImGuiAssertsEnabledAtStartup = !assertsEnabled;
this.configuration.QueueSave(); this.configuration.QueueSave();
@ -894,17 +891,17 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.Separator(); ImGui.Separator();
if (ImGui.MenuItem("Clear focus")) if (ImGui.MenuItem("Clear focus"u8))
{ {
ImGui.SetWindowFocus((byte*)null); ImGui.SetWindowFocus((byte*)null);
} }
if (ImGui.MenuItem("Clear stacks")) if (ImGui.MenuItem("Clear stacks"u8))
{ {
this.interfaceManager.ClearStacks(); this.interfaceManager.ClearStacks();
} }
if (ImGui.MenuItem("Dump style")) if (ImGui.MenuItem("Dump style"u8))
{ {
var info = string.Empty; var info = string.Empty;
var style = StyleModelV1.Get(); var style = StyleModelV1.Get();
@ -937,14 +934,14 @@ internal class DalamudInterface : IInternalDisposableService
Log.Information(info); Log.Information(info);
} }
if (ImGui.MenuItem("Show dev bar info", (byte*)null, this.configuration.ShowDevBarInfo)) if (ImGui.MenuItem("Show dev bar info"u8, (byte*)null, this.configuration.ShowDevBarInfo))
{ {
this.configuration.ShowDevBarInfo = !this.configuration.ShowDevBarInfo; this.configuration.ShowDevBarInfo ^= true;
} }
ImGui.Separator(); ImGui.Separator();
if (ImGui.MenuItem("Show loading window")) if (ImGui.MenuItem("Show loading window"u8))
{ {
var dialog = new LoadingDialog(); var dialog = new LoadingDialog();
dialog.Show(); dialog.Show();
@ -953,19 +950,19 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.EndMenu(); ImGui.EndMenu();
} }
if (ImGui.BeginMenu("Game")) if (ImGui.BeginMenu("Game"u8))
{ {
if (ImGui.MenuItem("Use in-game default ExceptionHandler")) if (ImGui.MenuItem("Use in-game default ExceptionHandler"u8))
{ {
this.dalamud.UseDefaultExceptionHandler(); this.dalamud.UseDefaultExceptionHandler();
} }
if (ImGui.MenuItem("Use in-game debug ExceptionHandler")) if (ImGui.MenuItem("Use in-game debug ExceptionHandler"u8))
{ {
this.dalamud.UseDebugExceptionHandler(); this.dalamud.UseDebugExceptionHandler();
} }
if (ImGui.MenuItem("Disable in-game ExceptionHandler")) if (ImGui.MenuItem("Disable in-game ExceptionHandler"u8))
{ {
this.dalamud.UseNoExceptionHandler(); this.dalamud.UseNoExceptionHandler();
} }
@ -973,26 +970,26 @@ internal class DalamudInterface : IInternalDisposableService
ImGui.EndMenu(); ImGui.EndMenu();
} }
if (ImGui.BeginMenu("Plugins")) if (ImGui.BeginMenu("Plugins"u8))
{ {
if (ImGui.MenuItem("Open Plugin installer")) if (ImGui.MenuItem("Open Plugin installer"u8))
{ {
this.OpenPluginInstaller(); this.OpenPluginInstaller();
} }
if (ImGui.MenuItem("Clear cached images/icons")) if (ImGui.MenuItem("Clear cached images/icons"u8))
{ {
this.pluginWindow?.ClearIconCache(); this.pluginWindow?.ClearIconCache();
} }
ImGui.Separator(); ImGui.Separator();
if (ImGui.MenuItem("Open Plugin Stats")) if (ImGui.MenuItem("Open Plugin Stats"u8))
{ {
this.OpenPluginStats(); this.OpenPluginStats();
} }
if (ImGui.MenuItem("Print plugin info")) if (ImGui.MenuItem("Print plugin info"u8))
{ {
foreach (var plugin in pluginManager.InstalledPlugins) foreach (var plugin in pluginManager.InstalledPlugins)
{ {
@ -1001,51 +998,51 @@ internal class DalamudInterface : IInternalDisposableService
} }
} }
if (ImGui.MenuItem("Scan dev plugins")) if (ImGui.MenuItem("Scan dev plugins"u8))
{ {
_ = pluginManager.ScanDevPluginsAsync(); _ = pluginManager.ScanDevPluginsAsync();
} }
ImGui.Separator(); ImGui.Separator();
if (ImGui.MenuItem("Load all API levels", (byte*)null, pluginManager.LoadAllApiLevels)) if (ImGui.MenuItem("Load all API levels"u8, (byte*)null, pluginManager.LoadAllApiLevels))
{ {
pluginManager.LoadAllApiLevels = !pluginManager.LoadAllApiLevels; pluginManager.LoadAllApiLevels ^= true;
} }
if (ImGui.MenuItem("Load blacklisted plugins", (byte*)null, pluginManager.LoadBannedPlugins)) if (ImGui.MenuItem("Load blacklisted plugins"u8, (byte*)null, pluginManager.LoadBannedPlugins))
{ {
pluginManager.LoadBannedPlugins = !pluginManager.LoadBannedPlugins; pluginManager.LoadBannedPlugins ^= true;
} }
if (pluginManager.SafeMode && ImGui.MenuItem("Disable Safe Mode")) if (pluginManager.SafeMode && ImGui.MenuItem("Disable Safe Mode"u8))
{ {
pluginManager.SafeMode = false; pluginManager.SafeMode = false;
} }
ImGui.Separator(); ImGui.Separator();
ImGui.MenuItem("API Level:" + PluginManager.DalamudApiLevel, false, false); ImGui.MenuItem("API Level:" + PluginManager.DalamudApiLevel, false);
ImGui.MenuItem("Loaded plugins:" + pluginManager.InstalledPlugins.Count(), false, false); ImGui.MenuItem("Loaded plugins:" + pluginManager.InstalledPlugins.Count(), false);
ImGui.EndMenu(); ImGui.EndMenu();
} }
if (ImGui.BeginMenu("Localization")) if (ImGui.BeginMenu("Localization"u8))
{ {
var localization = Service<Localization>.Get(); var localization = Service<Localization>.Get();
if (ImGui.MenuItem("Export localizable")) if (ImGui.MenuItem("Export localizable"u8))
{ {
localization.ExportLocalizable(true); localization.ExportLocalizable(true);
} }
if (ImGui.BeginMenu("Load language...")) if (ImGui.BeginMenu("Load language..."u8))
{ {
if (ImGui.MenuItem("From Fallbacks")) if (ImGui.MenuItem("From Fallbacks"u8))
{ {
localization.SetupWithFallbacks(); localization.SetupWithFallbacks();
} }
if (ImGui.MenuItem("From UICulture")) if (ImGui.MenuItem("From UICulture"u8))
{ {
localization.SetupWithUiCulture(); localization.SetupWithUiCulture();
} }
@ -1065,7 +1062,7 @@ internal class DalamudInterface : IInternalDisposableService
} }
if (Service<GameGui>.Get().GameUiHidden) if (Service<GameGui>.Get().GameUiHidden)
ImGui.BeginMenu("UI is hidden...", false); ImGui.BeginMenu("UI is hidden..."u8, false);
if (this.configuration.ShowDevBarInfo) if (this.configuration.ShowDevBarInfo)
{ {

View file

@ -39,11 +39,11 @@ internal static partial class DalamudComponents
var width = ImGuiHelpers.GlobalScale * 300; var width = ImGuiHelpers.GlobalScale * 300;
ImGui.SetNextItemWidth(width); ImGui.SetNextItemWidth(width);
ImGui.InputTextWithHint("###pluginPickerSearch", Locs.SearchHint, ref pickerSearch, 255); ImGui.InputTextWithHint("###pluginPickerSearch"u8, Locs.SearchHint, ref pickerSearch, 255);
var currentSearchString = pickerSearch; var currentSearchString = pickerSearch;
using var listBox = ImRaii.ListBox("###pluginPicker", new Vector2(width, width - 80)); using var listBox = ImRaii.ListBox("###pluginPicker"u8, new Vector2(width, width - 80));
if (listBox.Success) if (listBox.Success)
{ {
// TODO: Plugin searching should be abstracted... installer and this should use the same search // TODO: Plugin searching should be abstracted... installer and this should use the same search

View file

@ -64,17 +64,17 @@ internal unsafe class UiDebug
public void Draw() public void Draw()
{ {
ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, new Vector2(3, 2)); ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, new Vector2(3, 2));
ImGui.BeginChild("st_uiDebug_unitBaseSelect", new Vector2(250, -1), true); ImGui.BeginChild("st_uiDebug_unitBaseSelect"u8, new Vector2(250, -1), true);
ImGui.SetNextItemWidth(-1); ImGui.SetNextItemWidth(-1);
ImGui.InputTextWithHint("###atkUnitBaseSearch", "Search", ref this.searchInput, 0x20); ImGui.InputTextWithHint("###atkUnitBaseSearch"u8, "Search"u8, ref this.searchInput, 0x20);
this.DrawUnitBaseList(); this.DrawUnitBaseList();
ImGui.EndChild(); ImGui.EndChild();
if (this.selectedUnitBase != null) if (this.selectedUnitBase != null)
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.BeginChild("st_uiDebug_selectedUnitBase", new Vector2(-1, -1), true); ImGui.BeginChild("st_uiDebug_selectedUnitBase"u8, new Vector2(-1, -1), true);
this.DrawUnitBase(this.selectedUnitBase); this.DrawUnitBase(this.selectedUnitBase);
ImGui.EndChild(); ImGui.EndChild();
} }
@ -95,7 +95,7 @@ internal unsafe class UiDebug
ImGui.PopStyleColor(); ImGui.PopStyleColor();
ImGui.SameLine(ImGui.GetWindowContentRegionMax().X - ImGui.GetWindowContentRegionMin().X - 25); ImGui.SameLine(ImGui.GetWindowContentRegionMax().X - ImGui.GetWindowContentRegionMin().X - 25);
if (ImGui.SmallButton("V")) if (ImGui.SmallButton("V"u8))
{ {
atkUnitBase->IsVisible = !atkUnitBase->IsVisible; atkUnitBase->IsVisible = !atkUnitBase->IsVisible;
} }
@ -106,7 +106,7 @@ internal unsafe class UiDebug
ImGui.Separator(); ImGui.Separator();
ImGui.Text($"Position: [ {atkUnitBase->X} , {atkUnitBase->Y} ]"); ImGui.Text($"Position: [ {atkUnitBase->X} , {atkUnitBase->Y} ]");
ImGui.Text($"Scale: {atkUnitBase->Scale * 100}%%"); ImGui.Text($"Scale: {atkUnitBase->Scale * 100}%");
ImGui.Text($"Widget Count {atkUnitBase->UldManager.ObjectCount}"); ImGui.Text($"Widget Count {atkUnitBase->UldManager.ObjectCount}");
ImGui.Separator(); ImGui.Separator();
@ -184,7 +184,7 @@ internal unsafe class UiDebug
popped = true; popped = true;
} }
ImGui.Text("Node: "); ImGui.Text("Node: "u8);
ImGui.SameLine(); ImGui.SameLine();
ImGuiHelpers.ClickToCopyText($"{(ulong)node:X}"); ImGuiHelpers.ClickToCopyText($"{(ulong)node:X}");
ImGui.SameLine(); ImGui.SameLine();
@ -208,7 +208,7 @@ internal unsafe class UiDebug
{ {
case NodeType.Text: case NodeType.Text:
var textNode = (AtkTextNode*)node; var textNode = (AtkTextNode*)node;
ImGui.Text("text: "); ImGui.Text("text: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(textNode->NodeText); Service<SeStringRenderer>.Get().Draw(textNode->NodeText);
@ -249,7 +249,7 @@ internal unsafe class UiDebug
break; break;
case NodeType.Counter: case NodeType.Counter:
var counterNode = (AtkCounterNode*)node; var counterNode = (AtkCounterNode*)node;
ImGui.Text("text: "); ImGui.Text("text: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(counterNode->NodeText); Service<SeStringRenderer>.Get().Draw(counterNode->NodeText);
break; break;
@ -283,7 +283,7 @@ internal unsafe class UiDebug
{ {
if (partId > partsList->PartCount) if (partId > partsList->PartCount)
{ {
ImGui.Text("part id > part count?"); ImGui.Text("part id > part count?"u8);
} }
else else
{ {
@ -348,7 +348,7 @@ internal unsafe class UiDebug
} }
else else
{ {
ImGui.Text("no texture loaded"); ImGui.Text("no texture loaded"u8);
} }
} }
} }
@ -384,12 +384,12 @@ internal unsafe class UiDebug
popped = true; popped = true;
} }
ImGui.Text("Node: "); ImGui.Text("Node: "u8);
ImGui.SameLine(); ImGui.SameLine();
ImGuiHelpers.ClickToCopyText($"{(ulong)node:X}"); ImGuiHelpers.ClickToCopyText($"{(ulong)node:X}");
ImGui.SameLine(); ImGui.SameLine();
Util.ShowStruct(*compNode, (ulong)compNode); Util.ShowStruct(*compNode, (ulong)compNode);
ImGui.Text("Component: "); ImGui.Text("Component: "u8);
ImGui.SameLine(); ImGui.SameLine();
ImGuiHelpers.ClickToCopyText($"{(ulong)compNode->Component:X}"); ImGuiHelpers.ClickToCopyText($"{(ulong)compNode->Component:X}");
ImGui.SameLine(); ImGui.SameLine();
@ -414,31 +414,31 @@ internal unsafe class UiDebug
{ {
case ComponentType.TextInput: case ComponentType.TextInput:
var textInputComponent = (AtkComponentTextInput*)compNode->Component; var textInputComponent = (AtkComponentTextInput*)compNode->Component;
ImGui.Text("InputBase Text1: "); ImGui.Text("InputBase Text1: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(textInputComponent->AtkComponentInputBase.UnkText1); Service<SeStringRenderer>.Get().Draw(textInputComponent->AtkComponentInputBase.UnkText1);
ImGui.Text("InputBase Text2: "); ImGui.Text("InputBase Text2: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(textInputComponent->AtkComponentInputBase.UnkText2); Service<SeStringRenderer>.Get().Draw(textInputComponent->AtkComponentInputBase.UnkText2);
ImGui.Text("Text1: "); ImGui.Text("Text1: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(textInputComponent->UnkText01); Service<SeStringRenderer>.Get().Draw(textInputComponent->UnkText01);
ImGui.Text("Text2: "); ImGui.Text("Text2: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(textInputComponent->UnkText02); Service<SeStringRenderer>.Get().Draw(textInputComponent->UnkText02);
ImGui.Text("AvailableLines: "); ImGui.Text("AvailableLines: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(textInputComponent->AvailableLines); Service<SeStringRenderer>.Get().Draw(textInputComponent->AvailableLines);
ImGui.Text("HighlightedAutoTranslateOptionColorPrefix: "); ImGui.Text("HighlightedAutoTranslateOptionColorPrefix: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(textInputComponent->HighlightedAutoTranslateOptionColorPrefix); Service<SeStringRenderer>.Get().Draw(textInputComponent->HighlightedAutoTranslateOptionColorPrefix);
ImGui.Text("HighlightedAutoTranslateOptionColorSuffix: "); ImGui.Text("HighlightedAutoTranslateOptionColorSuffix: "u8);
ImGui.SameLine(); ImGui.SameLine();
Service<SeStringRenderer>.Get().Draw(textInputComponent->HighlightedAutoTranslateOptionColorSuffix); Service<SeStringRenderer>.Get().Draw(textInputComponent->HighlightedAutoTranslateOptionColorSuffix);
break; break;
@ -604,7 +604,7 @@ internal unsafe class UiDebug
if (noResults) if (noResults)
{ {
ImGui.TextDisabled("No Results"); ImGui.TextDisabled("No Results"u8);
} }
if (!foundSelected) if (!foundSelected)

View file

@ -2,6 +2,7 @@ using System.Numerics;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Internal.UiDebug2.Utility; using Dalamud.Interface.Internal.UiDebug2.Utility;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Memory; using Dalamud.Memory;
using Dalamud.Utility; using Dalamud.Utility;
@ -26,13 +27,13 @@ public unsafe partial class AddonTree
using var tree = ImRaii.TreeNode($"Atk Values [{addon->AtkValuesCount}]###atkValues_{addon->NameString}"); using var tree = ImRaii.TreeNode($"Atk Values [{addon->AtkValuesCount}]###atkValues_{addon->NameString}");
if (tree.Success) if (tree.Success)
{ {
using var tbl = ImRaii.Table("atkUnitBase_atkValueTable", 3, ImGuiTableFlags.Borders | ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.RowBg); using var tbl = ImRaii.Table("atkUnitBase_atkValueTable"u8, 3, ImGuiTableFlags.Borders | ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.RowBg);
if (tbl.Success) if (tbl.Success)
{ {
ImGui.TableSetupColumn("Index"); ImGui.TableSetupColumn("Index"u8);
ImGui.TableSetupColumn("Type"); ImGui.TableSetupColumn("Type"u8);
ImGui.TableSetupColumn("Value"); ImGui.TableSetupColumn("Value"u8);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
try try
@ -52,7 +53,7 @@ public unsafe partial class AddonTree
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (atkValue->Type == 0) if (atkValue->Type == 0)
{ {
ImGui.TextDisabled("Not Set"); ImGui.TextDisabled("Not Set"u8);
} }
else else
{ {
@ -68,7 +69,7 @@ public unsafe partial class AddonTree
case ValueType.Int: case ValueType.Int:
case ValueType.UInt: case ValueType.UInt:
{ {
ImGui.TextUnformatted($"{atkValue->Int}"); ImGui.Text($"{atkValue->Int}");
break; break;
} }
@ -78,7 +79,7 @@ public unsafe partial class AddonTree
{ {
if (atkValue->String.Value == null) if (atkValue->String.Value == null)
{ {
ImGui.TextDisabled("null"); ImGui.TextDisabled("null"u8);
} }
else else
{ {
@ -90,17 +91,17 @@ public unsafe partial class AddonTree
case ValueType.Bool: case ValueType.Bool:
{ {
ImGui.TextUnformatted($"{atkValue->Byte != 0}"); ImGui.Text($"{atkValue->Byte != 0}");
break; break;
} }
case ValueType.Pointer: case ValueType.Pointer:
ImGui.TextUnformatted($"{(nint)atkValue->Pointer}"); ImGui.Text($"{(nint)atkValue->Pointer}");
break; break;
default: default:
{ {
ImGui.TextDisabled("Unhandled Type"); ImGui.TextDisabled("Unhandled Type"u8);
ImGui.SameLine(); ImGui.SameLine();
Util.ShowStruct(atkValue); Util.ShowStruct(atkValue);
break; break;

View file

@ -4,6 +4,8 @@ using System.Numerics;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Components; using Dalamud.Interface.Components;
using Dalamud.Interface.Utility;
using FFXIVClientStructs.FFXIV.Component.GUI; using FFXIVClientStructs.FFXIV.Component.GUI;
using static Dalamud.Interface.FontAwesomeIcon; using static Dalamud.Interface.FontAwesomeIcon;
@ -117,11 +119,11 @@ public unsafe partial class AddonTree : IDisposable
var isVisible = addon->IsVisible; var isVisible = addon->IsVisible;
ImGui.TextUnformatted($"{this.AddonName}"); ImGui.Text($"{this.AddonName}");
ImGui.SameLine(); ImGui.SameLine();
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextColored(isVisible ? new Vector4(0.1f, 1f, 0.1f, 1f) : new(0.6f, 0.6f, 0.6f, 1), isVisible ? "Visible" : "Not Visible"); ImGui.TextColored(isVisible ? new Vector4(0.1f, 1f, 0.1f, 1f) : new(0.6f, 0.6f, 0.6f, 1), isVisible ? "Visible"u8 : "Not Visible"u8);
ImGui.SameLine(ImGui.GetWindowWidth() - 100); ImGui.SameLine(ImGui.GetWindowWidth() - 100);
@ -132,7 +134,7 @@ public unsafe partial class AddonTree : IDisposable
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Toggle Visibility"); ImGui.SetTooltip("Toggle Visibility"u8);
} }
ImGui.SameLine(); ImGui.SameLine();
@ -143,7 +145,7 @@ public unsafe partial class AddonTree : IDisposable
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Toggle Popout Window"); ImGui.SetTooltip("Toggle Popout Window"u8);
} }
PaddedSeparator(1); PaddedSeparator(1);

View file

@ -35,13 +35,13 @@ public static class Events
if (tbl.Success) if (tbl.Success)
{ {
ImGui.TableSetupColumn("#", WidthFixed); ImGui.TableSetupColumn("#"u8, WidthFixed);
ImGui.TableSetupColumn("Type", WidthFixed); ImGui.TableSetupColumn("Type"u8, WidthFixed);
ImGui.TableSetupColumn("Param", WidthFixed); ImGui.TableSetupColumn("Param"u8, WidthFixed);
ImGui.TableSetupColumn("Flags", WidthFixed); ImGui.TableSetupColumn("Flags"u8, WidthFixed);
ImGui.TableSetupColumn("StateFlags1", WidthFixed); ImGui.TableSetupColumn("StateFlags1"u8, WidthFixed);
ImGui.TableSetupColumn("Target", WidthFixed); ImGui.TableSetupColumn("Target"u8, WidthFixed);
ImGui.TableSetupColumn("Listener", WidthFixed); ImGui.TableSetupColumn("Listener"u8, WidthFixed);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -49,15 +49,15 @@ public static class Events
while (evt != null) while (evt != null)
{ {
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{i++}"); ImGui.Text($"{i++}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{evt->State.EventType}"); ImGui.Text($"{evt->State.EventType}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{evt->Param}"); ImGui.Text($"{evt->Param}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{evt->State.StateFlags}"); ImGui.Text($"{evt->State.StateFlags}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{evt->State.ReturnFlags}"); ImGui.Text($"{evt->State.ReturnFlags}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGuiHelpers.ClickToCopyText($"{(nint)evt->Target:X}", default, new Vector4(0.6f, 0.6f, 0.6f, 1)); ImGuiHelpers.ClickToCopyText($"{(nint)evt->Target:X}", default, new Vector4(0.6f, 0.6f, 0.6f, 1));
ImGui.TableNextColumn(); ImGui.TableNextColumn();

View file

@ -89,25 +89,25 @@ internal unsafe class ComponentNodeTree : ResNodeTree
{ {
case TextInput: case TextInput:
var textInputComponent = (AtkComponentTextInput*)this.Component; var textInputComponent = (AtkComponentTextInput*)this.Component;
ImGui.TextUnformatted( ImGui.Text(
$"InputBase Text1: {Marshal.PtrToStringAnsi(new(textInputComponent->AtkComponentInputBase.UnkText1.StringPtr))}"); $"InputBase Text1: {Marshal.PtrToStringAnsi(new(textInputComponent->AtkComponentInputBase.UnkText1.StringPtr))}");
ImGui.TextUnformatted( ImGui.Text(
$"InputBase Text2: {Marshal.PtrToStringAnsi(new(textInputComponent->AtkComponentInputBase.UnkText2.StringPtr))}"); $"InputBase Text2: {Marshal.PtrToStringAnsi(new(textInputComponent->AtkComponentInputBase.UnkText2.StringPtr))}");
ImGui.TextUnformatted( ImGui.Text(
$"Text1: {Marshal.PtrToStringAnsi(new(textInputComponent->UnkText01.StringPtr))}"); $"Text1: {Marshal.PtrToStringAnsi(new(textInputComponent->UnkText01.StringPtr))}");
ImGui.TextUnformatted( ImGui.Text(
$"Text2: {Marshal.PtrToStringAnsi(new(textInputComponent->UnkText02.StringPtr))}"); $"Text2: {Marshal.PtrToStringAnsi(new(textInputComponent->UnkText02.StringPtr))}");
ImGui.TextUnformatted( ImGui.Text(
$"AvailableLines: {Marshal.PtrToStringAnsi(new(textInputComponent->AvailableLines.StringPtr))}"); $"AvailableLines: {Marshal.PtrToStringAnsi(new(textInputComponent->AvailableLines.StringPtr))}");
ImGui.TextUnformatted( ImGui.Text(
$"HighlightedAutoTranslateOptionColorPrefix: {Marshal.PtrToStringAnsi(new(textInputComponent->HighlightedAutoTranslateOptionColorPrefix.StringPtr))}"); $"HighlightedAutoTranslateOptionColorPrefix: {Marshal.PtrToStringAnsi(new(textInputComponent->HighlightedAutoTranslateOptionColorPrefix.StringPtr))}");
ImGui.TextUnformatted( ImGui.Text(
$"HighlightedAutoTranslateOptionColorSuffix: {Marshal.PtrToStringAnsi(new(textInputComponent->HighlightedAutoTranslateOptionColorSuffix.StringPtr))}"); $"HighlightedAutoTranslateOptionColorSuffix: {Marshal.PtrToStringAnsi(new(textInputComponent->HighlightedAutoTranslateOptionColorSuffix.StringPtr))}");
break; break;
case List: case List:
case TreeList: case TreeList:
var l = (AtkComponentList*)this.Component; var l = (AtkComponentList*)this.Component;
if (ImGui.SmallButton("Inc.Selected")) if (ImGui.SmallButton("Inc.Selected"u8))
{ {
l->SelectedItemIndex++; l->SelectedItemIndex++;
} }

View file

@ -50,12 +50,12 @@ internal unsafe partial class ResNodeTree
var hov = false; var hov = false;
ImGui.TableSetupColumn("Labels", WidthFixed); ImGui.TableSetupColumn("Labels"u8, WidthFixed);
ImGui.TableSetupColumn("Editors", WidthFixed); ImGui.TableSetupColumn("Editors"u8, WidthFixed);
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Position:"); ImGui.Text("Position:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
@ -70,7 +70,7 @@ internal unsafe partial class ResNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Size:"); ImGui.Text("Size:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.DragFloat2($"##{(nint)this.Node:X}size", ref size, 1, 0, default, "%.0f")) if (ImGui.DragFloat2($"##{(nint)this.Node:X}size", ref size, 1, 0, default, "%.0f"))
@ -84,7 +84,7 @@ internal unsafe partial class ResNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Scale:"); ImGui.Text("Scale:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.DragFloat2($"##{(nint)this.Node:X}scale", ref scale, 0.05f)) if (ImGui.DragFloat2($"##{(nint)this.Node:X}scale", ref scale, 0.05f))
@ -98,7 +98,7 @@ internal unsafe partial class ResNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Origin:"); ImGui.Text("Origin:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.DragFloat2($"##{(nint)this.Node:X}origin", ref origin, 1, default, default, "%.0f")) if (ImGui.DragFloat2($"##{(nint)this.Node:X}origin", ref origin, 1, default, default, "%.0f"))
@ -112,7 +112,7 @@ internal unsafe partial class ResNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Rotation:"); ImGui.Text("Rotation:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
while (angle > 180) while (angle > 180)
@ -128,7 +128,7 @@ internal unsafe partial class ResNodeTree
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Rotation (deg)"); ImGui.SetTooltip("Rotation (deg)"u8);
hov = true; hov = true;
} }
@ -143,7 +143,7 @@ internal unsafe partial class ResNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("RGBA:"); ImGui.Text("RGBA:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.ColorEdit4($"##{(nint)this.Node:X}RGBA", ref rgba, DisplayHex)) if (ImGui.ColorEdit4($"##{(nint)this.Node:X}RGBA", ref rgba, DisplayHex))
@ -153,7 +153,7 @@ internal unsafe partial class ResNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Multiply:"); ImGui.Text("Multiply:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.ColorEdit3($"##{(nint)this.Node:X}multiplyRGB", ref mult, DisplayHex)) if (ImGui.ColorEdit3($"##{(nint)this.Node:X}multiplyRGB", ref mult, DisplayHex))
@ -165,7 +165,7 @@ internal unsafe partial class ResNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Add:"); ImGui.Text("Add:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(124); ImGui.SetNextItemWidth(124);
@ -203,7 +203,7 @@ internal unsafe partial class CounterNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Counter:"); ImGui.Text("Counter:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
@ -229,7 +229,7 @@ internal unsafe partial class ImageNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Part Id:"); ImGui.Text("Part Id:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.InputInt($"##partId{(nint)this.Node:X}", ref partId, 1, 1)) if (ImGui.InputInt($"##partId{(nint)this.Node:X}", ref partId, 1, 1))
@ -262,7 +262,7 @@ internal unsafe partial class NineGridNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Ninegrid Offsets:"); ImGui.Text("Ninegrid Offsets:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.DragFloat2($"##{(nint)this.Node:X}ngOffsetLR", ref lr, 1f, 0f)) if (ImGui.DragFloat2($"##{(nint)this.Node:X}ngOffsetLR", ref lr, 1f, 0f))
@ -308,7 +308,7 @@ internal unsafe partial class TextNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Text:"); ImGui.Text("Text:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(Math.Max(ImGui.GetWindowContentRegionMax().X - ImGui.GetCursorPosX() - 50f, 150)); ImGui.SetNextItemWidth(Math.Max(ImGui.GetWindowContentRegionMax().X - ImGui.GetCursorPosX() - 50f, 150));
if (ImGui.InputText($"##{(nint)this.Node:X}textEdit", ref text, 512, EnterReturnsTrue)) if (ImGui.InputText($"##{(nint)this.Node:X}textEdit", ref text, 512, EnterReturnsTrue))
@ -318,7 +318,7 @@ internal unsafe partial class TextNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Font:"); ImGui.Text("Font:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.Combo($"##{(nint)this.Node:X}fontType", ref fontIndex, FontNames)) if (ImGui.Combo($"##{(nint)this.Node:X}fontType", ref fontIndex, FontNames))
@ -328,7 +328,7 @@ internal unsafe partial class TextNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Font Size:"); ImGui.Text("Font Size:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.InputInt($"##{(nint)this.Node:X}fontSize", ref fontSize, 1, 10)) if (ImGui.InputInt($"##{(nint)this.Node:X}fontSize", ref fontSize, 1, 10))
@ -338,7 +338,7 @@ internal unsafe partial class TextNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Alignment:"); ImGui.Text("Alignment:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (InputAlignment($"##{(nint)this.Node:X}alignment", ref alignment)) if (InputAlignment($"##{(nint)this.Node:X}alignment", ref alignment))
{ {
@ -347,7 +347,7 @@ internal unsafe partial class TextNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Text Color:"); ImGui.Text("Text Color:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.ColorEdit4($"##{(nint)this.Node:X}TextRGB", ref textColor, DisplayHex)) if (ImGui.ColorEdit4($"##{(nint)this.Node:X}TextRGB", ref textColor, DisplayHex))
@ -357,7 +357,7 @@ internal unsafe partial class TextNodeTree
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.Text("Edge Color:"); ImGui.Text("Edge Color:"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(150); ImGui.SetNextItemWidth(150);
if (ImGui.ColorEdit4($"##{(nint)this.Node:X}EdgeRGB", ref edgeColor, DisplayHex)) if (ImGui.ColorEdit4($"##{(nint)this.Node:X}EdgeRGB", ref edgeColor, DisplayHex))

View file

@ -2,6 +2,7 @@ using System.Numerics;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using FFXIVClientStructs.FFXIV.Client.Graphics.Kernel; using FFXIVClientStructs.FFXIV.Client.Graphics.Kernel;
using FFXIVClientStructs.FFXIV.Component.GUI; using FFXIVClientStructs.FFXIV.Component.GUI;
@ -76,13 +77,13 @@ internal unsafe partial class ImageNodeTree : ResNodeTree
PrintFieldValuePairs(("Texture Path", this.TexData.Path)); PrintFieldValuePairs(("Texture Path", this.TexData.Path));
} }
if (ImGui.RadioButton("Full Image##textureDisplayStyle0", TexDisplayStyle == 0)) if (ImGui.RadioButton("Full Image##textureDisplayStyle0"u8, TexDisplayStyle == 0))
{ {
TexDisplayStyle = 0; TexDisplayStyle = 0;
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.RadioButton("Parts List##textureDisplayStyle1", TexDisplayStyle == 1)) if (ImGui.RadioButton("Parts List##textureDisplayStyle1"u8, TexDisplayStyle == 1))
{ {
TexDisplayStyle = 1; TexDisplayStyle = 1;
} }
@ -152,7 +153,7 @@ internal unsafe partial class ImageNodeTree : ResNodeTree
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Click to copy as Vector2\nShift-click to copy as Vector4"); ImGui.SetTooltip("Click to copy as Vector2\nShift-click to copy as Vector4"u8);
} }
var suffix = asFloat ? "f" : string.Empty; var suffix = asFloat ? "f" : string.Empty;
@ -191,9 +192,9 @@ internal unsafe partial class ImageNodeTree : ResNodeTree
using var tbl = ImRaii.Table($"partsTable##{(nint)this.TexData.Texture->D3D11ShaderResourceView:X}", 3, Borders | RowBg | Reorderable); using var tbl = ImRaii.Table($"partsTable##{(nint)this.TexData.Texture->D3D11ShaderResourceView:X}", 3, Borders | RowBg | Reorderable);
if (tbl.Success) if (tbl.Success)
{ {
ImGui.TableSetupColumn("Part ID", WidthFixed); ImGui.TableSetupColumn("Part ID"u8, WidthFixed);
ImGui.TableSetupColumn("Part Texture", WidthFixed); ImGui.TableSetupColumn("Part Texture"u8, WidthFixed);
ImGui.TableSetupColumn("Coordinates", WidthFixed); ImGui.TableSetupColumn("Coordinates"u8, WidthFixed);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -238,7 +239,7 @@ internal unsafe partial class ImageNodeTree : ResNodeTree
PrintPartCoords(u, v, width, height); PrintPartCoords(u, v, width, height);
ImGui.Text("UV:\t"); ImGui.Text("UV:\t"u8);
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetCursorPosX(cursX); ImGui.SetCursorPosX(cursX);

View file

@ -1,5 +1,7 @@
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Internal.UiDebug2.Utility; using Dalamud.Interface.Internal.UiDebug2.Utility;
using Dalamud.Interface.Utility;
using FFXIVClientStructs.FFXIV.Component.GUI; using FFXIVClientStructs.FFXIV.Component.GUI;
using static Dalamud.Interface.ColorHelpers; using static Dalamud.Interface.ColorHelpers;
@ -79,7 +81,7 @@ internal unsafe partial class NineGridNodeTree : ImageNodeTree
{ {
if (!isEditorOpen) if (!isEditorOpen)
{ {
ImGui.Text("NineGrid Offsets:\t"); ImGui.Text("NineGrid Offsets:\t"u8);
ImGui.SameLine(); ImGui.SameLine();
this.Offsets.Print(); this.Offsets.Print();
} }

View file

@ -5,6 +5,7 @@ using System.Runtime.InteropServices;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Components; using Dalamud.Interface.Components;
using Dalamud.Interface.Internal.UiDebug2.Utility; using Dalamud.Interface.Internal.UiDebug2.Utility;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using FFXIVClientStructs.FFXIV.Component.GUI; using FFXIVClientStructs.FFXIV.Component.GUI;
@ -167,7 +168,7 @@ internal unsafe partial class ResNodeTree : IDisposable
/// </summary> /// </summary>
internal void WriteTreeHeading() internal void WriteTreeHeading()
{ {
ImGui.TextUnformatted(this.GetHeaderText()); ImGui.Text(this.GetHeaderText());
this.PrintFieldLabels(); this.PrintFieldLabels();
} }
@ -383,7 +384,7 @@ internal unsafe partial class ResNodeTree : IDisposable
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Toggle Visibility"); ImGui.SetTooltip("Toggle Visibility"u8);
} }
ImGui.SameLine(); ImGui.SameLine();
@ -399,7 +400,7 @@ internal unsafe partial class ResNodeTree : IDisposable
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Toggle Popout Window"); ImGui.SetTooltip("Toggle Popout Window"u8);
} }
} }

View file

@ -47,7 +47,7 @@ internal unsafe partial class TextNodeTree : ResNodeTree
return; return;
} }
ImGui.TextColored(new Vector4(1), "Text:"); ImGui.TextColored(new Vector4(1), "Text:"u8);
ImGui.SameLine(); ImGui.SameLine();
try try
@ -64,7 +64,7 @@ internal unsafe partial class TextNodeTree : ResNodeTree
} }
catch catch
{ {
ImGui.TextUnformatted(Marshal.PtrToStringAnsi(new(this.NodeText.StringPtr)) ?? string.Empty); ImGui.Text(Marshal.PtrToStringAnsi(new(this.NodeText.StringPtr)) ?? string.Empty);
} }
PrintFieldValuePairs( PrintFieldValuePairs(
@ -96,7 +96,7 @@ internal unsafe partial class TextNodeTree : ResNodeTree
for (var i = 0; i < seString.Payloads.Count; i++) for (var i = 0; i < seString.Payloads.Count; i++)
{ {
var payload = seString.Payloads[i]; var payload = seString.Payloads[i];
ImGui.TextUnformatted($"[{i}]"); ImGui.Text($"[{i}]");
ImGui.SameLine(); ImGui.SameLine();
switch (payload.Type) switch (payload.Type)
{ {
@ -108,7 +108,7 @@ internal unsafe partial class TextNodeTree : ResNodeTree
default: default:
{ {
ImGui.TextUnformatted(payload.ToString()); ImGui.Text(payload.ToString());
break; break;
} }
} }

View file

@ -66,7 +66,7 @@ public readonly partial struct TimelineTree
/// The default print function, if none is specified. /// The default print function, if none is specified.
/// </summary> /// </summary>
/// <param name="value">The value to print.</param> /// <param name="value">The value to print.</param>
public static void PlainTextCell(T value) => ImGui.TextUnformatted($"{value}"); public static void PlainTextCell(T value) => ImGui.Text($"{value}");
/// <summary> /// <summary>
/// Adds a value to this column. /// Adds a value to this column.
@ -83,7 +83,7 @@ public readonly partial struct TimelineTree
} }
else else
{ {
ImGui.TextDisabled("..."); ImGui.TextDisabled("..."u8);
} }
} }
} }

View file

@ -74,7 +74,7 @@ public readonly unsafe partial struct TimelineTree
("Frame Time", $"{this.NodeTimeline->FrameTime:F2} ({this.NodeTimeline->FrameTime * 30:F0})")); ("Frame Time", $"{this.NodeTimeline->FrameTime:F2} ({this.NodeTimeline->FrameTime * 30:F0})"));
PrintFieldValuePairs(("Active Label Id", $"{this.NodeTimeline->ActiveLabelId}"), ("Duration", $"{this.NodeTimeline->LabelFrameIdxDuration}"), ("End Frame", $"{this.NodeTimeline->LabelEndFrameIdx}")); PrintFieldValuePairs(("Active Label Id", $"{this.NodeTimeline->ActiveLabelId}"), ("Duration", $"{this.NodeTimeline->LabelFrameIdxDuration}"), ("End Frame", $"{this.NodeTimeline->LabelEndFrameIdx}"));
ImGui.TextColored(new Vector4(0.6f, 0.6f, 0.6f, 1), "Animation List"); ImGui.TextColored(new Vector4(0.6f, 0.6f, 0.6f, 1), "Animation List"u8);
for (var a = 0; a < animationCount; a++) for (var a = 0; a < animationCount; a++)
{ {
@ -151,7 +151,7 @@ public readonly unsafe partial struct TimelineTree
return; return;
} }
var rotColumn = new KeyGroupColumn<float>("Rotation", static r => ImGui.TextUnformatted($"{r * (180d / Math.PI):F1}°")); var rotColumn = new KeyGroupColumn<float>("Rotation", static r => ImGui.Text($"{r * (180d / Math.PI):F1}°"));
for (var f = 0; f < keyGroup.KeyFrameCount; f++) for (var f = 0; f < keyGroup.KeyFrameCount; f++)
{ {
@ -407,7 +407,7 @@ public readonly unsafe partial struct TimelineTree
("StartFrameIdx", $"{this.NodeTimeline->Resource->LabelSets->StartFrameIdx}"), ("StartFrameIdx", $"{this.NodeTimeline->Resource->LabelSets->StartFrameIdx}"),
("EndFrameIdx", $"{this.NodeTimeline->Resource->LabelSets->EndFrameIdx}")); ("EndFrameIdx", $"{this.NodeTimeline->Resource->LabelSets->EndFrameIdx}"));
using var labelSetTable = ImRaii.TreeNode("Entries"); using var labelSetTable = ImRaii.TreeNode("Entries"u8);
if (labelSetTable.Success) if (labelSetTable.Success)
{ {
var keyFrameGroup = this.Resource->LabelSets->LabelKeyGroup; var keyFrameGroup = this.Resource->LabelSets->LabelKeyGroup;
@ -415,13 +415,13 @@ public readonly unsafe partial struct TimelineTree
using var table = ImRaii.Table($"##{(nint)this.node}labelSetKeyFrameTable", 7, Borders | SizingFixedFit | RowBg | NoHostExtendX); using var table = ImRaii.Table($"##{(nint)this.node}labelSetKeyFrameTable", 7, Borders | SizingFixedFit | RowBg | NoHostExtendX);
if (table.Success) if (table.Success)
{ {
ImGui.TableSetupColumn("Frame ID", WidthFixed); ImGui.TableSetupColumn("Frame ID"u8, WidthFixed);
ImGui.TableSetupColumn("Speed Start", WidthFixed); ImGui.TableSetupColumn("Speed Start"u8, WidthFixed);
ImGui.TableSetupColumn("Speed End", WidthFixed); ImGui.TableSetupColumn("Speed End"u8, WidthFixed);
ImGui.TableSetupColumn("Interpolation", WidthFixed); ImGui.TableSetupColumn("Interpolation"u8, WidthFixed);
ImGui.TableSetupColumn("Label ID", WidthFixed); ImGui.TableSetupColumn("Label ID"u8, WidthFixed);
ImGui.TableSetupColumn("Jump Behavior", WidthFixed); ImGui.TableSetupColumn("Jump Behavior"u8, WidthFixed);
ImGui.TableSetupColumn("Target Label ID", WidthFixed); ImGui.TableSetupColumn("Target Label ID"u8, WidthFixed);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -430,25 +430,25 @@ public readonly unsafe partial struct TimelineTree
var keyFrame = keyFrameGroup.KeyFrames[l]; var keyFrame = keyFrameGroup.KeyFrames[l];
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{keyFrame.FrameIdx}"); ImGui.Text($"{keyFrame.FrameIdx}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{keyFrame.SpeedCoefficient1:F2}"); ImGui.Text($"{keyFrame.SpeedCoefficient1:F2}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{keyFrame.SpeedCoefficient2:F2}"); ImGui.Text($"{keyFrame.SpeedCoefficient2:F2}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{keyFrame.Interpolation}"); ImGui.Text($"{keyFrame.Interpolation}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{keyFrame.Value.Label.LabelId}"); ImGui.Text($"{keyFrame.Value.Label.LabelId}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{keyFrame.Value.Label.JumpBehavior}"); ImGui.Text($"{keyFrame.Value.Label.JumpBehavior}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"{keyFrame.Value.Label.JumpLabelId}"); ImGui.Text($"{keyFrame.Value.Label.JumpLabelId}");
} }
} }
} }

View file

@ -79,7 +79,7 @@ internal unsafe class ElementSelector : IDisposable
/// </summary> /// </summary>
internal void DrawInterface() internal void DrawInterface()
{ {
using var ch = ImRaii.Child("###sidebar_elementSelector", new(250, -1), true); using var ch = ImRaii.Child("###sidebar_elementSelector"u8, new(250, -1), true);
if (ch.Success) if (ch.Success)
{ {
@ -105,15 +105,15 @@ internal unsafe class ElementSelector : IDisposable
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Element Selector"); ImGui.SetTooltip("Element Selector"u8);
} }
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X - 32); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X - 32);
ImGui.InputTextWithHint( ImGui.InputTextWithHint(
"###addressSearchInput", "###addressSearchInput"u8,
"Address Search", "Address Search"u8,
ref this.addressSearchInput, ref this.addressSearchInput,
18, 18,
ImGuiInputTextFlags.AutoSelectAll); ImGuiInputTextFlags.AutoSelectAll);
@ -144,10 +144,10 @@ internal unsafe class ElementSelector : IDisposable
return; return;
} }
ImGui.Text("ELEMENT SELECTOR"); ImGui.Text("ELEMENT SELECTOR"u8);
ImGui.TextDisabled("Use the mouse to hover and identify UI elements, then click to jump to them in the inspector"); ImGui.TextDisabled("Use the mouse to hover and identify UI elements, then click to jump to them in the inspector"u8);
ImGui.TextDisabled("Use the scrollwheel to choose between overlapping elements"); ImGui.TextDisabled("Use the scrollwheel to choose between overlapping elements"u8);
ImGui.TextDisabled("Press ESCAPE to cancel"); ImGui.TextDisabled("Press ESCAPE to cancel"u8);
ImGui.Spacing(); ImGui.Spacing();
var mousePos = ImGui.GetMousePos() - MainViewport.Pos; var mousePos = ImGui.GetMousePos() - MainViewport.Pos;
@ -155,7 +155,7 @@ internal unsafe class ElementSelector : IDisposable
using (ImRaii.PushColor(WindowBg, new Vector4(0.5f))) using (ImRaii.PushColor(WindowBg, new Vector4(0.5f)))
{ {
using var ch = ImRaii.Child("noClick", new(800, 2000), false, NoInputs | NoBackground | NoScrollWithMouse); using var ch = ImRaii.Child("noClick"u8, new(800, 2000), false, NoInputs | NoBackground | NoScrollWithMouse);
if (ch.Success) if (ch.Success)
{ {
using var gr = ImRaii.Group(); using var gr = ImRaii.Group();
@ -163,13 +163,13 @@ internal unsafe class ElementSelector : IDisposable
{ {
Gui.PrintFieldValuePair("Mouse Position", $"{mousePos.X}, {mousePos.Y}"); Gui.PrintFieldValuePair("Mouse Position", $"{mousePos.X}, {mousePos.Y}");
ImGui.Spacing(); ImGui.Spacing();
ImGui.Text("RESULTS:\n"); ImGui.Text("RESULTS:\n"u8);
var i = 0; var i = 0;
foreach (var a in addonResults) foreach (var a in addonResults)
{ {
var name = a.Addon->NameString; var name = a.Addon->NameString;
ImGui.TextUnformatted($"[Addon] {name}"); ImGui.Text($"[Addon] {name}");
ImGui.Indent(15); ImGui.Indent(15);
foreach (var n in a.Nodes) foreach (var n in a.Nodes)
{ {

View file

@ -64,7 +64,7 @@ internal unsafe partial class UiDebug2
private void DrawNameSearch() private void DrawNameSearch()
{ {
using var ch = ImRaii.Child("###sidebar_nameSearch", new(250, 40), true); using var ch = ImRaii.Child("###sidebar_nameSearch"u8, new(250, 40), true);
if (ch.Success) if (ch.Success)
{ {
@ -78,13 +78,13 @@ internal unsafe partial class UiDebug2
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Filter by visibility"); ImGui.SetTooltip("Filter by visibility"u8);
} }
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
if (ImGui.InputTextWithHint("###atkUnitBaseSearch", "Filter by name", ref atkUnitBaseSearch, 0x20)) if (ImGui.InputTextWithHint("###atkUnitBaseSearch"u8, "Filter by name"u8, ref atkUnitBaseSearch, 0x20))
{ {
this.addonNameSearch = atkUnitBaseSearch; this.addonNameSearch = atkUnitBaseSearch;
} }
@ -93,7 +93,7 @@ internal unsafe partial class UiDebug2
private void DrawAddonSelectionList() private void DrawAddonSelectionList()
{ {
using var ch = ImRaii.Child("###sideBar_addonList", new(250, -44), true, ImGuiWindowFlags.AlwaysVerticalScrollbar); using var ch = ImRaii.Child("###sideBar_addonList"u8, new(250, -44), true, ImGuiWindowFlags.AlwaysVerticalScrollbar);
if (ch.Success) if (ch.Success)
{ {
var unitListBaseAddr = GetUnitListBaseAddr(); var unitListBaseAddr = GetUnitListBaseAddr();

View file

@ -81,7 +81,7 @@ internal partial class UiDebug2 : IDisposable
{ {
ImGui.SameLine(); ImGui.SameLine();
using var ch = ImRaii.Child("###uiDebugMainPanel", new(-1, -1), true, HorizontalScrollbar); using var ch = ImRaii.Child("###uiDebugMainPanel"u8, new(-1, -1), true, HorizontalScrollbar);
if (ch.Success) if (ch.Success)
{ {

View file

@ -23,7 +23,7 @@ internal static class Gui
/// <param name="copy">Whether to enable click-to-copy.</param> /// <param name="copy">Whether to enable click-to-copy.</param>
internal static void PrintFieldValuePair(string fieldName, string value, bool copy = true) internal static void PrintFieldValuePair(string fieldName, string value, bool copy = true)
{ {
ImGui.TextUnformatted($"{fieldName}:"); ImGui.Text($"{fieldName}:");
ImGui.SameLine(); ImGui.SameLine();
var grey60 = new Vector4(0.6f, 0.6f, 0.6f, 1); var grey60 = new Vector4(0.6f, 0.6f, 0.6f, 1);
if (copy) if (copy)
@ -108,7 +108,7 @@ internal static class Gui
if (tt.Success) if (tt.Success)
{ {
ImGui.TextUnformatted(tooltips[index]); ImGui.Text(tooltips[index]);
} }
return true; return true;

View file

@ -61,7 +61,7 @@ public class BranchSwitcherWindow : Window
{ {
if (this.branches == null) if (this.branches == null)
{ {
ImGui.TextColored(ImGuiColors.DalamudGrey, "Loading branches..."); ImGui.TextColored(ImGuiColors.DalamudGrey, "Loading branches..."u8);
return; return;
} }
@ -74,7 +74,7 @@ public class BranchSwitcherWindow : Window
if (pickedBranch.Value.SupportedGameVer != si.GameVersion) if (pickedBranch.Value.SupportedGameVer != si.GameVersion)
{ {
ImGui.TextColored(ImGuiColors.DalamudRed, "Can't pick this branch. GameVer != SupportedGameVer."); ImGui.TextColored(ImGuiColors.DalamudRed, "Can't pick this branch. GameVer != SupportedGameVer."u8);
} }
else else
{ {
@ -91,7 +91,7 @@ public class BranchSwitcherWindow : Window
config.QueueSave(); config.QueueSave();
} }
if (ImGui.Button("Pick")) if (ImGui.Button("Pick"u8))
{ {
Pick(); Pick();
this.IsOpen = false; this.IsOpen = false;
@ -99,7 +99,7 @@ public class BranchSwitcherWindow : Window
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Pick & Restart")) if (ImGui.Button("Pick & Restart"u8))
{ {
Pick(); Pick();

View file

@ -253,7 +253,7 @@ internal sealed class ChangelogWindow : Window, IDisposable
ImGui.SameLine(); ImGui.SameLine();
var logoContainerSize = new Vector2(windowSize.X * 0.2f - dummySize, windowSize.Y); var logoContainerSize = new Vector2(windowSize.X * 0.2f - dummySize, windowSize.Y);
using (var child = ImRaii.Child("###logoContainer", logoContainerSize, false)) using (var child = ImRaii.Child("###logoContainer"u8, logoContainerSize, false))
{ {
if (!child) if (!child)
return; return;
@ -271,7 +271,7 @@ internal sealed class ChangelogWindow : Window, IDisposable
ImGui.Dummy(new Vector2(dummySize)); ImGui.Dummy(new Vector2(dummySize));
ImGui.SameLine(); ImGui.SameLine();
using (var child = ImRaii.Child("###textContainer", new Vector2((windowSize.X * 0.8f) - dummySize * 4, windowSize.Y), false)) using (var child = ImRaii.Child("###textContainer"u8, new Vector2((windowSize.X * 0.8f) - dummySize * 4, windowSize.Y), false))
{ {
if (!child) if (!child)
return; return;
@ -361,20 +361,20 @@ internal sealed class ChangelogWindow : Window, IDisposable
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGui.TextWrapped(ChangeLog); ImGui.TextWrapped(ChangeLog);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGui.TextWrapped("This changelog is a quick overview of the most important changes in this version."); ImGui.TextWrapped("This changelog is a quick overview of the most important changes in this version."u8);
ImGui.TextWrapped("Please click next to see a quick guide to updating your plugins."); ImGui.TextWrapped("Please click next to see a quick guide to updating your plugins."u8);
DrawNextButton(State.ExplainerApiBump); DrawNextButton(State.ExplainerApiBump);
break; break;
case State.ExplainerApiBump: case State.ExplainerApiBump:
ImGui.TextWrapped("Take care! Due to changes in this patch, all of your plugins need to be updated and were disabled automatically."); ImGui.TextWrapped("Take care! Due to changes in this patch, all of your plugins need to be updated and were disabled automatically."u8);
ImGui.TextWrapped("This is normal and required for major game updates."); ImGui.TextWrapped("This is normal and required for major game updates."u8);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGui.TextWrapped("To update your plugins, open the plugin installer and click 'update plugins'. Updated plugins should update and then re-enable themselves."); ImGui.TextWrapped("To update your plugins, open the plugin installer and click 'update plugins'. Updated plugins should update and then re-enable themselves."u8);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGui.TextWrapped("Please keep in mind that not all of your plugins may already be updated for the new version."); ImGui.TextWrapped("Please keep in mind that not all of your plugins may already be updated for the new version."u8);
ImGui.TextWrapped("If some plugins are displayed with a red cross in the 'Installed Plugins' tab, they may not yet be available."); ImGui.TextWrapped("If some plugins are displayed with a red cross in the 'Installed Plugins' tab, they may not yet be available."u8);
ImGuiHelpers.ScaledDummy(15); ImGuiHelpers.ScaledDummy(15);
@ -398,15 +398,15 @@ internal sealed class ChangelogWindow : Window, IDisposable
break; break;
case State.AskAutoUpdate: case State.AskAutoUpdate:
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudWhite, Loc.Localize("DalamudSettingsAutoUpdateHint", ImGui.TextColoredWrapped(ImGuiColors.DalamudWhite, Loc.Localize("DalamudSettingsAutoUpdateHint",
"Dalamud can update your plugins automatically, making sure that you always " + "Dalamud can update your plugins automatically, making sure that you always " +
"have the newest features and bug fixes. You can choose when and how auto-updates are run here.")); "have the newest features and bug fixes. You can choose when and how auto-updates are run here."));
ImGuiHelpers.ScaledDummy(2); ImGuiHelpers.ScaledDummy(2);
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudGrey, Loc.Localize("DalamudSettingsAutoUpdateDisclaimer1", ImGui.TextColoredWrapped(ImGuiColors.DalamudGrey, Loc.Localize("DalamudSettingsAutoUpdateDisclaimer1",
"You can always update your plugins manually by clicking the update button in the plugin list. " + "You can always update your plugins manually by clicking the update button in the plugin list. " +
"You can also opt into updates for specific plugins by right-clicking them and selecting \"Always auto-update\".")); "You can also opt into updates for specific plugins by right-clicking them and selecting \"Always auto-update\"."));
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudGrey, Loc.Localize("DalamudSettingsAutoUpdateDisclaimer2", ImGui.TextColoredWrapped(ImGuiColors.DalamudGrey, Loc.Localize("DalamudSettingsAutoUpdateDisclaimer2",
"Dalamud will only notify you about updates while you are idle.")); "Dalamud will only notify you about updates while you are idle."));
ImGuiHelpers.ScaledDummy(15); ImGuiHelpers.ScaledDummy(15);
@ -446,8 +446,8 @@ internal sealed class ChangelogWindow : Window, IDisposable
break; break;
case State.Links: case State.Links:
ImGui.TextWrapped("If you note any issues or need help, please check the FAQ, and reach out on our Discord if you need help."); ImGui.TextWrapped("If you note any issues or need help, please check the FAQ, and reach out on our Discord if you need help."u8);
ImGui.TextWrapped("Enjoy your time with the game and Dalamud!"); ImGui.TextWrapped("Enjoy your time with the game and Dalamud!"u8);
ImGuiHelpers.ScaledDummy(45); ImGuiHelpers.ScaledDummy(45);
@ -529,7 +529,7 @@ internal sealed class ChangelogWindow : Window, IDisposable
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("I don't care about this"); ImGui.SetTooltip("I don't care about this"u8);
} }
} }
} }

View file

@ -5,6 +5,7 @@ using System.Reflection;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Windowing; using Dalamud.Interface.Windowing;
namespace Dalamud.Interface.Internal.Windows; namespace Dalamud.Interface.Internal.Windows;
@ -52,7 +53,7 @@ internal sealed class ColorDemoWindow : Window
/// <inheritdoc/> /// <inheritdoc/>
public override void Draw() public override void Draw()
{ {
ImGui.Text("This is a collection of UI colors you can use in your plugin."); ImGui.Text("This is a collection of UI colors you can use in your plugin."u8);
ImGui.Separator(); ImGui.Separator();

View file

@ -73,7 +73,7 @@ internal sealed class ComponentDemoWindow : Window
/// <inheritdoc/> /// <inheritdoc/>
public override void Draw() public override void Draw()
{ {
ImGui.Text("This is a collection of UI components you can use in your plugin."); ImGui.Text("This is a collection of UI components you can use in your plugin."u8);
for (var i = 0; i < this.componentDemos.Count; i++) for (var i = 0; i < this.componentDemos.Count; i++)
{ {
@ -85,7 +85,7 @@ internal sealed class ComponentDemoWindow : Window
} }
} }
if (ImGui.CollapsingHeader("Easing animations")) if (ImGui.CollapsingHeader("Easing animations"u8))
{ {
this.EasingsDemo(); this.EasingsDemo();
} }
@ -93,22 +93,22 @@ internal sealed class ComponentDemoWindow : Window
private static void HelpMarkerDemo() private static void HelpMarkerDemo()
{ {
ImGui.Text("Hover over the icon to learn more."); ImGui.Text("Hover over the icon to learn more."u8);
ImGuiComponents.HelpMarker("help me!"); ImGuiComponents.HelpMarker("help me!");
} }
private static void IconButtonDemo() private static void IconButtonDemo()
{ {
ImGui.Text("Click on the icon to use as a button."); ImGui.Text("Click on the icon to use as a button."u8);
ImGui.SameLine(); ImGui.SameLine();
if (ImGuiComponents.IconButton(1, FontAwesomeIcon.Carrot)) if (ImGuiComponents.IconButton(1, FontAwesomeIcon.Carrot))
{ {
ImGui.OpenPopup("IconButtonDemoPopup"); ImGui.OpenPopup("IconButtonDemoPopup"u8);
} }
if (ImGui.BeginPopup("IconButtonDemoPopup")) if (ImGui.BeginPopup("IconButtonDemoPopup"u8))
{ {
ImGui.Text("You clicked!"); ImGui.Text("You clicked!"u8);
ImGui.EndPopup(); ImGui.EndPopup();
} }
} }
@ -120,7 +120,7 @@ internal sealed class ComponentDemoWindow : Window
private void EasingsDemo() private void EasingsDemo()
{ {
ImGui.SliderInt("Speed in MS", ref this.animationTimeMs, 200, 5000); ImGui.SliderInt("Speed in MS"u8, ref this.animationTimeMs, 200, 5000);
foreach (var easing in this.easings) foreach (var easing in this.easings)
{ {
@ -154,7 +154,7 @@ internal sealed class ComponentDemoWindow : Window
private void ColorPickerWithPaletteDemo() private void ColorPickerWithPaletteDemo()
{ {
ImGui.Text("Click on the color button to use the picker."); ImGui.Text("Click on the color button to use the picker."u8);
ImGui.SameLine(); ImGui.SameLine();
this.defaultColor = ImGuiComponents.ColorPickerWithPalette(1, "ColorPickerWithPalette Demo", this.defaultColor); this.defaultColor = ImGuiComponents.ColorPickerWithPalette(1, "ColorPickerWithPalette Demo", this.defaultColor);
} }

View file

@ -161,7 +161,7 @@ internal class ConsoleWindow : Window, IDisposable
ImGui.TextColored( ImGui.TextColored(
ImGuiColors.DalamudRed, ImGuiColors.DalamudRed,
$"Regex Filter Error: {this.exceptionLogFilter.GetType().Name}"); $"Regex Filter Error: {this.exceptionLogFilter.GetType().Name}");
ImGui.TextUnformatted(this.exceptionLogFilter.Message); ImGui.Text(this.exceptionLogFilter.Message);
} }
if (this.exceptionLogHighlight is not null) if (this.exceptionLogHighlight is not null)
@ -169,14 +169,14 @@ internal class ConsoleWindow : Window, IDisposable
ImGui.TextColored( ImGui.TextColored(
ImGuiColors.DalamudRed, ImGuiColors.DalamudRed,
$"Regex Highlight Error: {this.exceptionLogHighlight.GetType().Name}"); $"Regex Highlight Error: {this.exceptionLogHighlight.GetType().Name}");
ImGui.TextUnformatted(this.exceptionLogHighlight.Message); ImGui.Text(this.exceptionLogHighlight.Message);
} }
var sendButtonSize = ImGui.CalcTextSize("Send") + var sendButtonSize = ImGui.CalcTextSize("Send"u8) +
((new Vector2(16, 0) + (ImGui.GetStyle().FramePadding * 2)) * ImGuiHelpers.GlobalScale); ((new Vector2(16, 0) + (ImGui.GetStyle().FramePadding * 2)) * ImGuiHelpers.GlobalScale);
var scrollingHeight = ImGui.GetContentRegionAvail().Y - sendButtonSize.Y; var scrollingHeight = ImGui.GetContentRegionAvail().Y - sendButtonSize.Y;
ImGui.BeginChild( ImGui.BeginChild(
"scrolling", "scrolling"u8,
new Vector2(0, scrollingHeight), new Vector2(0, scrollingHeight),
false, false,
ImGuiWindowFlags.AlwaysHorizontalScrollbar | ImGuiWindowFlags.AlwaysVerticalScrollbar); ImGuiWindowFlags.AlwaysHorizontalScrollbar | ImGuiWindowFlags.AlwaysVerticalScrollbar);
@ -189,9 +189,9 @@ internal class ConsoleWindow : Window, IDisposable
var childDrawList = ImGui.GetWindowDrawList(); var childDrawList = ImGui.GetWindowDrawList();
var childSize = ImGui.GetWindowSize(); var childSize = ImGui.GetWindowSize();
var timestampWidth = ImGui.CalcTextSize("00:00:00.000").X; var timestampWidth = ImGui.CalcTextSize("00:00:00.000"u8).X;
var levelWidth = ImGui.CalcTextSize("AAA").X; var levelWidth = ImGui.CalcTextSize("AAA"u8).X;
var separatorWidth = ImGui.CalcTextSize(" | ").X; var separatorWidth = ImGui.CalcTextSize(" | "u8).X;
var cursorLogLevel = timestampWidth + separatorWidth; var cursorLogLevel = timestampWidth + separatorWidth;
var cursorLogLine = cursorLogLevel + levelWidth + separatorWidth; var cursorLogLine = cursorLogLevel + levelWidth + separatorWidth;
@ -225,7 +225,7 @@ internal class ConsoleWindow : Window, IDisposable
} }
ImGui.Selectable( ImGui.Selectable(
"###console_null", "###console_null"u8,
true, true,
ImGuiSelectableFlags.AllowItemOverlap | ImGuiSelectableFlags.SpanAllColumns); ImGuiSelectableFlags.AllowItemOverlap | ImGuiSelectableFlags.SpanAllColumns);
@ -238,11 +238,11 @@ internal class ConsoleWindow : Window, IDisposable
if (!line.IsMultiline) if (!line.IsMultiline)
{ {
ImGui.TextUnformatted(line.TimestampString); ImGui.Text(line.TimestampString);
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetCursorPosX(cursorLogLevel); ImGui.SetCursorPosX(cursorLogLevel);
ImGui.TextUnformatted(GetTextForLogEventLevel(line.Level)); ImGui.Text(GetTextForLogEventLevel(line.Level));
ImGui.SameLine(); ImGui.SameLine();
} }
@ -258,7 +258,7 @@ internal class ConsoleWindow : Window, IDisposable
} }
else else
{ {
ImGui.TextUnformatted(line.Line); ImGui.Text(line.Line);
} }
var currentLinePosY = ImGui.GetCursorPosY(); var currentLinePosY = ImGui.GetCursorPosY();
@ -321,7 +321,7 @@ internal class ConsoleWindow : Window, IDisposable
unsafe unsafe
{ {
if (ImGui.InputText( if (ImGui.InputText(
"##command_box", "##command_box"u8,
ref this.commandText, ref this.commandText,
255, 255,
ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.CallbackCompletion | ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.CallbackCompletion |
@ -341,7 +341,7 @@ internal class ConsoleWindow : Window, IDisposable
if (hadColor) ImGui.PopStyleColor(); if (hadColor) ImGui.PopStyleColor();
if (ImGui.Button("Send", sendButtonSize)) if (ImGui.Button("Send"u8, sendButtonSize))
{ {
this.ProcessCommand(); this.ProcessCommand();
} }
@ -473,7 +473,7 @@ internal class ConsoleWindow : Window, IDisposable
private void DrawOptionsToolbar() private void DrawOptionsToolbar()
{ {
ImGui.PushItemWidth(150.0f * ImGuiHelpers.GlobalScale); ImGui.PushItemWidth(150.0f * ImGuiHelpers.GlobalScale);
if (ImGui.BeginCombo("##log_level", $"{EntryPoint.LogLevelSwitch.MinimumLevel}+")) if (ImGui.BeginCombo("##log_level"u8, $"{EntryPoint.LogLevelSwitch.MinimumLevel}+"))
{ {
foreach (var value in Enum.GetValues<LogEventLevel>()) foreach (var value in Enum.GetValues<LogEventLevel>())
{ {
@ -491,7 +491,7 @@ internal class ConsoleWindow : Window, IDisposable
ImGui.SameLine(); ImGui.SameLine();
var settingsPopup = ImGui.BeginPopup("##console_settings"); var settingsPopup = ImGui.BeginPopup("##console_settings"u8);
if (settingsPopup) if (settingsPopup)
{ {
this.DrawSettingsPopup(); this.DrawSettingsPopup();
@ -506,7 +506,7 @@ internal class ConsoleWindow : Window, IDisposable
this.settingsPopupWasOpen = settingsPopup; this.settingsPopupWasOpen = settingsPopup;
if (this.DrawToggleButtonWithTooltip("show_settings", "Show settings", FontAwesomeIcon.List, ref settingsPopup)) if (this.DrawToggleButtonWithTooltip("show_settings", "Show settings", FontAwesomeIcon.List, ref settingsPopup))
ImGui.OpenPopup("##console_settings"); ImGui.OpenPopup("##console_settings"u8);
ImGui.SameLine(); ImGui.SameLine();
@ -537,7 +537,7 @@ internal class ConsoleWindow : Window, IDisposable
this.QueueClear(); this.QueueClear();
} }
if (ImGui.IsItemHovered()) ImGui.SetTooltip("Clear Log"); if (ImGui.IsItemHovered()) ImGui.SetTooltip("Clear Log"u8);
ImGui.SameLine(); ImGui.SameLine();
@ -573,7 +573,7 @@ internal class ConsoleWindow : Window, IDisposable
this.killGameArmed = true; this.killGameArmed = true;
} }
if (ImGui.IsItemHovered()) ImGui.SetTooltip("Kill game"); if (ImGui.IsItemHovered()) ImGui.SetTooltip("Kill game"u8);
ImGui.SameLine(); ImGui.SameLine();
@ -595,8 +595,8 @@ internal class ConsoleWindow : Window, IDisposable
ImGui.PushItemWidth(inputWidth); ImGui.PushItemWidth(inputWidth);
if (ImGui.InputTextWithHint( if (ImGui.InputTextWithHint(
"##textHighlight", "##textHighlight"u8,
"regex highlight", "regex highlight"u8,
ref this.textHighlight, ref this.textHighlight,
2048, 2048,
ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.AutoSelectAll) ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.AutoSelectAll)
@ -623,8 +623,8 @@ internal class ConsoleWindow : Window, IDisposable
ImGui.PushItemWidth(inputWidth); ImGui.PushItemWidth(inputWidth);
if (ImGui.InputTextWithHint( if (ImGui.InputTextWithHint(
"##textFilter", "##textFilter"u8,
"regex global filter", "regex global filter"u8,
ref this.textFilter, ref this.textFilter,
2048, 2048,
ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.AutoSelectAll) ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.AutoSelectAll)
@ -655,21 +655,21 @@ internal class ConsoleWindow : Window, IDisposable
private void DrawSettingsPopup() private void DrawSettingsPopup()
{ {
if (ImGui.Checkbox("Open at startup", ref this.autoOpen)) if (ImGui.Checkbox("Open at startup"u8, ref this.autoOpen))
{ {
this.configuration.LogOpenAtStartup = this.autoOpen; this.configuration.LogOpenAtStartup = this.autoOpen;
this.configuration.QueueSave(); this.configuration.QueueSave();
} }
if (ImGui.Checkbox("Auto-scroll", ref this.autoScroll)) if (ImGui.Checkbox("Auto-scroll"u8, ref this.autoScroll))
{ {
this.configuration.LogAutoScroll = this.autoScroll; this.configuration.LogAutoScroll = this.autoScroll;
this.configuration.QueueSave(); this.configuration.QueueSave();
} }
ImGui.TextUnformatted("Logs buffer"); ImGui.Text("Logs buffer"u8);
ImGui.SliderInt("lines", ref this.logLinesLimit, LogLinesMinimum, LogLinesMaximum); ImGui.SliderInt("lines"u8, ref this.logLinesLimit, LogLinesMinimum, LogLinesMaximum);
if (ImGui.Button("Apply")) if (ImGui.Button("Apply"u8))
{ {
this.logLinesLimit = Math.Max(LogLinesMinimum, this.logLinesLimit); this.logLinesLimit = Math.Max(LogLinesMinimum, this.logLinesLimit);
@ -686,15 +686,15 @@ internal class ConsoleWindow : Window, IDisposable
PluginFilterEntry? removalEntry = null; PluginFilterEntry? removalEntry = null;
using var table = ImRaii.Table( using var table = ImRaii.Table(
"plugin_filter_entries", "plugin_filter_entries"u8,
4, 4,
ImGuiTableFlags.Resizable | ImGuiTableFlags.BordersInnerV); ImGuiTableFlags.Resizable | ImGuiTableFlags.BordersInnerV);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("##remove_button", ImGuiTableColumnFlags.WidthFixed, 25.0f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("##remove_button"u8, ImGuiTableColumnFlags.WidthFixed, 25.0f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("##source_name", ImGuiTableColumnFlags.WidthFixed, 150.0f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("##source_name"u8, ImGuiTableColumnFlags.WidthFixed, 150.0f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("##log_level", ImGuiTableColumnFlags.WidthFixed, 150.0f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("##log_level"u8, ImGuiTableColumnFlags.WidthFixed, 150.0f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("##filter_text", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("##filter_text"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (ImGuiComponents.IconButton("add_entry", FontAwesomeIcon.Plus)) if (ImGuiComponents.IconButton("add_entry", FontAwesomeIcon.Plus))
@ -715,7 +715,7 @@ internal class ConsoleWindow : Window, IDisposable
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.PushItemWidth(ImGui.GetContentRegionAvail().X); ImGui.PushItemWidth(ImGui.GetContentRegionAvail().X);
if (ImGui.BeginCombo("##Sources", this.selectedSource, ImGuiComboFlags.HeightLarge)) if (ImGui.BeginCombo("##Sources"u8, this.selectedSource, ImGuiComboFlags.HeightLarge))
{ {
var sourceNames = Service<PluginManager>.Get().InstalledPlugins var sourceNames = Service<PluginManager>.Get().InstalledPlugins
.Select(p => p.Manifest.InternalName) .Select(p => p.Manifest.InternalName)
@ -729,12 +729,12 @@ internal class ConsoleWindow : Window, IDisposable
.ToList(); .ToList();
ImGui.PushItemWidth(ImGui.GetContentRegionAvail().X); ImGui.PushItemWidth(ImGui.GetContentRegionAvail().X);
ImGui.InputTextWithHint("##PluginSearchFilter", "Filter Plugin List", ref this.pluginFilter, 2048); ImGui.InputTextWithHint("##PluginSearchFilter"u8, "Filter Plugin List"u8, ref this.pluginFilter, 2048);
ImGui.Separator(); ImGui.Separator();
if (!sourceNames.Any()) if (sourceNames.Count == 0)
{ {
ImGui.TextColored(ImGuiColors.DalamudRed, "No Results"); ImGui.TextColored(ImGuiColors.DalamudRed, "No Results"u8);
} }
foreach (var selectable in sourceNames) foreach (var selectable in sourceNames)
@ -766,7 +766,7 @@ internal class ConsoleWindow : Window, IDisposable
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
if (ImGui.BeginCombo("##levels", $"{entry.Level}+")) if (ImGui.BeginCombo("##levels"u8, $"{entry.Level}+"))
{ {
foreach (var value in Enum.GetValues<LogEventLevel>()) foreach (var value in Enum.GetValues<LogEventLevel>())
{ {
@ -784,7 +784,7 @@ internal class ConsoleWindow : Window, IDisposable
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
var entryFilter = entry.Filter; var entryFilter = entry.Filter;
if (ImGui.InputTextWithHint( if (ImGui.InputTextWithHint(
"##filter", "##filter"u8,
$"{entry.Source} regex filter", $"{entry.Source} regex filter",
ref entryFilter, ref entryFilter,
2048, 2048,

View file

@ -130,10 +130,10 @@ internal class DataWindow : Window, IDisposable
return; return;
} }
if (ImGui.BeginTable("XlData_Table", 2, ImGuiTableFlags.BordersInnerV | ImGuiTableFlags.Resizable)) if (ImGui.BeginTable("XlData_Table"u8, 2, ImGuiTableFlags.BordersInnerV | ImGuiTableFlags.Resizable))
{ {
ImGui.TableSetupColumn("##SelectionColumn", ImGuiTableColumnFlags.WidthFixed, 200.0f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("##SelectionColumn"u8, ImGuiTableColumnFlags.WidthFixed, 200.0f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("##ContentsColumn", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("##ContentsColumn"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
this.DrawSelection(); this.DrawSelection();
@ -147,9 +147,9 @@ internal class DataWindow : Window, IDisposable
private void DrawSelection() private void DrawSelection()
{ {
if (ImGui.BeginChild("XlData_SelectionPane", ImGui.GetContentRegionAvail())) if (ImGui.BeginChild("XlData_SelectionPane"u8, ImGui.GetContentRegionAvail()))
{ {
if (ImGui.BeginListBox("WidgetSelectionListbox", ImGui.GetContentRegionAvail())) if (ImGui.BeginListBox("WidgetSelectionListbox"u8, ImGui.GetContentRegionAvail()))
{ {
foreach (var widget in this.orderedModules) foreach (var widget in this.orderedModules)
{ {
@ -168,7 +168,7 @@ internal class DataWindow : Window, IDisposable
private void DrawContents() private void DrawContents()
{ {
if (ImGui.BeginChild("XlData_ContentsPane", ImGui.GetContentRegionAvail())) if (ImGui.BeginChild("XlData_ContentsPane"u8, ImGui.GetContentRegionAvail()))
{ {
if (ImGuiComponents.IconButton("collapse-expand", this.selectionCollapsed ? FontAwesomeIcon.ArrowRight : FontAwesomeIcon.ArrowLeft)) if (ImGuiComponents.IconButton("collapse-expand", this.selectionCollapsed ? FontAwesomeIcon.ArrowRight : FontAwesomeIcon.ArrowLeft))
{ {
@ -190,7 +190,7 @@ internal class DataWindow : Window, IDisposable
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Force Reload"); ImGui.SetTooltip("Force Reload"u8);
} }
ImGui.SameLine(); ImGui.SameLine();
@ -199,7 +199,7 @@ internal class DataWindow : Window, IDisposable
ImGuiHelpers.ScaledDummy(10.0f); ImGuiHelpers.ScaledDummy(10.0f);
if (ImGui.BeginChild("XlData_WidgetContents", ImGui.GetContentRegionAvail())) if (ImGui.BeginChild("XlData_WidgetContents"u8, ImGui.GetContentRegionAvail()))
{ {
if (copy) if (copy)
ImGui.LogToClipboard(); ImGui.LogToClipboard();
@ -212,7 +212,7 @@ internal class DataWindow : Window, IDisposable
} }
else else
{ {
ImGui.TextUnformatted("Data not ready."); ImGui.Text("Data not ready."u8);
} }
this.isExcept = false; this.isExcept = false;
@ -226,7 +226,7 @@ internal class DataWindow : Window, IDisposable
this.isExcept = true; this.isExcept = true;
ImGui.TextUnformatted(ex.ToString()); ImGui.Text(ex.ToString());
} }
} }

View file

@ -3,6 +3,7 @@ using System.Numerics;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Interface.ImGuiNotification; using Dalamud.Interface.ImGuiNotification;
using Dalamud.Interface.ImGuiNotification.Internal; using Dalamud.Interface.ImGuiNotification.Internal;
using Dalamud.Interface.Utility;
namespace Dalamud.Interface.Internal.Windows.Data; namespace Dalamud.Interface.Internal.Windows.Data;
@ -25,11 +26,11 @@ internal static class DataWindowWidgetExtensions
var xoff = ImGui.GetColumnWidth() - width; var xoff = ImGui.GetColumnWidth() - width;
offset.X += xoff; offset.X += xoff;
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + xoff); ImGui.SetCursorPosX(ImGui.GetCursorPosX() + xoff);
ImGui.TextUnformatted(s); ImGui.Text(s);
} }
else else
{ {
ImGui.TextUnformatted(s); ImGui.Text(s);
} }
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
@ -40,7 +41,7 @@ internal static class DataWindowWidgetExtensions
ImGui.SetNextWindowSizeConstraints(Vector2.One, new(wrx, float.MaxValue)); ImGui.SetNextWindowSizeConstraints(Vector2.One, new(wrx, float.MaxValue));
ImGui.BeginTooltip(); ImGui.BeginTooltip();
ImGui.PushTextWrapPos(wrx); ImGui.PushTextWrapPos(wrx);
ImGui.TextWrapped(s.Replace("%", "%%")); ImGui.TextWrapped(s);
ImGui.PopTextWrapPos(); ImGui.PopTextWrapPos();
ImGui.EndTooltip(); ImGui.EndTooltip();
} }

View file

@ -40,9 +40,9 @@ internal class GameInventoryTestWidget : IDataWindowWidget
{ {
if (Service<DalamudConfiguration>.Get().LogLevel > LogEventLevel.Information) if (Service<DalamudConfiguration>.Get().LogLevel > LogEventLevel.Information)
{ {
ImGuiHelpers.SafeTextColoredWrapped( ImGui.TextColoredWrapped(
ImGuiColors.DalamudRed, ImGuiColors.DalamudRed,
"Enable LogLevel=Information display to see the logs."); "Enable LogLevel=Information display to see the logs."u8);
} }
using var table = ImRaii.Table(this.DisplayName, 3, ImGuiTableFlags.SizingFixedFit); using var table = ImRaii.Table(this.DisplayName, 3, ImGuiTableFlags.SizingFixedFit);
@ -50,12 +50,12 @@ internal class GameInventoryTestWidget : IDataWindowWidget
return; return;
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted("Standard Logging"); ImGui.Text("Standard Logging"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
using (ImRaii.Disabled(this.standardEnabled)) using (ImRaii.Disabled(this.standardEnabled))
{ {
if (ImGui.Button("Enable##standard-enable") && !this.standardEnabled) if (ImGui.Button("Enable##standard-enable"u8) && !this.standardEnabled)
{ {
this.scoped ??= new(); this.scoped ??= new();
this.scoped.InventoryChanged += ScopedOnInventoryChanged; this.scoped.InventoryChanged += ScopedOnInventoryChanged;
@ -66,7 +66,7 @@ internal class GameInventoryTestWidget : IDataWindowWidget
ImGui.TableNextColumn(); ImGui.TableNextColumn();
using (ImRaii.Disabled(!this.standardEnabled)) using (ImRaii.Disabled(!this.standardEnabled))
{ {
if (ImGui.Button("Disable##standard-disable") && this.scoped is not null && this.standardEnabled) if (ImGui.Button("Disable##standard-disable"u8) && this.scoped is not null && this.standardEnabled)
{ {
this.scoped.InventoryChanged -= ScopedOnInventoryChanged; this.scoped.InventoryChanged -= ScopedOnInventoryChanged;
this.standardEnabled = false; this.standardEnabled = false;
@ -81,12 +81,12 @@ internal class GameInventoryTestWidget : IDataWindowWidget
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted("Raw Logging"); ImGui.Text("Raw Logging"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
using (ImRaii.Disabled(this.rawEnabled)) using (ImRaii.Disabled(this.rawEnabled))
{ {
if (ImGui.Button("Enable##raw-enable") && !this.rawEnabled) if (ImGui.Button("Enable##raw-enable"u8) && !this.rawEnabled)
{ {
this.scoped ??= new(); this.scoped ??= new();
this.scoped.InventoryChangedRaw += ScopedOnInventoryChangedRaw; this.scoped.InventoryChangedRaw += ScopedOnInventoryChangedRaw;
@ -97,7 +97,7 @@ internal class GameInventoryTestWidget : IDataWindowWidget
ImGui.TableNextColumn(); ImGui.TableNextColumn();
using (ImRaii.Disabled(!this.rawEnabled)) using (ImRaii.Disabled(!this.rawEnabled))
{ {
if (ImGui.Button("Disable##raw-disable") && this.scoped is not null && this.rawEnabled) if (ImGui.Button("Disable##raw-disable"u8) && this.scoped is not null && this.rawEnabled)
{ {
this.scoped.InventoryChangedRaw -= ScopedOnInventoryChangedRaw; this.scoped.InventoryChangedRaw -= ScopedOnInventoryChangedRaw;
this.rawEnabled = false; this.rawEnabled = false;
@ -112,12 +112,12 @@ internal class GameInventoryTestWidget : IDataWindowWidget
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted("All"); ImGui.Text("All"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
using (ImRaii.Disabled(this.standardEnabled && this.rawEnabled)) using (ImRaii.Disabled(this.standardEnabled && this.rawEnabled))
{ {
if (ImGui.Button("Enable##all-enable")) if (ImGui.Button("Enable##all-enable"u8))
{ {
this.scoped ??= new(); this.scoped ??= new();
if (!this.standardEnabled) if (!this.standardEnabled)
@ -131,7 +131,7 @@ internal class GameInventoryTestWidget : IDataWindowWidget
ImGui.TableNextColumn(); ImGui.TableNextColumn();
using (ImRaii.Disabled(this.scoped is null)) using (ImRaii.Disabled(this.scoped is null))
{ {
if (ImGui.Button("Disable##all-disable")) if (ImGui.Button("Disable##all-disable"u8))
{ {
((IInternalDisposableService)this.scoped)?.DisposeService(); ((IInternalDisposableService)this.scoped)?.DisposeService();
this.scoped = null; this.scoped = null;

View file

@ -15,13 +15,13 @@ internal class WidgetUtil
/// <param name="tooltipText">The text in the tooltip.</param> /// <param name="tooltipText">The text in the tooltip.</param>
internal static void DrawCopyableText(string text, string tooltipText = "Copy") internal static void DrawCopyableText(string text, string tooltipText = "Copy")
{ {
ImGuiHelpers.SafeTextWrapped(text); ImGui.TextWrapped(text);
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetMouseCursor(ImGuiMouseCursor.Hand); ImGui.SetMouseCursor(ImGuiMouseCursor.Hand);
ImGui.BeginTooltip(); ImGui.BeginTooltip();
ImGui.TextUnformatted(tooltipText); ImGui.Text(tooltipText);
ImGui.EndTooltip(); ImGui.EndTooltip();
} }

View file

@ -1,4 +1,4 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Linq; using System.Linq;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
@ -43,18 +43,18 @@ public class AddonLifecycleWidget : IDataWindowWidget
{ {
if (!this.Ready) if (!this.Ready)
{ {
ImGui.Text("AddonLifecycle Reference is null, reload module."); ImGui.Text("AddonLifecycle Reference is null, reload module."u8);
return; return;
} }
if (ImGui.CollapsingHeader("Listeners")) if (ImGui.CollapsingHeader("Listeners"u8))
{ {
ImGui.Indent(); ImGui.Indent();
this.DrawEventListeners(); this.DrawEventListeners();
ImGui.Unindent(); ImGui.Unindent();
} }
if (ImGui.CollapsingHeader("ReceiveEvent Hooks")) if (ImGui.CollapsingHeader("ReceiveEvent Hooks"u8))
{ {
ImGui.Indent(); ImGui.Indent();
this.DrawReceiveEventHooks(); this.DrawReceiveEventHooks();
@ -75,13 +75,13 @@ public class AddonLifecycleWidget : IDataWindowWidget
if (listeners.Count == 0) if (listeners.Count == 0)
{ {
ImGui.Text("No Listeners Registered for Event"); ImGui.Text("No Listeners Registered for Event"u8);
} }
if (ImGui.BeginTable("AddonLifecycleListenersTable", 2)) if (ImGui.BeginTable("AddonLifecycleListenersTable"u8, 2))
{ {
ImGui.TableSetupColumn("##AddonName", ImGuiTableColumnFlags.WidthFixed, 100.0f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("##AddonName"u8, ImGuiTableColumnFlags.WidthFixed, 100.0f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("##MethodInvoke", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("##MethodInvoke"u8, ImGuiTableColumnFlags.WidthStretch);
foreach (var listener in listeners) foreach (var listener in listeners)
{ {
@ -108,7 +108,7 @@ public class AddonLifecycleWidget : IDataWindowWidget
if (listeners.Count == 0) if (listeners.Count == 0)
{ {
ImGui.Text("No ReceiveEvent Hooks are Registered"); ImGui.Text("No ReceiveEvent Hooks are Registered"u8);
} }
foreach (var receiveEventListener in this.AddonLifecycle.ReceiveEventListeners) foreach (var receiveEventListener in this.AddonLifecycle.ReceiveEventListeners)
@ -117,21 +117,21 @@ public class AddonLifecycleWidget : IDataWindowWidget
{ {
ImGui.Columns(2); ImGui.Columns(2);
ImGui.Text("Hook Address"); ImGui.Text("Hook Address"u8);
ImGui.NextColumn(); ImGui.NextColumn();
ImGui.Text(receiveEventListener.FunctionAddress.ToString("X")); ImGui.Text(receiveEventListener.FunctionAddress.ToString("X"));
ImGui.NextColumn(); ImGui.NextColumn();
ImGui.Text("Hook Status"); ImGui.Text("Hook Status"u8);
ImGui.NextColumn(); ImGui.NextColumn();
if (receiveEventListener.Hook is null) if (receiveEventListener.Hook is null)
{ {
ImGui.Text("Hook is null"); ImGui.Text("Hook is null"u8);
} }
else else
{ {
var color = receiveEventListener.Hook.IsEnabled ? ImGuiColors.HealerGreen : ImGuiColors.DalamudRed; var color = receiveEventListener.Hook.IsEnabled ? ImGuiColors.HealerGreen : ImGuiColors.DalamudRed;
var text = receiveEventListener.Hook.IsEnabled ? "Enabled" : "Disabled"; var text = receiveEventListener.Hook.IsEnabled ? "Enabled"u8 : "Disabled"u8;
ImGui.TextColored(color, text); ImGui.TextColored(color, text);
} }

View file

@ -34,8 +34,8 @@ internal unsafe class AddonWidget : IDataWindowWidget
{ {
var gameGui = Service<GameGui>.Get(); var gameGui = Service<GameGui>.Get();
ImGui.InputText("Addon Name", ref this.inputAddonName, 256); ImGui.InputText("Addon Name"u8, ref this.inputAddonName, 256);
ImGui.InputInt("Addon Index", ref this.inputAddonIndex); ImGui.InputInt("Addon Index"u8, ref this.inputAddonIndex);
if (this.inputAddonName.IsNullOrEmpty()) if (this.inputAddonName.IsNullOrEmpty())
return; return;
@ -43,23 +43,23 @@ internal unsafe class AddonWidget : IDataWindowWidget
var addon = gameGui.GetAddonByName(this.inputAddonName, this.inputAddonIndex); var addon = gameGui.GetAddonByName(this.inputAddonName, this.inputAddonIndex);
if (addon.IsNull) if (addon.IsNull)
{ {
ImGui.Text("Null"); ImGui.Text("Null"u8);
return; return;
} }
ImGui.TextUnformatted($"{addon.Name} - {Util.DescribeAddress(addon)}\n v:{addon.IsVisible} x:{addon.X} y:{addon.Y} s:{addon.Scale}, w:{addon.Width}, h:{addon.Height}"); ImGui.Text($"{addon.Name} - {Util.DescribeAddress(addon)}\n v:{addon.IsVisible} x:{addon.X} y:{addon.Y} s:{addon.Scale}, w:{addon.Width}, h:{addon.Height}");
if (ImGui.Button("Find Agent")) if (ImGui.Button("Find Agent"u8))
{ {
this.agentInterfacePtr = gameGui.FindAgentInterface(addon); this.agentInterfacePtr = gameGui.FindAgentInterface(addon);
} }
if (!this.agentInterfacePtr.IsNull) if (!this.agentInterfacePtr.IsNull)
{ {
ImGui.TextUnformatted($"Agent: {Util.DescribeAddress(this.agentInterfacePtr)}"); ImGui.Text($"Agent: {Util.DescribeAddress(this.agentInterfacePtr)}");
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("C")) if (ImGui.Button("C"u8))
ImGui.SetClipboardText(this.agentInterfacePtr.Address.ToString("X")); ImGui.SetClipboardText(this.agentInterfacePtr.Address.ToString("X"));
} }
} }

View file

@ -32,8 +32,8 @@ internal class AddressesWidget : IDataWindowWidget
/// <inheritdoc/> /// <inheritdoc/>
public void Draw() public void Draw()
{ {
ImGui.InputText(".text sig", ref this.inputSig, 400); ImGui.InputText(".text sig"u8, ref this.inputSig, 400);
if (ImGui.Button("Resolve")) if (ImGui.Button("Resolve"u8))
{ {
try try
{ {
@ -53,10 +53,10 @@ internal class AddressesWidget : IDataWindowWidget
foreach (var debugScannedValue in BaseAddressResolver.DebugScannedValues) foreach (var debugScannedValue in BaseAddressResolver.DebugScannedValues)
{ {
ImGui.TextUnformatted($"{debugScannedValue.Key}"); ImGui.Text($"{debugScannedValue.Key}");
foreach (var valueTuple in debugScannedValue.Value) foreach (var valueTuple in debugScannedValue.Value)
{ {
ImGui.TextUnformatted( ImGui.Text(
$" {valueTuple.ClassName} - {Util.DescribeAddress(valueTuple.Address)}"); $" {valueTuple.ClassName} - {Util.DescribeAddress(valueTuple.Address)}");
ImGui.SameLine(); ImGui.SameLine();

View file

@ -26,21 +26,21 @@ internal class AetherytesWidget : IDataWindowWidget
/// <inheritdoc/> /// <inheritdoc/>
public void Draw() public void Draw()
{ {
if (!ImGui.BeginTable("##aetheryteTable", 11, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders)) if (!ImGui.BeginTable("##aetheryteTable"u8, 11, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders))
return; return;
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableSetupColumn("Idx", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Idx"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Name"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("ID", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("ID"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Zone", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Zone"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Ward", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Ward"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Plot", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Plot"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Sub", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Sub"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Gil", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Gil"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Fav", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Fav"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Shared", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Shared"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("Apartment", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("Apartment"u8, ImGuiTableColumnFlags.WidthFixed);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
var tpList = Service<AetheryteList>.Get(); var tpList = Service<AetheryteList>.Get();
@ -52,37 +52,37 @@ internal class AetherytesWidget : IDataWindowWidget
continue; continue;
ImGui.TableNextColumn(); // Idx ImGui.TableNextColumn(); // Idx
ImGui.TextUnformatted($"{i}"); ImGui.Text($"{i}");
ImGui.TableNextColumn(); // Name ImGui.TableNextColumn(); // Name
ImGui.TextUnformatted($"{info.AetheryteData.ValueNullable?.PlaceName.ValueNullable?.Name}"); ImGui.Text($"{info.AetheryteData.ValueNullable?.PlaceName.ValueNullable?.Name}");
ImGui.TableNextColumn(); // ID ImGui.TableNextColumn(); // ID
ImGui.TextUnformatted($"{info.AetheryteId}"); ImGui.Text($"{info.AetheryteId}");
ImGui.TableNextColumn(); // Zone ImGui.TableNextColumn(); // Zone
ImGui.TextUnformatted($"{info.TerritoryId}"); ImGui.Text($"{info.TerritoryId}");
ImGui.TableNextColumn(); // Ward ImGui.TableNextColumn(); // Ward
ImGui.TextUnformatted($"{info.Ward}"); ImGui.Text($"{info.Ward}");
ImGui.TableNextColumn(); // Plot ImGui.TableNextColumn(); // Plot
ImGui.TextUnformatted($"{info.Plot}"); ImGui.Text($"{info.Plot}");
ImGui.TableNextColumn(); // Sub ImGui.TableNextColumn(); // Sub
ImGui.TextUnformatted($"{info.SubIndex}"); ImGui.Text($"{info.SubIndex}");
ImGui.TableNextColumn(); // Gil ImGui.TableNextColumn(); // Gil
ImGui.TextUnformatted($"{info.GilCost}"); ImGui.Text($"{info.GilCost}");
ImGui.TableNextColumn(); // Favourite ImGui.TableNextColumn(); // Favourite
ImGui.TextUnformatted($"{info.IsFavourite}"); ImGui.Text($"{info.IsFavourite}");
ImGui.TableNextColumn(); // Shared ImGui.TableNextColumn(); // Shared
ImGui.TextUnformatted($"{info.IsSharedHouse}"); ImGui.Text($"{info.IsSharedHouse}");
ImGui.TableNextColumn(); // Apartment ImGui.TableNextColumn(); // Apartment
ImGui.TextUnformatted($"{info.IsApartment}"); ImGui.Text($"{info.IsApartment}");
} }
ImGui.EndTable(); ImGui.EndTable();

View file

@ -46,7 +46,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
/// <inheritdoc/> /// <inheritdoc/>
public void Draw() public void Draw()
{ {
using var tabs = ImRaii.TabBar("AtkArrayDataTabs"); using var tabs = ImRaii.TabBar("AtkArrayDataTabs"u8);
if (!tabs) return; if (!tabs) return;
this.DrawNumberArrayTab(); this.DrawNumberArrayTab();
@ -56,12 +56,12 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
private void DrawArrayList(Type? arrayType, int arrayCount, short* arrayKeys, AtkArrayData** arrays, ref int selectedIndex) private void DrawArrayList(Type? arrayType, int arrayCount, short* arrayKeys, AtkArrayData** arrays, ref int selectedIndex)
{ {
using var table = ImRaii.Table("ArkArrayTable", 3, ImGuiTableFlags.ScrollY | ImGuiTableFlags.Borders, new Vector2(300, -1)); using var table = ImRaii.Table("ArkArrayTable"u8, 3, ImGuiTableFlags.ScrollY | ImGuiTableFlags.Borders, new Vector2(300, -1));
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Index", ImGuiTableColumnFlags.WidthFixed, 30); ImGui.TableSetupColumn("Index"u8, ImGuiTableColumnFlags.WidthFixed, 30);
ImGui.TableSetupColumn("Type", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Type"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("Size", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Size"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupScrollFreeze(3, 1); ImGui.TableSetupScrollFreeze(3, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -103,7 +103,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
ImGui.TableNextColumn(); // Type ImGui.TableNextColumn(); // Type
if (arrayType != null && Enum.IsDefined(arrayType, arrayIndex)) if (arrayType != null && Enum.IsDefined(arrayType, arrayIndex))
{ {
ImGui.TextUnformatted(Enum.GetName(arrayType, arrayIndex)); ImGui.Text(Enum.GetName(arrayType, arrayIndex));
} }
else if (inUse && arrays[arrayIndex]->SubscribedAddonsCount > 0) else if (inUse && arrays[arrayIndex]->SubscribedAddonsCount > 0)
{ {
@ -115,41 +115,41 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
continue; continue;
using (ImRaii.PushColor(ImGuiCol.Text, 0xFF00FFFF)) using (ImRaii.PushColor(ImGuiCol.Text, 0xFF00FFFF))
ImGui.TextUnformatted(raptureAtkUnitManager->GetAddonById(arrays[arrayIndex]->SubscribedAddons[j])->NameString); ImGui.Text(raptureAtkUnitManager->GetAddonById(arrays[arrayIndex]->SubscribedAddons[j])->NameString);
break; break;
} }
} }
ImGui.TableNextColumn(); // Size ImGui.TableNextColumn(); // Size
if (inUse) if (inUse)
ImGui.TextUnformatted((rowsFound > 0 ? rowsFound : arrays[arrayIndex]->Size).ToString()); ImGui.Text((rowsFound > 0 ? rowsFound : arrays[arrayIndex]->Size).ToString());
} }
} }
private void DrawArrayHeader(Type? arrayType, string type, int index, AtkArrayData* array) private void DrawArrayHeader(Type? arrayType, string type, int index, AtkArrayData* array)
{ {
ImGui.TextUnformatted($"{type} Array #{index}"); ImGui.Text($"{type} Array #{index}");
if (arrayType != null && Enum.IsDefined(arrayType, index)) if (arrayType != null && Enum.IsDefined(arrayType, index))
{ {
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" ({Enum.GetName(arrayType, index)})"); ImGui.Text($" ({Enum.GetName(arrayType, index)})");
} }
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(""); ImGui.Text(""u8);
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted("Address: "); ImGui.Text("Address: "u8);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
WidgetUtil.DrawCopyableText($"0x{(nint)array:X}", "Copy address"); WidgetUtil.DrawCopyableText($"0x{(nint)array:X}", "Copy address");
if (array->SubscribedAddonsCount > 0) if (array->SubscribedAddonsCount > 0)
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(""); ImGui.Text(""u8);
ImGui.SameLine(); ImGui.SameLine();
using (ImRaii.PushColor(ImGuiCol.Text, 0xFF00FFFF)) using (ImRaii.PushColor(ImGuiCol.Text, 0xFF00FFFF))
ImGui.TextUnformatted($"{array->SubscribedAddonsCount} Subscribed Addon" + (array->SubscribedAddonsCount > 1 ? 's' : string.Empty)); ImGui.Text($"{array->SubscribedAddonsCount} Subscribed Addon" + (array->SubscribedAddonsCount > 1 ? 's' : string.Empty));
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
@ -163,7 +163,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
if (array->SubscribedAddons[j] == 0) if (array->SubscribedAddons[j] == 0)
continue; continue;
ImGui.TextUnformatted(raptureAtkUnitManager->GetAddonById(array->SubscribedAddons[j])->NameString); ImGui.Text(raptureAtkUnitManager->GetAddonById(array->SubscribedAddons[j])->NameString);
} }
} }
} }
@ -174,7 +174,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
{ {
var atkArrayDataHolder = RaptureAtkModule.Instance()->AtkArrayDataHolder; var atkArrayDataHolder = RaptureAtkModule.Instance()->AtkArrayDataHolder;
using var tab = ImRaii.TabItem("Number Arrays"); using var tab = ImRaii.TabItem("Number Arrays"u8);
if (!tab) return; if (!tab) return;
this.DrawArrayList( this.DrawArrayList(
@ -189,22 +189,22 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
ImGui.SameLine(0, ImGui.GetStyle().ItemInnerSpacing.X); ImGui.SameLine(0, ImGui.GetStyle().ItemInnerSpacing.X);
using var child = ImRaii.Child("AtkArrayContent", new Vector2(-1), true, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoSavedSettings); using var child = ImRaii.Child("AtkArrayContent"u8, new Vector2(-1), true, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoSavedSettings);
if (!child) return; if (!child) return;
var array = atkArrayDataHolder.NumberArrays[this.selectedNumberArray]; var array = atkArrayDataHolder.NumberArrays[this.selectedNumberArray];
this.DrawArrayHeader(this.numberType, "Number", this.selectedNumberArray, (AtkArrayData*)array); this.DrawArrayHeader(this.numberType, "Number", this.selectedNumberArray, (AtkArrayData*)array);
using var table = ImRaii.Table("NumberArrayDataTable", 7, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders); using var table = ImRaii.Table("NumberArrayDataTable"u8, 7, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Index", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Index"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupColumn("Entry Address", ImGuiTableColumnFlags.WidthFixed, 120); ImGui.TableSetupColumn("Entry Address"u8, ImGuiTableColumnFlags.WidthFixed, 120);
ImGui.TableSetupColumn("Integer", ImGuiTableColumnFlags.WidthFixed, 100); ImGui.TableSetupColumn("Integer"u8, ImGuiTableColumnFlags.WidthFixed, 100);
ImGui.TableSetupColumn("Short", ImGuiTableColumnFlags.WidthFixed, 100); ImGui.TableSetupColumn("Short"u8, ImGuiTableColumnFlags.WidthFixed, 100);
ImGui.TableSetupColumn("Byte", ImGuiTableColumnFlags.WidthFixed, 100); ImGui.TableSetupColumn("Byte"u8, ImGuiTableColumnFlags.WidthFixed, 100);
ImGui.TableSetupColumn("Float", ImGuiTableColumnFlags.WidthFixed, 100); ImGui.TableSetupColumn("Float"u8, ImGuiTableColumnFlags.WidthFixed, 100);
ImGui.TableSetupColumn("Hex", ImGuiTableColumnFlags.WidthFixed, 100); ImGui.TableSetupColumn("Hex"u8, ImGuiTableColumnFlags.WidthFixed, 100);
ImGui.TableSetupScrollFreeze(7, 1); ImGui.TableSetupScrollFreeze(7, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -212,7 +212,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
{ {
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); // Index ImGui.TableNextColumn(); // Index
ImGui.TextUnformatted($"#{i}"); ImGui.Text($"#{i}");
var ptr = &array->IntArray[i]; var ptr = &array->IntArray[i];
@ -238,17 +238,17 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
private void DrawStringArrayTab() private void DrawStringArrayTab()
{ {
using var tab = ImRaii.TabItem("String Arrays"); using var tab = ImRaii.TabItem("String Arrays"u8);
if (!tab) return; if (!tab) return;
var atkArrayDataHolder = RaptureAtkModule.Instance()->AtkArrayDataHolder; var atkArrayDataHolder = RaptureAtkModule.Instance()->AtkArrayDataHolder;
using (var sidebarchild = ImRaii.Child("StringArraySidebar", new Vector2(300, -1), false, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoSavedSettings)) using (var sidebarchild = ImRaii.Child("StringArraySidebar"u8, new Vector2(300, -1), false, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoSavedSettings))
{ {
if (sidebarchild) if (sidebarchild)
{ {
ImGui.SetNextItemWidth(-1); ImGui.SetNextItemWidth(-1);
ImGui.InputTextWithHint("##TextSearch", "Search...", ref this.searchTerm, 256, ImGuiInputTextFlags.AutoSelectAll); ImGui.InputTextWithHint("##TextSearch"u8, "Search..."u8, ref this.searchTerm, 256, ImGuiInputTextFlags.AutoSelectAll);
this.DrawArrayList( this.DrawArrayList(
this.stringType, this.stringType,
@ -264,24 +264,24 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
ImGui.SameLine(0, ImGui.GetStyle().ItemInnerSpacing.X); ImGui.SameLine(0, ImGui.GetStyle().ItemInnerSpacing.X);
using var child = ImRaii.Child("AtkArrayContent", new Vector2(-1), true, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoSavedSettings); using var child = ImRaii.Child("AtkArrayContent"u8, new Vector2(-1), true, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoSavedSettings);
if (!child) return; if (!child) return;
var array = atkArrayDataHolder.StringArrays[this.selectedStringArray]; var array = atkArrayDataHolder.StringArrays[this.selectedStringArray];
this.DrawArrayHeader(this.stringType, "String", this.selectedStringArray, (AtkArrayData*)array); this.DrawArrayHeader(this.stringType, "String", this.selectedStringArray, (AtkArrayData*)array);
ImGui.Checkbox("Hide unset entries##HideUnsetStringArrayEntriesCheckbox", ref this.hideUnsetStringArrayEntries); ImGui.Checkbox("Hide unset entries##HideUnsetStringArrayEntriesCheckbox"u8, ref this.hideUnsetStringArrayEntries);
ImGui.SameLine(); ImGui.SameLine();
ImGui.Checkbox("Show text address##WordWrapCheckbox", ref this.showTextAddress); ImGui.Checkbox("Show text address##WordWrapCheckbox"u8, ref this.showTextAddress);
ImGui.SameLine(); ImGui.SameLine();
ImGui.Checkbox("Show macro string##RenderStringsCheckbox", ref this.showMacroString); ImGui.Checkbox("Show macro string##RenderStringsCheckbox"u8, ref this.showMacroString);
using var table = ImRaii.Table("StringArrayDataTable", 4, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders); using var table = ImRaii.Table("StringArrayDataTable"u8, 4, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Index", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Index"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupColumn(this.showTextAddress ? "Text Address" : "Entry Address", ImGuiTableColumnFlags.WidthFixed, 120); ImGui.TableSetupColumn(this.showTextAddress ? "Text Address"u8 : "Entry Address"u8, ImGuiTableColumnFlags.WidthFixed, 120);
ImGui.TableSetupColumn("Managed", ImGuiTableColumnFlags.WidthFixed, 60); ImGui.TableSetupColumn("Managed"u8, ImGuiTableColumnFlags.WidthFixed, 60);
ImGui.TableSetupColumn("Text", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Text"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupScrollFreeze(4, 1); ImGui.TableSetupScrollFreeze(4, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -306,7 +306,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); // Index ImGui.TableNextColumn(); // Index
ImGui.TextUnformatted($"#{i}"); ImGui.Text($"#{i}");
ImGui.TableNextColumn(); // Address ImGui.TableNextColumn(); // Address
if (this.showTextAddress) if (this.showTextAddress)
@ -322,7 +322,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
ImGui.TableNextColumn(); // Managed ImGui.TableNextColumn(); // Managed
if (!isNull) if (!isNull)
{ {
ImGui.TextUnformatted(((nint)array->StringArray[i] != 0 && array->ManagedStringArray[i] == array->StringArray[i]).ToString()); ImGui.Text(((nint)array->StringArray[i] != 0 && array->ManagedStringArray[i] == array->StringArray[i]).ToString());
} }
ImGui.TableNextColumn(); // Text ImGui.TableNextColumn(); // Text
@ -342,7 +342,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
private void DrawExtendArrayTab() private void DrawExtendArrayTab()
{ {
using var tab = ImRaii.TabItem("Extend Arrays"); using var tab = ImRaii.TabItem("Extend Arrays"u8);
if (!tab) return; if (!tab) return;
var atkArrayDataHolder = RaptureAtkModule.Instance()->AtkArrayDataHolder; var atkArrayDataHolder = RaptureAtkModule.Instance()->AtkArrayDataHolder;
@ -359,18 +359,18 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
ImGui.SameLine(0, ImGui.GetStyle().ItemInnerSpacing.X); ImGui.SameLine(0, ImGui.GetStyle().ItemInnerSpacing.X);
using var child = ImRaii.Child("AtkArrayContent", new Vector2(-1), true, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoSavedSettings); using var child = ImRaii.Child("AtkArrayContent"u8, new Vector2(-1), true, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoSavedSettings);
var array = atkArrayDataHolder.ExtendArrays[this.selectedExtendArray]; var array = atkArrayDataHolder.ExtendArrays[this.selectedExtendArray];
this.DrawArrayHeader(null, "Extend", this.selectedExtendArray, (AtkArrayData*)array); this.DrawArrayHeader(null, "Extend", this.selectedExtendArray, (AtkArrayData*)array);
ImGui.Checkbox("Hide unset entries##HideUnsetExtendArrayEntriesCheckbox", ref this.hideUnsetExtendArrayEntries); ImGui.Checkbox("Hide unset entries##HideUnsetExtendArrayEntriesCheckbox"u8, ref this.hideUnsetExtendArrayEntries);
using var table = ImRaii.Table("ExtendArrayDataTable", 3, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders); using var table = ImRaii.Table("ExtendArrayDataTable"u8, 3, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Index", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Index"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupColumn("Entry Address", ImGuiTableColumnFlags.WidthFixed, 120); ImGui.TableSetupColumn("Entry Address"u8, ImGuiTableColumnFlags.WidthFixed, 120);
ImGui.TableSetupColumn("Pointer", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Pointer"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupScrollFreeze(3, 1); ImGui.TableSetupScrollFreeze(3, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -384,7 +384,7 @@ internal unsafe class AtkArrayDataBrowserWidget : IDataWindowWidget
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); // Index ImGui.TableNextColumn(); // Index
ImGui.TextUnformatted($"#{i}"); ImGui.Text($"#{i}");
ImGui.TableNextColumn(); // Address ImGui.TableNextColumn(); // Address
WidgetUtil.DrawCopyableText($"0x{(nint)(&array->DataArray[i]):X}", "Copy entry address"); WidgetUtil.DrawCopyableText($"0x{(nint)(&array->DataArray[i]):X}", "Copy entry address");

View file

@ -31,12 +31,12 @@ internal class BuddyListWidget : IDataWindowWidget
{ {
var buddyList = Service<BuddyList>.Get(); var buddyList = Service<BuddyList>.Get();
ImGui.Checkbox("Resolve GameData", ref this.resolveGameData); ImGui.Checkbox("Resolve GameData"u8, ref this.resolveGameData);
{ {
var member = buddyList.CompanionBuddy; var member = buddyList.CompanionBuddy;
if (member == null) if (member == null)
{ {
ImGui.Text("[Companion] null"); ImGui.Text("[Companion] null"u8);
} }
else else
{ {
@ -46,7 +46,7 @@ internal class BuddyListWidget : IDataWindowWidget
var gameObject = member.GameObject; var gameObject = member.GameObject;
if (gameObject == null) if (gameObject == null)
{ {
ImGui.Text("GameObject was null"); ImGui.Text("GameObject was null"u8);
} }
else else
{ {
@ -60,7 +60,7 @@ internal class BuddyListWidget : IDataWindowWidget
var member = buddyList.PetBuddy; var member = buddyList.PetBuddy;
if (member == null) if (member == null)
{ {
ImGui.Text("[Pet] null"); ImGui.Text("[Pet] null"u8);
} }
else else
{ {
@ -70,7 +70,7 @@ internal class BuddyListWidget : IDataWindowWidget
var gameObject = member.GameObject; var gameObject = member.GameObject;
if (gameObject == null) if (gameObject == null)
{ {
ImGui.Text("GameObject was null"); ImGui.Text("GameObject was null"u8);
} }
else else
{ {
@ -84,7 +84,7 @@ internal class BuddyListWidget : IDataWindowWidget
var count = buddyList.Length; var count = buddyList.Length;
if (count == 0) if (count == 0)
{ {
ImGui.Text("[BattleBuddy] None present"); ImGui.Text("[BattleBuddy] None present"u8);
} }
else else
{ {
@ -97,7 +97,7 @@ internal class BuddyListWidget : IDataWindowWidget
var gameObject = member?.GameObject; var gameObject = member?.GameObject;
if (gameObject == null) if (gameObject == null)
{ {
ImGui.Text("GameObject was null"); ImGui.Text("GameObject was null"u8);
} }
else else
{ {

View file

@ -1,7 +1,8 @@
using System.Linq; using System.Linq;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Game.Command; using Dalamud.Game.Command;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
namespace Dalamud.Interface.Internal.Windows.Data.Widgets; namespace Dalamud.Interface.Internal.Windows.Data.Widgets;
@ -33,15 +34,15 @@ internal class CommandWidget : IDataWindowWidget
var tableFlags = ImGuiTableFlags.ScrollY | ImGuiTableFlags.Borders | ImGuiTableFlags.SizingStretchProp | var tableFlags = ImGuiTableFlags.ScrollY | ImGuiTableFlags.Borders | ImGuiTableFlags.SizingStretchProp |
ImGuiTableFlags.Sortable | ImGuiTableFlags.SortTristate; ImGuiTableFlags.Sortable | ImGuiTableFlags.SortTristate;
using var table = ImRaii.Table("CommandList", 4, tableFlags); using var table = ImRaii.Table("CommandList"u8, 4, tableFlags);
if (table) if (table)
{ {
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableSetupColumn("Command"); ImGui.TableSetupColumn("Command"u8);
ImGui.TableSetupColumn("Plugin"); ImGui.TableSetupColumn("Plugin"u8);
ImGui.TableSetupColumn("HelpMessage", ImGuiTableColumnFlags.NoSort); ImGui.TableSetupColumn("HelpMessage"u8, ImGuiTableColumnFlags.NoSort);
ImGui.TableSetupColumn("In Help?", ImGuiTableColumnFlags.NoSort); ImGui.TableSetupColumn("In Help?"u8, ImGuiTableColumnFlags.NoSort);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
var sortSpecs = ImGui.TableGetSortSpecs(); var sortSpecs = ImGui.TableGetSortSpecs();

View file

@ -33,7 +33,7 @@ internal class ConditionWidget : IDataWindowWidget
ImGui.Text($"ptr: {Util.DescribeAddress(condition.Address)}"); ImGui.Text($"ptr: {Util.DescribeAddress(condition.Address)}");
#endif #endif
ImGui.Text("Current Conditions:"); ImGui.Text("Current Conditions:"u8);
ImGui.Separator(); ImGui.Separator();
var didAny = false; var didAny = false;
@ -51,6 +51,6 @@ internal class ConditionWidget : IDataWindowWidget
} }
if (!didAny) if (!didAny)
ImGui.Text("None. Talk to a shop NPC or visit a market board to find out more!"); ImGui.Text("None. Talk to a shop NPC or visit a market board to find out more!"u8);
} }
} }

View file

@ -1,4 +1,4 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
@ -51,13 +51,13 @@ internal class DataShareWidget : IDataWindowWidget
/// <inheritdoc/> /// <inheritdoc/>
public unsafe void Draw() public unsafe void Draw()
{ {
using var tabbar = ImRaii.TabBar("##tabbar"); using var tabbar = ImRaii.TabBar("##tabbar"u8);
if (!tabbar.Success) if (!tabbar.Success)
return; return;
var d = true; var d = true;
using (var tabitem = ImRaii.TabItem( using (var tabitem = ImRaii.TabItem(
"Data Share##tabbar-datashare", "Data Share##tabbar-datashare"u8,
ref d, ref d,
NoCloseButton | (this.nextTab == 0 ? ImGuiTabItemFlags.SetSelected : 0))) NoCloseButton | (this.nextTab == 0 ? ImGuiTabItemFlags.SetSelected : 0)))
{ {
@ -66,7 +66,7 @@ internal class DataShareWidget : IDataWindowWidget
} }
using (var tabitem = ImRaii.TabItem( using (var tabitem = ImRaii.TabItem(
"Call Gate##tabbar-callgate", "Call Gate##tabbar-callgate"u8,
ref d, ref d,
NoCloseButton | (this.nextTab == 1 ? ImGuiTabItemFlags.SetSelected : 0))) NoCloseButton | (this.nextTab == 1 ? ImGuiTabItemFlags.SetSelected : 0)))
{ {
@ -88,7 +88,7 @@ internal class DataShareWidget : IDataWindowWidget
if (!tabitem.Success) if (!tabitem.Success)
continue; continue;
if (ImGui.Button("Refresh")) if (ImGui.Button("Refresh"u8))
data = null; data = null;
if (data is null) if (data is null)
@ -119,7 +119,7 @@ internal class DataShareWidget : IDataWindowWidget
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Copy")) if (ImGui.Button("Copy"u8))
ImGui.SetClipboardText(data); ImGui.SetClipboardText(data);
ImGui.InputTextMultiline( ImGui.InputTextMultiline(
@ -214,7 +214,7 @@ internal class DataShareWidget : IDataWindowWidget
var offset = ImGui.GetCursorScreenPos() + new Vector2(0, framepad ? ImGui.GetStyle().FramePadding.Y : 0); var offset = ImGui.GetCursorScreenPos() + new Vector2(0, framepad ? ImGui.GetStyle().FramePadding.Y : 0);
if (framepad) if (framepad)
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted(s); ImGui.Text(s);
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetNextWindowPos(offset - ImGui.GetStyle().WindowPadding); ImGui.SetNextWindowPos(offset - ImGui.GetStyle().WindowPadding);
@ -224,7 +224,7 @@ internal class DataShareWidget : IDataWindowWidget
using (ImRaii.Tooltip()) using (ImRaii.Tooltip())
{ {
ImGui.PushTextWrapPos(wrx); ImGui.PushTextWrapPos(wrx);
ImGui.TextWrapped((tooltip?.Invoke() ?? s).Replace("%", "%%")); ImGui.TextWrapped(tooltip?.Invoke() ?? s);
ImGui.PopTextWrapPos(); ImGui.PopTextWrapPos();
} }
} }
@ -242,15 +242,15 @@ internal class DataShareWidget : IDataWindowWidget
private void DrawCallGate() private void DrawCallGate()
{ {
var callGate = Service<CallGate>.Get(); var callGate = Service<CallGate>.Get();
if (ImGui.Button("Purge empty call gates")) if (ImGui.Button("Purge empty call gates"u8))
callGate.PurgeEmptyGates(); callGate.PurgeEmptyGates();
using var table = ImRaii.Table("##callgate-table", 5); using var table = ImRaii.Table("##callgate-table"u8, 5);
ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.DefaultSort); ImGui.TableSetupColumn("Name"u8, ImGuiTableColumnFlags.DefaultSort);
ImGui.TableSetupColumn("Action"); ImGui.TableSetupColumn("Action"u8);
ImGui.TableSetupColumn("Func"); ImGui.TableSetupColumn("Func"u8);
ImGui.TableSetupColumn("#", ImGuiTableColumnFlags.WidthFixed, 30 * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("#"u8, ImGuiTableColumnFlags.WidthFixed, 30 * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("Subscriber"); ImGui.TableSetupColumn("Subscriber"u8);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
var gates2 = callGate.Gates; var gates2 = callGate.Gates;
@ -287,16 +287,16 @@ internal class DataShareWidget : IDataWindowWidget
private void DrawDataShare() private void DrawDataShare()
{ {
if (!ImGui.BeginTable("###DataShareTable", 5, ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.RowBg)) if (!ImGui.BeginTable("###DataShareTable"u8, 5, ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.RowBg))
return; return;
try try
{ {
ImGui.TableSetupColumn("Shared Tag"); ImGui.TableSetupColumn("Shared Tag"u8);
ImGui.TableSetupColumn("Show"); ImGui.TableSetupColumn("Show"u8);
ImGui.TableSetupColumn("Creator Assembly"); ImGui.TableSetupColumn("Creator Assembly"u8);
ImGui.TableSetupColumn("#", ImGuiTableColumnFlags.WidthFixed, 30 * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("#"u8, ImGuiTableColumnFlags.WidthFixed, 30 * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("Consumers"); ImGui.TableSetupColumn("Consumers"u8);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
foreach (var share in Service<DataShare>.Get().GetAllShares()) foreach (var share in Service<DataShare>.Get().GetAllShares())
{ {

View file

@ -44,7 +44,7 @@ internal class DtrBarWidget : IDataWindowWidget, IDisposable
{ {
if (this.loadTestThread?.IsAlive is not true) if (this.loadTestThread?.IsAlive is not true)
{ {
if (ImGui.Button("Do multithreaded add/remove operation")) if (ImGui.Button("Do multithreaded add/remove operation"u8))
{ {
var ct = this.loadTestThreadCt = new(); var ct = this.loadTestThreadCt = new();
var dbar = Service<DtrBar>.Get(); var dbar = Service<DtrBar>.Get();
@ -135,7 +135,7 @@ internal class DtrBarWidget : IDataWindowWidget, IDisposable
} }
else else
{ {
if (ImGui.Button("Stop multithreaded add/remove operation")) if (ImGui.Button("Stop multithreaded add/remove operation"u8))
this.ClearState(); this.ClearState();
} }
@ -149,7 +149,7 @@ internal class DtrBarWidget : IDataWindowWidget, IDisposable
this.DrawDtrTestEntry(ref this.dtrTest3, "DTR Test #3"); this.DrawDtrTestEntry(ref this.dtrTest3, "DTR Test #3");
ImGui.Separator(); ImGui.Separator();
ImGui.Text("IDtrBar.Entries:"); ImGui.Text("IDtrBar.Entries:"u8);
foreach (var e in Service<DtrBar>.Get().Entries) foreach (var e in Service<DtrBar>.Get().Entries)
ImGui.Text(e.Title); ImGui.Text(e.Title);
@ -157,7 +157,7 @@ internal class DtrBarWidget : IDataWindowWidget, IDisposable
if (configuration.DtrOrder != null) if (configuration.DtrOrder != null)
{ {
ImGui.Separator(); ImGui.Separator();
ImGui.Text("DtrOrder:"); ImGui.Text("DtrOrder:"u8);
foreach (var order in configuration.DtrOrder) foreach (var order in configuration.DtrOrder)
ImGui.Text(order); ImGui.Text(order);
} }

View file

@ -34,26 +34,26 @@ internal class FateTableWidget : IDataWindowWidget
if (fateTable.Length == 0) if (fateTable.Length == 0)
{ {
ImGui.TextUnformatted("No fates or data not ready."); ImGui.Text("No fates or data not ready."u8);
return; return;
} }
using var table = ImRaii.Table("FateTable", 13, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.NoSavedSettings); using var table = ImRaii.Table("FateTable"u8, 13, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.NoSavedSettings);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Index", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Index"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupColumn("Address", ImGuiTableColumnFlags.WidthFixed, 120); ImGui.TableSetupColumn("Address"u8, ImGuiTableColumnFlags.WidthFixed, 120);
ImGui.TableSetupColumn("FateId", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("FateId"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupColumn("State", ImGuiTableColumnFlags.WidthFixed, 80); ImGui.TableSetupColumn("State"u8, ImGuiTableColumnFlags.WidthFixed, 80);
ImGui.TableSetupColumn("Level", ImGuiTableColumnFlags.WidthFixed, 50); ImGui.TableSetupColumn("Level"u8, ImGuiTableColumnFlags.WidthFixed, 50);
ImGui.TableSetupColumn("Icon", ImGuiTableColumnFlags.WidthFixed, 30); ImGui.TableSetupColumn("Icon"u8, ImGuiTableColumnFlags.WidthFixed, 30);
ImGui.TableSetupColumn("MapIcon", ImGuiTableColumnFlags.WidthFixed, 30); ImGui.TableSetupColumn("MapIcon"u8, ImGuiTableColumnFlags.WidthFixed, 30);
ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Name"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("Progress", ImGuiTableColumnFlags.WidthFixed, 55); ImGui.TableSetupColumn("Progress"u8, ImGuiTableColumnFlags.WidthFixed, 55);
ImGui.TableSetupColumn("Duration", ImGuiTableColumnFlags.WidthFixed, 80); ImGui.TableSetupColumn("Duration"u8, ImGuiTableColumnFlags.WidthFixed, 80);
ImGui.TableSetupColumn("Bonus", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Bonus"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupColumn("Position", ImGuiTableColumnFlags.WidthFixed, 240); ImGui.TableSetupColumn("Position"u8, ImGuiTableColumnFlags.WidthFixed, 240);
ImGui.TableSetupColumn("Radius", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Radius"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupScrollFreeze(7, 1); ImGui.TableSetupScrollFreeze(7, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -65,7 +65,7 @@ internal class FateTableWidget : IDataWindowWidget
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); // Index ImGui.TableNextColumn(); // Index
ImGui.TextUnformatted($"#{i}"); ImGui.Text($"#{i}");
ImGui.TableNextColumn(); // Address ImGui.TableNextColumn(); // Address
WidgetUtil.DrawCopyableText($"0x{fate.Address:X}", "Click to copy Address"); WidgetUtil.DrawCopyableText($"0x{fate.Address:X}", "Click to copy Address");
@ -74,17 +74,17 @@ internal class FateTableWidget : IDataWindowWidget
WidgetUtil.DrawCopyableText(fate.FateId.ToString(), "Click to copy FateId (RowId of Fate sheet)"); WidgetUtil.DrawCopyableText(fate.FateId.ToString(), "Click to copy FateId (RowId of Fate sheet)");
ImGui.TableNextColumn(); // State ImGui.TableNextColumn(); // State
ImGui.TextUnformatted(fate.State.ToString()); ImGui.Text(fate.State.ToString());
ImGui.TableNextColumn(); // Level ImGui.TableNextColumn(); // Level
if (fate.Level == fate.MaxLevel) if (fate.Level == fate.MaxLevel)
{ {
ImGui.TextUnformatted($"{fate.Level}"); ImGui.Text($"{fate.Level}");
} }
else else
{ {
ImGui.TextUnformatted($"{fate.Level}-{fate.MaxLevel}"); ImGui.Text($"{fate.Level}-{fate.MaxLevel}");
} }
ImGui.TableNextColumn(); // Icon ImGui.TableNextColumn(); // Icon
@ -99,8 +99,8 @@ internal class FateTableWidget : IDataWindowWidget
{ {
ImGui.SetMouseCursor(ImGuiMouseCursor.Hand); ImGui.SetMouseCursor(ImGuiMouseCursor.Hand);
ImGui.BeginTooltip(); ImGui.BeginTooltip();
ImGui.TextUnformatted("Click to copy IconId"); ImGui.Text("Click to copy IconId"u8);
ImGui.TextUnformatted($"ID: {fate.IconId} Size: {texture.Width}x{texture.Height}"); ImGui.Text($"ID: {fate.IconId} Size: {texture.Width}x{texture.Height}");
ImGui.Image(texture.Handle, new(texture.Width, texture.Height)); ImGui.Image(texture.Handle, new(texture.Width, texture.Height));
ImGui.EndTooltip(); ImGui.EndTooltip();
} }
@ -124,8 +124,8 @@ internal class FateTableWidget : IDataWindowWidget
{ {
ImGui.SetMouseCursor(ImGuiMouseCursor.Hand); ImGui.SetMouseCursor(ImGuiMouseCursor.Hand);
ImGui.BeginTooltip(); ImGui.BeginTooltip();
ImGui.TextUnformatted("Click to copy MapIconId"); ImGui.Text("Click to copy MapIconId"u8);
ImGui.TextUnformatted($"ID: {fate.MapIconId} Size: {texture.Width}x{texture.Height}"); ImGui.Text($"ID: {fate.MapIconId} Size: {texture.Width}x{texture.Height}");
ImGui.Image(texture.Handle, new(texture.Width, texture.Height)); ImGui.Image(texture.Handle, new(texture.Width, texture.Height));
ImGui.EndTooltip(); ImGui.EndTooltip();
} }
@ -142,17 +142,17 @@ internal class FateTableWidget : IDataWindowWidget
WidgetUtil.DrawCopyableText(fate.Name.ToString(), "Click to copy Name"); WidgetUtil.DrawCopyableText(fate.Name.ToString(), "Click to copy Name");
ImGui.TableNextColumn(); // Progress ImGui.TableNextColumn(); // Progress
ImGui.TextUnformatted($"{fate.Progress}%"); ImGui.Text($"{fate.Progress}%");
ImGui.TableNextColumn(); // TimeRemaining ImGui.TableNextColumn(); // TimeRemaining
if (fate.State == FateState.Running) if (fate.State == FateState.Running)
{ {
ImGui.TextUnformatted($"{TimeSpan.FromSeconds(fate.TimeRemaining):mm\\:ss} / {TimeSpan.FromSeconds(fate.Duration):mm\\:ss}"); ImGui.Text($"{TimeSpan.FromSeconds(fate.TimeRemaining):mm\\:ss} / {TimeSpan.FromSeconds(fate.Duration):mm\\:ss}");
} }
ImGui.TableNextColumn(); // HasExpBonus ImGui.TableNextColumn(); // HasExpBonus
ImGui.TextUnformatted(fate.HasBonus.ToString()); ImGui.Text(fate.HasBonus.ToString());
ImGui.TableNextColumn(); // Position ImGui.TableNextColumn(); // Position
WidgetUtil.DrawCopyableText(fate.Position.ToString(), "Click to copy Position"); WidgetUtil.DrawCopyableText(fate.Position.ToString(), "Click to copy Position");

View file

@ -1,4 +1,4 @@
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
@ -39,7 +39,7 @@ internal class FlyTextWidget : IDataWindowWidget
/// <inheritdoc/> /// <inheritdoc/>
public void Draw() public void Draw()
{ {
if (ImGui.BeginCombo("Kind", $"{this.flyKind} ({(int)this.flyKind})")) if (ImGui.BeginCombo("Kind"u8, $"{this.flyKind} ({(int)this.flyKind})"))
{ {
var values = Enum.GetValues<FlyTextKind>().Distinct(); var values = Enum.GetValues<FlyTextKind>().Distinct();
foreach (var value in values) foreach (var value in values)
@ -53,19 +53,19 @@ internal class FlyTextWidget : IDataWindowWidget
ImGui.EndCombo(); ImGui.EndCombo();
} }
ImGui.InputText("Text1", ref this.flyText1, 200); ImGui.InputText("Text1"u8, ref this.flyText1, 200);
ImGui.InputText("Text2", ref this.flyText2, 200); ImGui.InputText("Text2"u8, ref this.flyText2, 200);
ImGui.InputInt("Val1", ref this.flyVal1); ImGui.InputInt("Val1"u8, ref this.flyVal1);
ImGui.InputInt("Val2", ref this.flyVal2); ImGui.InputInt("Val2"u8, ref this.flyVal2);
ImGui.InputInt("Icon ID", ref this.flyIcon); ImGui.InputInt("Icon ID"u8, ref this.flyIcon);
ImGui.InputInt("Damage Icon ID", ref this.flyDmgIcon); ImGui.InputInt("Damage Icon ID"u8, ref this.flyDmgIcon);
ImGui.ColorEdit4("Color", ref this.flyColor); ImGui.ColorEdit4("Color", ref this.flyColor);
ImGui.InputInt("Actor Index", ref this.flyActor); ImGui.InputInt("Actor Index"u8, ref this.flyActor);
var sendColor = ImGui.ColorConvertFloat4ToU32(this.flyColor); var sendColor = ImGui.ColorConvertFloat4ToU32(this.flyColor);
if (ImGui.Button("Send")) if (ImGui.Button("Send"u8))
{ {
Service<FlyTextGui>.Get().AddFlyText( Service<FlyTextGui>.Get().AddFlyText(
this.flyKind, this.flyKind,

View file

@ -1,4 +1,4 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
@ -77,12 +77,12 @@ internal class FontAwesomeTestWidget : IDataWindowWidget
ImGui.SameLine(170f); ImGui.SameLine(170f);
ImGui.SetNextItemWidth(180f); ImGui.SetNextItemWidth(180f);
if (ImGui.InputTextWithHint($"###FontAwesomeInputSearch", "search icons", ref this.iconSearchInput, 50)) if (ImGui.InputTextWithHint($"###FontAwesomeInputSearch", "search icons"u8, ref this.iconSearchInput, 50))
{ {
this.iconSearchChanged = true; this.iconSearchChanged = true;
} }
ImGui.Checkbox("Use fixed width font", ref this.useFixedWidth); ImGui.Checkbox("Use fixed width font"u8, ref this.useFixedWidth);
ImGuiHelpers.ScaledDummy(10f); ImGuiHelpers.ScaledDummy(10f);
for (var i = 0; i < this.icons?.Count; i++) for (var i = 0; i < this.icons?.Count; i++)

View file

@ -1,4 +1,4 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
@ -63,6 +63,7 @@ internal class GamePrebakedFontsTestWidget : IDataWindowWidget, IDisposable
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
if (ImGui.Combo("Global Scale per Font"u8, ref this.fontScaleMode, FontScaleModes)) if (ImGui.Combo("Global Scale per Font"u8, ref this.fontScaleMode, FontScaleModes))
this.ClearAtlas(); this.ClearAtlas();
if (ImGui.Checkbox("Global Scale for Atlas"u8, ref this.atlasScaleMode)) if (ImGui.Checkbox("Global Scale for Atlas"u8, ref this.atlasScaleMode))
this.ClearAtlas(); this.ClearAtlas();
@ -82,7 +83,7 @@ internal class GamePrebakedFontsTestWidget : IDataWindowWidget, IDisposable
this.ClearAtlas(); this.ClearAtlas();
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Reset Text") || this.testStringBuffer.IsDisposed) if (ImGui.Button("Reset Text"u8) || this.testStringBuffer.IsDisposed)
{ {
this.testStringBuffer.Dispose(); this.testStringBuffer.Dispose();
this.testStringBuffer = ImVectorWrapper.CreateFromSpan( this.testStringBuffer = ImVectorWrapper.CreateFromSpan(
@ -91,10 +92,10 @@ internal class GamePrebakedFontsTestWidget : IDataWindowWidget, IDisposable
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Test Lock")) if (ImGui.Button("Test Lock"u8))
Task.Run(this.TestLock); Task.Run(this.TestLock);
if (ImGui.Button("Choose Editor Font")) if (ImGui.Button("Choose Editor Font"u8))
{ {
if (this.chooserDialog is null) if (this.chooserDialog is null)
{ {
@ -149,10 +150,10 @@ internal class GamePrebakedFontsTestWidget : IDataWindowWidget, IDisposable
if (this.chooserDialog is not null) if (this.chooserDialog is not null)
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted($"{this.chooserDialog.PopupPosition}, {this.chooserDialog.PopupSize}"); ImGui.Text($"{this.chooserDialog.PopupPosition}, {this.chooserDialog.PopupSize}");
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Random Location")) if (ImGui.Button("Random Location"u8))
{ {
var monitors = ImGui.GetPlatformIO().Monitors; var monitors = ImGui.GetPlatformIO().Monitors;
var monitor = monitors[Random.Shared.Next() % monitors.Size]; var monitor = monitors[Random.Shared.Next() % monitors.Size];
@ -236,7 +237,7 @@ internal class GamePrebakedFontsTestWidget : IDataWindowWidget, IDisposable
}) })
.ToArray()); .ToArray());
var offsetX = ImGui.CalcTextSize("99.9pt").X + (ImGui.GetStyle().FramePadding.X * 2); var offsetX = ImGui.CalcTextSize("99.9pt"u8).X + (ImGui.GetStyle().FramePadding.X * 2);
var counter = 0; var counter = 0;
foreach (var (family, items) in this.fontHandles) foreach (var (family, items) in this.fontHandles)
{ {
@ -245,18 +246,18 @@ internal class GamePrebakedFontsTestWidget : IDataWindowWidget, IDisposable
foreach (var (gfs, handle) in items) foreach (var (gfs, handle) in items)
{ {
ImGui.TextUnformatted($"{gfs.SizePt}pt"); ImGui.Text($"{gfs.SizePt}pt");
ImGui.SameLine(offsetX); ImGui.SameLine(offsetX);
ImGui.PushTextWrapPos(this.useWordWrap ? 0f : -1f); ImGui.PushTextWrapPos(this.useWordWrap ? 0f : -1f);
try try
{ {
if (handle.Value.LoadException is { } exc) if (handle.Value.LoadException is { } exc)
{ {
ImGui.TextUnformatted(exc.ToString()); ImGui.Text(exc.ToString());
} }
else if (!handle.Value.Available) else if (!handle.Value.Available)
{ {
ImGui.TextUnformatted("Loading..."u8[..(8 + ((Environment.TickCount / 200) % 3))]); ImGui.Text("Loading..."u8[..(8 + ((Environment.TickCount / 200) % 3))]);
} }
else else
{ {
@ -265,12 +266,12 @@ internal class GamePrebakedFontsTestWidget : IDataWindowWidget, IDisposable
if (counter++ % 2 == 0) if (counter++ % 2 == 0)
{ {
using var pushPop = handle.Value.Push(); using var pushPop = handle.Value.Push();
ImGui.TextUnformatted(this.testStringBuffer.DataSpan); ImGui.Text(this.testStringBuffer.DataSpan);
} }
else else
{ {
handle.Value.Push(); handle.Value.Push();
ImGui.TextUnformatted(this.testStringBuffer.DataSpan); ImGui.Text(this.testStringBuffer.DataSpan);
handle.Value.Pop(); handle.Value.Pop();
} }
} }

View file

@ -35,7 +35,7 @@ internal class GaugeWidget : IDataWindowWidget
var player = clientState.LocalPlayer; var player = clientState.LocalPlayer;
if (player == null) if (player == null)
{ {
ImGui.Text("Player is not present"); ImGui.Text("Player is not present"u8);
return; return;
} }
@ -68,7 +68,7 @@ internal class GaugeWidget : IDataWindowWidget
if (gauge == null) if (gauge == null)
{ {
ImGui.Text("No supported gauge exists for this job."); ImGui.Text("No supported gauge exists for this job."u8);
return; return;
} }

View file

@ -74,29 +74,29 @@ internal unsafe class HookWidget : IDataWindowWidget
{ {
try try
{ {
ImGui.Checkbox("Use MinHook (only for regular hooks, AsmHook is Reloaded-only)", ref this.hookUseMinHook); ImGui.Checkbox("Use MinHook (only for regular hooks, AsmHook is Reloaded-only)"u8, ref this.hookUseMinHook);
ImGui.Separator(); ImGui.Separator();
if (ImGui.Button("Create")) if (ImGui.Button("Create"u8))
this.messageBoxMinHook = Hook<MessageBoxWDelegate>.FromSymbol("User32", "MessageBoxW", this.MessageBoxWDetour, this.hookUseMinHook); this.messageBoxMinHook = Hook<MessageBoxWDelegate>.FromSymbol("User32", "MessageBoxW", this.MessageBoxWDetour, this.hookUseMinHook);
if (ImGui.Button("Enable")) if (ImGui.Button("Enable"u8))
this.messageBoxMinHook?.Enable(); this.messageBoxMinHook?.Enable();
if (ImGui.Button("Disable")) if (ImGui.Button("Disable"u8))
this.messageBoxMinHook?.Disable(); this.messageBoxMinHook?.Disable();
if (ImGui.Button("Call Original")) if (ImGui.Button("Call Original"u8))
this.messageBoxMinHook?.Original(IntPtr.Zero, "Hello from .Original", "Hook Test", MESSAGEBOX_STYLE.MB_OK); this.messageBoxMinHook?.Original(IntPtr.Zero, "Hello from .Original", "Hook Test", MESSAGEBOX_STYLE.MB_OK);
if (ImGui.Button("Dispose")) if (ImGui.Button("Dispose"u8))
{ {
this.messageBoxMinHook?.Dispose(); this.messageBoxMinHook?.Dispose();
this.messageBoxMinHook = null; this.messageBoxMinHook = null;
} }
if (ImGui.Button("Test")) if (ImGui.Button("Test"u8))
_ = global::Windows.Win32.PInvoke.MessageBox(HWND.Null, "Hi", "Hello", MESSAGEBOX_STYLE.MB_OK); _ = global::Windows.Win32.PInvoke.MessageBox(HWND.Null, "Hi", "Hello", MESSAGEBOX_STYLE.MB_OK);
if (this.messageBoxMinHook != null) if (this.messageBoxMinHook != null)
@ -105,15 +105,15 @@ internal unsafe class HookWidget : IDataWindowWidget
ImGui.Separator(); ImGui.Separator();
ImGui.BeginDisabled(this.hookStressTestRunning); ImGui.BeginDisabled(this.hookStressTestRunning);
ImGui.Text("Stress Test"); ImGui.Text("Stress Test"u8);
if (ImGui.InputInt("Max", ref this.hookStressTestMax)) if (ImGui.InputInt("Max"u8, ref this.hookStressTestMax))
this.hookStressTestCount = 0; this.hookStressTestCount = 0;
ImGui.InputInt("Wait (ms)", ref this.hookStressTestWait); ImGui.InputInt("Wait (ms)"u8, ref this.hookStressTestWait);
ImGui.InputInt("Max Degree of Parallelism", ref this.hookStressTestMaxDegreeOfParallelism); ImGui.InputInt("Max Degree of Parallelism"u8, ref this.hookStressTestMaxDegreeOfParallelism);
if (ImGui.BeginCombo("Target", HookTargetToString(this.hookStressTestHookTarget))) if (ImGui.BeginCombo("Target"u8, HookTargetToString(this.hookStressTestHookTarget)))
{ {
foreach (var target in Enum.GetValues<StressTestHookTarget>()) foreach (var target in Enum.GetValues<StressTestHookTarget>())
{ {
@ -124,7 +124,7 @@ internal unsafe class HookWidget : IDataWindowWidget
ImGui.EndCombo(); ImGui.EndCombo();
} }
if (ImGui.Button("Stress Test")) if (ImGui.Button("Stress Test"u8))
{ {
Task.Run(() => Task.Run(() =>
{ {
@ -165,7 +165,7 @@ internal unsafe class HookWidget : IDataWindowWidget
ImGui.EndDisabled(); ImGui.EndDisabled();
ImGui.TextUnformatted("Status: " + (this.hookStressTestRunning ? "Running" : "Idle")); ImGui.Text("Status: " + (this.hookStressTestRunning ? "Running" : "Idle"));
ImGui.ProgressBar(this.hookStressTestCount / (float)this.hookStressTestMax, new System.Numerics.Vector2(0, 0), $"{this.hookStressTestCount}/{this.hookStressTestMax}"); ImGui.ProgressBar(this.hookStressTestCount / (float)this.hookStressTestMax, new System.Numerics.Vector2(0, 0), $"{this.hookStressTestCount}/{this.hookStressTestMax}");
} }
catch (Exception ex) catch (Exception ex)

View file

@ -1,4 +1,4 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Numerics; using System.Numerics;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -72,17 +72,17 @@ public class IconBrowserWidget : IDataWindowWidget
if (!this.iconIdsTask.IsCompleted) if (!this.iconIdsTask.IsCompleted)
{ {
ImGui.TextUnformatted("Loading..."); ImGui.Text("Loading..."u8);
} }
else if (!this.iconIdsTask.IsCompletedSuccessfully) else if (!this.iconIdsTask.IsCompletedSuccessfully)
{ {
ImGui.TextUnformatted(this.iconIdsTask.Exception?.ToString() ?? "Unknown error"); ImGui.Text(this.iconIdsTask.Exception?.ToString() ?? "Unknown error");
} }
else else
{ {
this.RecalculateIndexRange(); this.RecalculateIndexRange();
if (ImGui.BeginChild("ScrollableSection", ImGui.GetContentRegionAvail(), false, ImGuiWindowFlags.NoMove)) if (ImGui.BeginChild("ScrollableSection"u8, ImGui.GetContentRegionAvail(), false, ImGuiWindowFlags.NoMove))
{ {
var itemsPerRow = (int)MathF.Floor( var itemsPerRow = (int)MathF.Floor(
ImGui.GetContentRegionMax().X / (this.iconSize.X + ImGui.GetStyle().ItemSpacing.X)); ImGui.GetContentRegionMax().X / (this.iconSize.X + ImGui.GetStyle().ItemSpacing.X));
@ -119,7 +119,7 @@ public class IconBrowserWidget : IDataWindowWidget
ImGui.Columns(2); ImGui.Columns(2);
ImGui.PushItemWidth(ImGui.GetContentRegionAvail().X); ImGui.PushItemWidth(ImGui.GetContentRegionAvail().X);
if (ImGui.InputInt("##StartRange", ref this.startRange, 0, 0)) if (ImGui.InputInt("##StartRange"u8, ref this.startRange, 0, 0))
{ {
this.startRange = Math.Clamp(this.startRange, 0, MaxIconId); this.startRange = Math.Clamp(this.startRange, 0, MaxIconId);
this.valueRange = null; this.valueRange = null;
@ -127,14 +127,14 @@ public class IconBrowserWidget : IDataWindowWidget
ImGui.NextColumn(); ImGui.NextColumn();
ImGui.PushItemWidth(ImGui.GetContentRegionAvail().X); ImGui.PushItemWidth(ImGui.GetContentRegionAvail().X);
if (ImGui.InputInt("##StopRange", ref this.stopRange, 0, 0)) if (ImGui.InputInt("##StopRange"u8, ref this.stopRange, 0, 0))
{ {
this.stopRange = Math.Clamp(this.stopRange, 0, MaxIconId); this.stopRange = Math.Clamp(this.stopRange, 0, MaxIconId);
this.valueRange = null; this.valueRange = null;
} }
ImGui.NextColumn(); ImGui.NextColumn();
ImGui.Checkbox("Show Image in Tooltip", ref this.showTooltipImage); ImGui.Checkbox("Show Image in Tooltip"u8, ref this.showTooltipImage);
ImGui.NextColumn(); ImGui.NextColumn();
ImGui.InputFloat2("Icon Size", ref this.editIconSize); ImGui.InputFloat2("Icon Size", ref this.editIconSize);
@ -204,7 +204,7 @@ public class IconBrowserWidget : IDataWindowWidget
} }
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
ImGui.SetTooltip($"{iconId}\n{exc}".Replace("%", "%%")); ImGui.SetTooltip($"{iconId}\n{exc}");
ImGui.GetWindowDrawList().AddRect( ImGui.GetWindowDrawList().AddRect(
cursor, cursor,

View file

@ -1,4 +1,4 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -49,29 +49,29 @@ internal class ImGuiWidget : IDataWindowWidget
ImGui.Text("Monitor count: " + ImGui.GetPlatformIO().Monitors.Size); ImGui.Text("Monitor count: " + ImGui.GetPlatformIO().Monitors.Size);
ImGui.Text("OverrideGameCursor: " + interfaceManager.OverrideGameCursor); ImGui.Text("OverrideGameCursor: " + interfaceManager.OverrideGameCursor);
ImGui.Button("THIS IS A BUTTON###hoverTestButton"); ImGui.Button("THIS IS A BUTTON###hoverTestButton"u8);
interfaceManager.OverrideGameCursor = !ImGui.IsItemHovered(); interfaceManager.OverrideGameCursor = !ImGui.IsItemHovered();
ImGui.Separator(); ImGui.Separator();
ImGui.TextUnformatted( ImGui.Text(
$"WindowSystem.TimeSinceLastAnyFocus: {WindowSystem.TimeSinceLastAnyFocus.TotalMilliseconds:0}ms"); $"WindowSystem.TimeSinceLastAnyFocus: {WindowSystem.TimeSinceLastAnyFocus.TotalMilliseconds:0}ms");
ImGui.Separator(); ImGui.Separator();
ImGui.Checkbox("##manualContent", ref this.notificationTemplate.ManualContent); ImGui.Checkbox("##manualContent"u8, ref this.notificationTemplate.ManualContent);
ImGui.SameLine(); ImGui.SameLine();
ImGui.InputText("Content##content", ref this.notificationTemplate.Content, 255); ImGui.InputText("Content##content"u8, ref this.notificationTemplate.Content, 255);
ImGui.Checkbox("##manualTitle", ref this.notificationTemplate.ManualTitle); ImGui.Checkbox("##manualTitle"u8, ref this.notificationTemplate.ManualTitle);
ImGui.SameLine(); ImGui.SameLine();
ImGui.InputText("Title##title", ref this.notificationTemplate.Title, 255); ImGui.InputText("Title##title"u8, ref this.notificationTemplate.Title, 255);
ImGui.Checkbox("##manualMinimizedText", ref this.notificationTemplate.ManualMinimizedText); ImGui.Checkbox("##manualMinimizedText"u8, ref this.notificationTemplate.ManualMinimizedText);
ImGui.SameLine(); ImGui.SameLine();
ImGui.InputText("MinimizedText##minimizedText", ref this.notificationTemplate.MinimizedText, 255); ImGui.InputText("MinimizedText##minimizedText"u8, ref this.notificationTemplate.MinimizedText, 255);
ImGui.Checkbox("##manualType", ref this.notificationTemplate.ManualType); ImGui.Checkbox("##manualType"u8, ref this.notificationTemplate.ManualType);
ImGui.SameLine(); ImGui.SameLine();
ImGui.Combo("Type##type", ref this.notificationTemplate.TypeInt, NotificationTemplate.TypeTitles); ImGui.Combo("Type##type", ref this.notificationTemplate.TypeInt, NotificationTemplate.TypeTitles);
@ -80,7 +80,7 @@ internal class ImGuiWidget : IDataWindowWidget
{ {
case 1 or 2: case 1 or 2:
ImGui.InputText( ImGui.InputText(
"Icon Text##iconText", "Icon Text##iconText"u8,
ref this.notificationTemplate.IconText, ref this.notificationTemplate.IconText,
255); 255);
break; break;
@ -92,13 +92,13 @@ internal class ImGuiWidget : IDataWindowWidget
break; break;
case 3 or 7: case 3 or 7:
ImGui.InputText( ImGui.InputText(
"Game Path##iconText", "Game Path##iconText"u8,
ref this.notificationTemplate.IconText, ref this.notificationTemplate.IconText,
255); 255);
break; break;
case 4 or 8: case 4 or 8:
ImGui.InputText( ImGui.InputText(
"File Path##iconText", "File Path##iconText"u8,
ref this.notificationTemplate.IconText, ref this.notificationTemplate.IconText,
255); 255);
break; break;
@ -119,19 +119,19 @@ internal class ImGuiWidget : IDataWindowWidget
ref this.notificationTemplate.ProgressMode, ref this.notificationTemplate.ProgressMode,
NotificationTemplate.ProgressModeTitles); NotificationTemplate.ProgressModeTitles);
ImGui.Checkbox("Respect UI Hidden", ref this.notificationTemplate.RespectUiHidden); ImGui.Checkbox("Respect UI Hidden"u8, ref this.notificationTemplate.RespectUiHidden);
ImGui.Checkbox("Minimized", ref this.notificationTemplate.Minimized); ImGui.Checkbox("Minimized"u8, ref this.notificationTemplate.Minimized);
ImGui.Checkbox("Show Indeterminate If No Expiry", ref this.notificationTemplate.ShowIndeterminateIfNoExpiry); ImGui.Checkbox("Show Indeterminate If No Expiry"u8, ref this.notificationTemplate.ShowIndeterminateIfNoExpiry);
ImGui.Checkbox("User Dismissable", ref this.notificationTemplate.UserDismissable); ImGui.Checkbox("User Dismissable"u8, ref this.notificationTemplate.UserDismissable);
ImGui.Checkbox( ImGui.Checkbox(
"Action Bar (always on if not user dismissable for the example)", "Action Bar (always on if not user dismissable for the example)"u8,
ref this.notificationTemplate.ActionBar); ref this.notificationTemplate.ActionBar);
if (ImGui.Button("Add notification")) if (ImGui.Button("Add notification"u8))
{ {
var text = var text =
"Bla bla bla bla bla bla bla bla bla bla bla.\nBla bla bla bla bla bla bla bla bla bla bla bla bla bla."; "Bla bla bla bla bla bla bla bla bla bla bla.\nBla bla bla bla bla bla bla bla bla bla bla bla bla bla.";
@ -266,10 +266,10 @@ internal class ImGuiWidget : IDataWindowWidget
n.DrawActions += an => n.DrawActions += an =>
{ {
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted($"{nclick}"); ImGui.Text($"{nclick}");
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Update")) if (ImGui.Button("Update"u8))
{ {
NewRandom(out title, out type, out progress); NewRandom(out title, out type, out progress);
an.Notification.Title = title; an.Notification.Title = title;
@ -278,18 +278,18 @@ internal class ImGuiWidget : IDataWindowWidget
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Dismiss")) if (ImGui.Button("Dismiss"u8))
an.Notification.DismissNow(); an.Notification.DismissNow();
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetNextItemWidth(an.MaxCoord.X - ImGui.GetCursorPosX()); ImGui.SetNextItemWidth(an.MaxCoord.X - ImGui.GetCursorPosX());
ImGui.InputText("##input", ref testString, 255); ImGui.InputText("##input"u8, ref testString, 255);
}; };
} }
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Replace images using setter")) if (ImGui.Button("Replace images using setter"u8))
{ {
foreach (var n in this.notifications) foreach (var n in this.notifications)
{ {

View file

@ -5,7 +5,6 @@ using System.Text;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Data; using Dalamud.Data;
using Dalamud.Game.Inventory; using Dalamud.Game.Inventory;
using Dalamud.Game.Text;
using Dalamud.Interface.Textures; using Dalamud.Interface.Textures;
using Dalamud.Interface.Textures.Internal; using Dalamud.Interface.Textures.Internal;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
@ -63,11 +62,11 @@ internal class InventoryWidget : IDataWindowWidget
private unsafe void DrawInventoryTypeList() private unsafe void DrawInventoryTypeList()
{ {
using var table = ImRaii.Table("InventoryTypeTable", 2, ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoSavedSettings, new Vector2(300, -1)); using var table = ImRaii.Table("InventoryTypeTable"u8, 2, ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoSavedSettings, new Vector2(300, -1));
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Type"); ImGui.TableSetupColumn("Type"u8);
ImGui.TableSetupColumn("Size", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Size"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupScrollFreeze(2, 1); ImGui.TableSetupScrollFreeze(2, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -88,12 +87,12 @@ internal class InventoryWidget : IDataWindowWidget
{ {
if (contextMenu) if (contextMenu)
{ {
if (ImGui.MenuItem("Copy Name")) if (ImGui.MenuItem("Copy Name"u8))
{ {
ImGui.SetClipboardText(inventoryType.ToString()); ImGui.SetClipboardText(inventoryType.ToString());
} }
if (ImGui.MenuItem("Copy Address")) if (ImGui.MenuItem("Copy Address"u8))
{ {
var container = InventoryManager.Instance()->GetInventoryContainer((InventoryType)inventoryType); var container = InventoryManager.Instance()->GetInventoryContainer((InventoryType)inventoryType);
ImGui.SetClipboardText($"0x{(nint)container:X}"); ImGui.SetClipboardText($"0x{(nint)container:X}");
@ -102,7 +101,7 @@ internal class InventoryWidget : IDataWindowWidget
} }
ImGui.TableNextColumn(); // Size ImGui.TableNextColumn(); // Size
ImGui.TextUnformatted(items.Length.ToString()); ImGui.Text(items.Length.ToString());
} }
} }
@ -111,16 +110,16 @@ internal class InventoryWidget : IDataWindowWidget
var items = GameInventoryItem.GetReadOnlySpanOfInventory(inventoryType); var items = GameInventoryItem.GetReadOnlySpanOfInventory(inventoryType);
if (items.IsEmpty) if (items.IsEmpty)
{ {
ImGui.TextUnformatted($"{inventoryType} is empty."); ImGui.Text($"{inventoryType} is empty.");
return; return;
} }
using var itemTable = ImRaii.Table("InventoryItemTable", 4, ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoSavedSettings); using var itemTable = ImRaii.Table("InventoryItemTable"u8, 4, ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoSavedSettings);
if (!itemTable) return; if (!itemTable) return;
ImGui.TableSetupColumn("Slot", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Slot"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupColumn("ItemId", ImGuiTableColumnFlags.WidthFixed, 70); ImGui.TableSetupColumn("ItemId"u8, ImGuiTableColumnFlags.WidthFixed, 70);
ImGui.TableSetupColumn("Quantity", ImGuiTableColumnFlags.WidthFixed, 70); ImGui.TableSetupColumn("Quantity"u8, ImGuiTableColumnFlags.WidthFixed, 70);
ImGui.TableSetupColumn("Item"); ImGui.TableSetupColumn("Item"u8);
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -132,7 +131,7 @@ internal class InventoryWidget : IDataWindowWidget
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); // Slot ImGui.TableNextColumn(); // Slot
ImGui.TextUnformatted(slotIndex.ToString()); ImGui.Text(slotIndex.ToString());
ImGui.TableNextColumn(); // ItemId ImGui.TableNextColumn(); // ItemId
ImGuiHelpers.ClickToCopyText(item.ItemId.ToString()); ImGuiHelpers.ClickToCopyText(item.ItemId.ToString());
@ -154,8 +153,8 @@ internal class InventoryWidget : IDataWindowWidget
{ {
ImGui.SetMouseCursor(ImGuiMouseCursor.Hand); ImGui.SetMouseCursor(ImGuiMouseCursor.Hand);
ImGui.BeginTooltip(); ImGui.BeginTooltip();
ImGui.TextUnformatted("Click to copy IconId"); ImGui.Text("Click to copy IconId"u8);
ImGui.TextUnformatted($"ID: {iconId} Size: {texture.Width}x{texture.Height}"); ImGui.Text($"ID: {iconId} Size: {texture.Width}x{texture.Height}");
ImGui.Image(texture.Handle, new(texture.Width, texture.Height)); ImGui.Image(texture.Handle, new(texture.Width, texture.Height));
ImGui.EndTooltip(); ImGui.EndTooltip();
} }
@ -174,7 +173,7 @@ internal class InventoryWidget : IDataWindowWidget
{ {
if (contextMenu) if (contextMenu)
{ {
if (ImGui.MenuItem("Copy Name")) if (ImGui.MenuItem("Copy Name"u8))
{ {
ImGui.SetClipboardText(itemName); ImGui.SetClipboardText(itemName);
} }
@ -186,15 +185,15 @@ internal class InventoryWidget : IDataWindowWidget
using var itemInfoTable = ImRaii.Table($"{inventoryType}_{slotIndex}_Table", 2, ImGuiTableFlags.BordersInner | ImGuiTableFlags.NoSavedSettings); using var itemInfoTable = ImRaii.Table($"{inventoryType}_{slotIndex}_Table", 2, ImGuiTableFlags.BordersInner | ImGuiTableFlags.NoSavedSettings);
if (!itemInfoTable) continue; if (!itemInfoTable) continue;
ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthFixed, 150); ImGui.TableSetupColumn("Name"u8, ImGuiTableColumnFlags.WidthFixed, 150);
ImGui.TableSetupColumn("Value"); ImGui.TableSetupColumn("Value"u8);
// ImGui.TableHeadersRow(); // ImGui.TableHeadersRow();
static void AddKeyValueRow(string fieldName, string value) static void AddKeyValueRow(string fieldName, string value)
{ {
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(fieldName); ImGui.Text(fieldName);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGuiHelpers.ClickToCopyText(value); ImGuiHelpers.ClickToCopyText(value);
} }
@ -262,14 +261,14 @@ internal class InventoryWidget : IDataWindowWidget
{ {
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted("Stains"); ImGui.Text("Stains"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
using var stainTable = ImRaii.Table($"{inventoryType}_{slotIndex}_StainTable", 2, ImGuiTableFlags.BordersInner | ImGuiTableFlags.NoSavedSettings); using var stainTable = ImRaii.Table($"{inventoryType}_{slotIndex}_StainTable", 2, ImGuiTableFlags.BordersInner | ImGuiTableFlags.NoSavedSettings);
if (!stainTable) continue; if (!stainTable) continue;
ImGui.TableSetupColumn("Stain Id", ImGuiTableColumnFlags.WidthFixed, 80); ImGui.TableSetupColumn("Stain Id"u8, ImGuiTableColumnFlags.WidthFixed, 80);
ImGui.TableSetupColumn("Name"); ImGui.TableSetupColumn("Name"u8);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
for (var i = 0; i < itemRow.DyeCount; i++) for (var i = 0; i < itemRow.DyeCount; i++)
@ -283,14 +282,14 @@ internal class InventoryWidget : IDataWindowWidget
{ {
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted("Materia"); ImGui.Text("Materia"u8);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
using var materiaTable = ImRaii.Table($"{inventoryType}_{slotIndex}_MateriaTable", 2, ImGuiTableFlags.BordersInner | ImGuiTableFlags.NoSavedSettings); using var materiaTable = ImRaii.Table($"{inventoryType}_{slotIndex}_MateriaTable", 2, ImGuiTableFlags.BordersInner | ImGuiTableFlags.NoSavedSettings);
if (!materiaTable) continue; if (!materiaTable) continue;
ImGui.TableSetupColumn("Materia Id", ImGuiTableColumnFlags.WidthFixed, 80); ImGui.TableSetupColumn("Materia Id"u8, ImGuiTableColumnFlags.WidthFixed, 80);
ImGui.TableSetupColumn("MateriaGrade Id"); ImGui.TableSetupColumn("MateriaGrade Id"u8);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
for (var i = 0; i < Math.Min(itemRow.MateriaSlotCount, item.Materia.Length); i++) for (var i = 0; i < Math.Min(itemRow.MateriaSlotCount, item.Materia.Length); i++)

View file

@ -69,7 +69,7 @@ internal class MarketBoardWidget : IDataWindowWidget
public void Draw() public void Draw()
{ {
var marketBoard = Service<MarketBoard>.Get(); var marketBoard = Service<MarketBoard>.Get();
if (ImGui.Checkbox("Track MarketBoard Events", ref this.trackMarketBoard)) if (ImGui.Checkbox("Track MarketBoard Events"u8, ref this.trackMarketBoard))
{ {
if (this.trackMarketBoard) if (this.trackMarketBoard)
{ {
@ -90,21 +90,21 @@ internal class MarketBoardWidget : IDataWindowWidget
} }
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X / 2); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X / 2);
if (ImGui.DragInt("Stored Number of Events", ref this.trackedEvents, 0.1f, 1, 512)) if (ImGui.DragInt("Stored Number of Events"u8, ref this.trackedEvents, 0.1f, 1, 512))
{ {
this.trackedEvents = Math.Clamp(this.trackedEvents, 1, 512); this.trackedEvents = Math.Clamp(this.trackedEvents, 1, 512);
} }
if (ImGui.Button("Clear Stored Events")) if (ImGui.Button("Clear Stored Events"u8))
{ {
this.marketBoardHistoryQueue.Clear(); this.marketBoardHistoryQueue.Clear();
} }
using (var tabBar = ImRaii.TabBar("marketTabs")) using (var tabBar = ImRaii.TabBar("marketTabs"u8))
{ {
if (tabBar) if (tabBar)
{ {
using (var tabItem = ImRaii.TabItem("History")) using (var tabItem = ImRaii.TabItem("History"u8))
{ {
if (tabItem) if (tabItem)
{ {
@ -112,7 +112,7 @@ internal class MarketBoardWidget : IDataWindowWidget
} }
} }
using (var tabItem = ImRaii.TabItem("Offerings")) using (var tabItem = ImRaii.TabItem("Offerings"u8))
{ {
if (tabItem) if (tabItem)
{ {
@ -120,7 +120,7 @@ internal class MarketBoardWidget : IDataWindowWidget
} }
} }
using (var tabItem = ImRaii.TabItem("Purchases")) using (var tabItem = ImRaii.TabItem("Purchases"u8))
{ {
if (tabItem) if (tabItem)
{ {
@ -128,7 +128,7 @@ internal class MarketBoardWidget : IDataWindowWidget
} }
} }
using (var tabItem = ImRaii.TabItem("Purchase Requests")) using (var tabItem = ImRaii.TabItem("Purchase Requests"u8))
{ {
if (tabItem) if (tabItem)
{ {
@ -136,7 +136,7 @@ internal class MarketBoardWidget : IDataWindowWidget
} }
} }
using (var tabItem = ImRaii.TabItem("Taxes")) using (var tabItem = ImRaii.TabItem("Taxes"u8))
{ {
if (tabItem) if (tabItem)
{ {
@ -206,105 +206,105 @@ internal class MarketBoardWidget : IDataWindowWidget
private void DrawMarketBoardHistory((IMarketBoardHistory History, IMarketBoardHistoryListing Listing) data) private void DrawMarketBoardHistory((IMarketBoardHistory History, IMarketBoardHistoryListing Listing) data)
{ {
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.History.ItemId.ToString()); ImGui.Text(data.History.ItemId.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.Quantity.ToString()); ImGui.Text(data.Listing.Quantity.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.IsHq.ToString()); ImGui.Text(data.Listing.IsHq.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.SalePrice.ToString()); ImGui.Text(data.Listing.SalePrice.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.BuyerName); ImGui.Text(data.Listing.BuyerName);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.PurchaseTime.ToString(CultureInfo.InvariantCulture)); ImGui.Text(data.Listing.PurchaseTime.ToString(CultureInfo.InvariantCulture));
} }
private void DrawMarketBoardCurrentOfferings((IMarketBoardCurrentOfferings MarketBoardCurrentOfferings, IMarketBoardItemListing Listing) data) private void DrawMarketBoardCurrentOfferings((IMarketBoardCurrentOfferings MarketBoardCurrentOfferings, IMarketBoardItemListing Listing) data)
{ {
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.ItemId.ToString()); ImGui.Text(data.Listing.ItemId.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.ItemQuantity.ToString()); ImGui.Text(data.Listing.ItemQuantity.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.IsHq.ToString()); ImGui.Text(data.Listing.IsHq.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.PricePerUnit.ToString()); ImGui.Text(data.Listing.PricePerUnit.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Listing.RetainerName); ImGui.Text(data.Listing.RetainerName);
} }
private void DrawMarketBoardPurchases(IMarketBoardPurchase data) private void DrawMarketBoardPurchases(IMarketBoardPurchase data)
{ {
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.CatalogId.ToString()); ImGui.Text(data.CatalogId.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.ItemQuantity.ToString()); ImGui.Text(data.ItemQuantity.ToString());
} }
private void DrawMarketBoardPurchaseRequests(IMarketBoardPurchaseHandler data) private void DrawMarketBoardPurchaseRequests(IMarketBoardPurchaseHandler data)
{ {
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.CatalogId.ToString()); ImGui.Text(data.CatalogId.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.IsHq.ToString()); ImGui.Text(data.IsHq.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.ItemQuantity.ToString()); ImGui.Text(data.ItemQuantity.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.PricePerUnit.ToString()); ImGui.Text(data.PricePerUnit.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.TotalTax.ToString()); ImGui.Text(data.TotalTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.RetainerCityId.ToString()); ImGui.Text(data.RetainerCityId.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.ListingId.ToString()); ImGui.Text(data.ListingId.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.RetainerId.ToString()); ImGui.Text(data.RetainerId.ToString());
} }
private void DrawMarketTaxRates(IMarketTaxRates data) private void DrawMarketTaxRates(IMarketTaxRates data)
{ {
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.UldahTax.ToString()); ImGui.Text(data.UldahTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.LimsaLominsaTax.ToString()); ImGui.Text(data.LimsaLominsaTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.GridaniaTax.ToString()); ImGui.Text(data.GridaniaTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.IshgardTax.ToString()); ImGui.Text(data.IshgardTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.KuganeTax.ToString()); ImGui.Text(data.KuganeTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.CrystariumTax.ToString()); ImGui.Text(data.CrystariumTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.SharlayanTax.ToString()); ImGui.Text(data.SharlayanTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.TuliyollalTax.ToString()); ImGui.Text(data.TuliyollalTax.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.ValidUntil.ToString(CultureInfo.InvariantCulture)); ImGui.Text(data.ValidUntil.ToString(CultureInfo.InvariantCulture));
} }
} }

View file

@ -65,7 +65,7 @@ internal class NetworkMonitorWidget : IDataWindowWidget
public void Draw() public void Draw()
{ {
var network = Service<GameNetwork>.Get(); var network = Service<GameNetwork>.Get();
if (ImGui.Checkbox("Track Network Packets", ref this.trackNetwork)) if (ImGui.Checkbox("Track Network Packets"u8, ref this.trackNetwork))
{ {
if (this.trackNetwork) if (this.trackNetwork)
{ {
@ -78,12 +78,12 @@ internal class NetworkMonitorWidget : IDataWindowWidget
} }
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X / 2); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X / 2);
if (ImGui.DragInt("Stored Number of Packets", ref this.trackedPackets, 0.1f, 1, 512)) if (ImGui.DragInt("Stored Number of Packets"u8, ref this.trackedPackets, 0.1f, 1, 512))
{ {
this.trackedPackets = Math.Clamp(this.trackedPackets, 1, 512); this.trackedPackets = Math.Clamp(this.trackedPackets, 1, 512);
} }
if (ImGui.Button("Clear Stored Packets")) if (ImGui.Button("Clear Stored Packets"u8))
{ {
this.packets.Clear(); this.packets.Clear();
} }
@ -97,24 +97,24 @@ internal class NetworkMonitorWidget : IDataWindowWidget
private void DrawNetworkPacket(NetworkPacketData data) private void DrawNetworkPacket(NetworkPacketData data)
{ {
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.Direction.ToString()); ImGui.Text(data.Direction.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.OpCode.ToString()); ImGui.Text(data.OpCode.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted($"0x{data.OpCode:X4}"); ImGui.Text($"0x{data.OpCode:X4}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.TargetActorId > 0 ? $"0x{data.TargetActorId:X}" : string.Empty); ImGui.Text(data.TargetActorId > 0 ? $"0x{data.TargetActorId:X}" : string.Empty);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(data.SourceActorId > 0 ? $"0x{data.SourceActorId:X}" : string.Empty); ImGui.Text(data.SourceActorId > 0 ? $"0x{data.SourceActorId:X}" : string.Empty);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (data.Data.Count > 0) if (data.Data.Count > 0)
{ {
ImGui.TextUnformatted(string.Join(" ", data.Data.Select(b => b.ToString("X2")))); ImGui.Text(string.Join(" ", data.Data.Select(b => b.ToString("X2"))));
} }
else else
{ {
@ -128,7 +128,7 @@ internal class NetworkMonitorWidget : IDataWindowWidget
using var style = ImRaii.PushStyle(ImGuiStyleVar.FrameBorderSize, 2 * ImGuiHelpers.GlobalScale, invalidRegEx); using var style = ImRaii.PushStyle(ImGuiStyleVar.FrameBorderSize, 2 * ImGuiHelpers.GlobalScale, invalidRegEx);
using var color = ImRaii.PushColor(ImGuiCol.Border, 0xFF0000FF, invalidRegEx); using var color = ImRaii.PushColor(ImGuiCol.Border, 0xFF0000FF, invalidRegEx);
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
if (!ImGui.InputTextWithHint("##Filter", "Regex Filter OpCodes...", ref this.filterString, 1024)) if (!ImGui.InputTextWithHint("##Filter"u8, "Regex Filter OpCodes..."u8, ref this.filterString, 1024))
{ {
return; return;
} }
@ -156,7 +156,7 @@ internal class NetworkMonitorWidget : IDataWindowWidget
using var style = ImRaii.PushStyle(ImGuiStyleVar.FrameBorderSize, 2 * ImGuiHelpers.GlobalScale, invalidRegEx); using var style = ImRaii.PushStyle(ImGuiStyleVar.FrameBorderSize, 2 * ImGuiHelpers.GlobalScale, invalidRegEx);
using var color = ImRaii.PushColor(ImGuiCol.Border, 0xFF0000FF, invalidRegEx); using var color = ImRaii.PushColor(ImGuiCol.Border, 0xFF0000FF, invalidRegEx);
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
if (!ImGui.InputTextWithHint("##NegativeFilter", "Regex Filter Against OpCodes...", ref this.negativeFilterString, 1024)) if (!ImGui.InputTextWithHint("##NegativeFilter"u8, "Regex Filter Against OpCodes..."u8, ref this.negativeFilterString, 1024))
{ {
return; return;
} }

View file

@ -117,7 +117,7 @@ internal class NounProcessorWidget : IDataWindowWidget
} }
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted($"(Range: {minRowId} - {maxRowId})"); ImGui.Text($"(Range: {minRowId} - {maxRowId})");
ImGui.SetNextItemWidth(120); ImGui.SetNextItemWidth(120);
if (ImGui.InputInt("Amount###Amount", ref this.amount, 1, 10, flags: ImGuiInputTextFlags.AutoSelectAll)) if (ImGui.InputInt("Amount###Amount", ref this.amount, 1, 10, flags: ImGuiInputTextFlags.AutoSelectAll))
@ -137,7 +137,7 @@ internal class NounProcessorWidget : IDataWindowWidget
var numCases = language == ClientLanguage.German ? 4 : 1; var numCases = language == ClientLanguage.German ? 4 : 1;
#if DEBUG #if DEBUG
if (ImGui.Button("Copy as self-test entry")) if (ImGui.Button("Copy as self-test entry"u8))
{ {
var sb = new StringBuilder(); var sb = new StringBuilder();
@ -164,10 +164,10 @@ internal class NounProcessorWidget : IDataWindowWidget
} }
#endif #endif
using var table = ImRaii.Table("TextDecoderTable", 1 + numCases, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.NoSavedSettings); using var table = ImRaii.Table("TextDecoderTable"u8, 1 + numCases, ImGuiTableFlags.ScrollY | ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.NoSavedSettings);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("ArticleType", ImGuiTableColumnFlags.WidthFixed, 150); ImGui.TableSetupColumn("ArticleType"u8, ImGuiTableColumnFlags.WidthFixed, 150);
for (var i = 0; i < numCases; i++) for (var i = 0; i < numCases; i++)
ImGui.TableSetupColumn(language == ClientLanguage.German ? GermanCases[i] : "Text"); ImGui.TableSetupColumn(language == ClientLanguage.German ? GermanCases[i] : "Text");
ImGui.TableSetupScrollFreeze(6, 1); ImGui.TableSetupScrollFreeze(6, 1);
@ -194,11 +194,11 @@ internal class NounProcessorWidget : IDataWindowWidget
ArticleType = (int)articleType, ArticleType = (int)articleType,
GrammaticalCase = currentCase, GrammaticalCase = currentCase,
}; };
ImGui.TextUnformatted(nounProcessor.ProcessNoun(nounParams).ExtractText()); ImGui.Text(nounProcessor.ProcessNoun(nounParams).ExtractText());
} }
catch (Exception ex) catch (Exception ex)
{ {
ImGui.TextUnformatted(ex.ToString()); ImGui.Text(ex.ToString());
} }
} }
} }

View file

@ -35,7 +35,7 @@ internal class ObjectTableWidget : IDataWindowWidget
/// <inheritdoc/> /// <inheritdoc/>
public void Draw() public void Draw()
{ {
ImGui.Checkbox("Resolve GameData", ref this.resolveGameData); ImGui.Checkbox("Resolve GameData"u8, ref this.resolveGameData);
var chatGui = Service<ChatGui>.Get(); var chatGui = Service<ChatGui>.Get();
var clientState = Service<ClientState>.Get(); var clientState = Service<ClientState>.Get();
@ -46,11 +46,11 @@ internal class ObjectTableWidget : IDataWindowWidget
if (clientState.LocalPlayer == null) if (clientState.LocalPlayer == null)
{ {
ImGui.TextUnformatted("LocalPlayer null."); ImGui.Text("LocalPlayer null."u8);
} }
else if (clientState.IsPvPExcludingDen) else if (clientState.IsPvPExcludingDen)
{ {
ImGui.TextUnformatted("Cannot access object table while in PvP."); ImGui.Text("Cannot access object table while in PvP."u8);
} }
else else
{ {
@ -62,10 +62,10 @@ internal class ObjectTableWidget : IDataWindowWidget
stateString += $"LastLinkedItem: {chatGui.LastLinkedItemId}\n"; stateString += $"LastLinkedItem: {chatGui.LastLinkedItemId}\n";
stateString += $"TerritoryType: {clientState.TerritoryType}\n\n"; stateString += $"TerritoryType: {clientState.TerritoryType}\n\n";
ImGui.TextUnformatted(stateString); ImGui.Text(stateString);
ImGui.Checkbox("Draw characters on screen", ref this.drawCharacters); ImGui.Checkbox("Draw characters on screen"u8, ref this.drawCharacters);
ImGui.SliderFloat("Draw Distance", ref this.maxCharaDrawDistance, 2f, 40f); ImGui.SliderFloat("Draw Distance"u8, ref this.maxCharaDrawDistance, 2f, 40f);
for (var i = 0; i < objectTable.Length; i++) for (var i = 0; i < objectTable.Length; i++)
{ {

View file

@ -31,7 +31,7 @@ internal class PartyListWidget : IDataWindowWidget
{ {
var partyList = Service<PartyList>.Get(); var partyList = Service<PartyList>.Get();
ImGui.Checkbox("Resolve GameData", ref this.resolveGameData); ImGui.Checkbox("Resolve GameData"u8, ref this.resolveGameData);
ImGui.Text($"GroupManager: {partyList.GroupManagerAddress.ToInt64():X}"); ImGui.Text($"GroupManager: {partyList.GroupManagerAddress.ToInt64():X}");
ImGui.Text($"GroupList: {partyList.GroupListAddress.ToInt64():X}"); ImGui.Text($"GroupList: {partyList.GroupListAddress.ToInt64():X}");
@ -54,7 +54,7 @@ internal class PartyListWidget : IDataWindowWidget
var actor = member.GameObject; var actor = member.GameObject;
if (actor == null) if (actor == null)
{ {
ImGui.Text("Actor was null"); ImGui.Text("Actor was null"u8);
} }
else else
{ {

View file

@ -94,27 +94,27 @@ internal class PluginIpcWidget : IDataWindowWidget
this.ipcSubGo.Subscribe(go => { Log.Information("GO: {Name}", go.Name); }); this.ipcSubGo.Subscribe(go => { Log.Information("GO: {Name}", go.Name); });
} }
if (ImGui.Button("PING")) if (ImGui.Button("PING"u8))
{ {
this.ipcPub.SendMessage("PING"); this.ipcPub.SendMessage("PING");
} }
if (ImGui.Button("Action")) if (ImGui.Button("Action"u8))
{ {
this.ipcSub.InvokeAction("button1"); this.ipcSub.InvokeAction("button1");
} }
if (ImGui.Button("Func")) if (ImGui.Button("Func"u8))
{ {
this.callGateResponse = this.ipcSub.InvokeFunc("button2"); this.callGateResponse = this.ipcSub.InvokeFunc("button2");
} }
if (ImGui.Button("Action GO")) if (ImGui.Button("Action GO"u8))
{ {
this.ipcSubGo.InvokeAction(Service<ClientState>.Get().LocalPlayer); this.ipcSubGo.InvokeAction(Service<ClientState>.Get().LocalPlayer);
} }
if (ImGui.Button("Func GO")) if (ImGui.Button("Func GO"u8))
{ {
this.callGateResponse = this.ipcSubGo.InvokeFunc(Service<ClientState>.Get().LocalPlayer); this.callGateResponse = this.ipcSubGo.InvokeFunc(Service<ClientState>.Get().LocalPlayer);
} }

View file

@ -36,6 +36,6 @@ internal class SeFontTestWidget : IDataWindowWidget
for (var i = min; i <= max; i++) for (var i = min; i <= max; i++)
specialChars += $"0x{(int)i:X} - {(SeIconChar)i} - {i}\n"; specialChars += $"0x{(int)i:X} - {(SeIconChar)i} - {i}\n";
ImGui.TextUnformatted(specialChars); ImGui.Text(specialChars);
} }
} }

View file

@ -191,7 +191,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
this.lastContentWidth = contentWidth; this.lastContentWidth = contentWidth;
} }
using var tabBar = ImRaii.TabBar("SeStringCreatorWidgetTabBar"); using var tabBar = ImRaii.TabBar("SeStringCreatorWidgetTabBar"u8);
if (!tabBar) return; if (!tabBar) return;
this.DrawCreatorTab(contentWidth); this.DrawCreatorTab(contentWidth);
@ -200,7 +200,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
private void DrawCreatorTab(float contentWidth) private void DrawCreatorTab(float contentWidth)
{ {
using var tab = ImRaii.TabItem("Creator"); using var tab = ImRaii.TabItem("Creator"u8);
if (!tab) return; if (!tab) return;
this.DrawControls(); this.DrawControls();
@ -216,7 +216,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.Button("###InputPanelResizer", new Vector2(4, -1)); ImGui.Button("###InputPanelResizer"u8, new Vector2(4, -1));
if (ImGui.IsItemActive()) if (ImGui.IsItemActive())
{ {
this.inputsWidth += ImGui.GetIO().MouseDelta.X; this.inputsWidth += ImGui.GetIO().MouseDelta.X;
@ -234,7 +234,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
using var child = ImRaii.Child("Preview", new Vector2(ImGui.GetContentRegionAvail().X, -1)); using var child = ImRaii.Child("Preview"u8, new Vector2(ImGui.GetContentRegionAvail().X, -1));
if (!child) return; if (!child) return;
if (this.localParameters!.Length != 0) if (this.localParameters!.Length != 0)
@ -251,17 +251,17 @@ internal class SeStringCreatorWidget : IDataWindowWidget
private unsafe void DrawGlobalParametersTab() private unsafe void DrawGlobalParametersTab()
{ {
using var tab = ImRaii.TabItem("Global Parameters"); using var tab = ImRaii.TabItem("Global Parameters"u8);
if (!tab) return; if (!tab) return;
using var table = ImRaii.Table("GlobalParametersTable", 5, ImGuiTableFlags.Borders | ImGuiTableFlags.RowBg | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoSavedSettings); using var table = ImRaii.Table("GlobalParametersTable"u8, 5, ImGuiTableFlags.Borders | ImGuiTableFlags.RowBg | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoSavedSettings);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Id", ImGuiTableColumnFlags.WidthFixed, 40); ImGui.TableSetupColumn("Id"u8, ImGuiTableColumnFlags.WidthFixed, 40);
ImGui.TableSetupColumn("Type", ImGuiTableColumnFlags.WidthFixed, 100); ImGui.TableSetupColumn("Type"u8, ImGuiTableColumnFlags.WidthFixed, 100);
ImGui.TableSetupColumn("ValuePtr", ImGuiTableColumnFlags.WidthFixed, 120); ImGui.TableSetupColumn("ValuePtr"u8, ImGuiTableColumnFlags.WidthFixed, 120);
ImGui.TableSetupColumn("Value", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Value"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("Description", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Description"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupScrollFreeze(5, 1); ImGui.TableSetupScrollFreeze(5, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -272,10 +272,10 @@ internal class SeStringCreatorWidget : IDataWindowWidget
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); // Id ImGui.TableNextColumn(); // Id
ImGui.TextUnformatted(i.ToString()); ImGui.Text(i.ToString());
ImGui.TableNextColumn(); // Type ImGui.TableNextColumn(); // Type
ImGui.TextUnformatted(item.Type.ToString()); ImGui.Text(item.Type.ToString());
ImGui.TableNextColumn(); // ValuePtr ImGui.TableNextColumn(); // ValuePtr
WidgetUtil.DrawCopyableText($"0x{(nint)item.ValuePtr:X}"); WidgetUtil.DrawCopyableText($"0x{(nint)item.ValuePtr:X}");
@ -293,7 +293,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
if (item.ReferencedUtf8StringValue != null) if (item.ReferencedUtf8StringValue != null)
WidgetUtil.DrawCopyableText(new ReadOnlySeStringSpan(item.ReferencedUtf8StringValue->Utf8String).ToString()); WidgetUtil.DrawCopyableText(new ReadOnlySeStringSpan(item.ReferencedUtf8StringValue->Utf8String).ToString());
else else
ImGui.TextUnformatted("null"); ImGui.Text("null"u8);
break; break;
@ -301,12 +301,12 @@ internal class SeStringCreatorWidget : IDataWindowWidget
if (item.StringValue.Value != null) if (item.StringValue.Value != null)
WidgetUtil.DrawCopyableText(item.StringValue.ToString()); WidgetUtil.DrawCopyableText(item.StringValue.ToString());
else else
ImGui.TextUnformatted("null"); ImGui.Text("null"u8);
break; break;
} }
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(i switch ImGui.Text(i switch
{ {
0 => "Player Name", 0 => "Player Name",
1 => "Temp Player 1 Name", 1 => "Temp Player 1 Name",
@ -399,23 +399,23 @@ internal class SeStringCreatorWidget : IDataWindowWidget
private unsafe void DrawControls() private unsafe void DrawControls()
{ {
if (ImGui.Button("Add entry")) if (ImGui.Button("Add entry"u8))
{ {
this.entries.Add(new(TextEntryType.String, string.Empty)); this.entries.Add(new(TextEntryType.String, string.Empty));
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Add from Sheet")) if (ImGui.Button("Add from Sheet"u8))
{ {
ImGui.OpenPopup("AddFromSheetPopup"); ImGui.OpenPopup("AddFromSheetPopup"u8);
} }
this.DrawAddFromSheetPopup(); this.DrawAddFromSheetPopup();
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Print")) if (ImGui.Button("Print"u8))
{ {
var output = Utf8String.CreateEmpty(); var output = Utf8String.CreateEmpty();
var temp = Utf8String.CreateEmpty(); var temp = Utf8String.CreateEmpty();
@ -456,7 +456,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Print Evaluated")) if (ImGui.Button("Print Evaluated"u8))
{ {
var sb = new LSeStringBuilder(); var sb = new LSeStringBuilder();
@ -487,7 +487,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
{ {
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Copy MacroString")) if (ImGui.Button("Copy MacroString"u8))
{ {
var sb = new LSeStringBuilder(); var sb = new LSeStringBuilder();
@ -511,7 +511,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Clear entries")) if (ImGui.Button("Clear entries"u8))
{ {
this.entries.Clear(); this.entries.Clear();
this.UpdateInputString(); this.UpdateInputString();
@ -522,12 +522,12 @@ internal class SeStringCreatorWidget : IDataWindowWidget
if (!raptureTextModule->MacroEncoder.EncoderError.IsEmpty) if (!raptureTextModule->MacroEncoder.EncoderError.IsEmpty)
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(raptureTextModule->MacroEncoder.EncoderError.ToString()); // TODO: EncoderError doesn't clear ImGui.Text(raptureTextModule->MacroEncoder.EncoderError.ToString()); // TODO: EncoderError doesn't clear
} }
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetNextItemWidth(90 * ImGuiHelpers.GlobalScale); ImGui.SetNextItemWidth(90 * ImGuiHelpers.GlobalScale);
using (var dropdown = ImRaii.Combo("##Language", this.language.ToString() ?? "Language...")) using (var dropdown = ImRaii.Combo("##Language"u8, this.language.ToString() ?? "Language..."))
{ {
if (dropdown) if (dropdown)
{ {
@ -546,7 +546,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
private void DrawAddFromSheetPopup() private void DrawAddFromSheetPopup()
{ {
using var popup = ImRaii.Popup("AddFromSheetPopup"); using var popup = ImRaii.Popup("AddFromSheetPopup"u8);
if (!popup) return; if (!popup) return;
var dataManager = Service<DataManager>.Get(); var dataManager = Service<DataManager>.Get();
@ -576,10 +576,10 @@ internal class SeStringCreatorWidget : IDataWindowWidget
var minRowId = (int)sheet.FirstOrDefault().RowId; var minRowId = (int)sheet.FirstOrDefault().RowId;
var maxRowId = (int)sheet.LastOrDefault().RowId; var maxRowId = (int)sheet.LastOrDefault().RowId;
var rowIdChanged = ImGui.InputInt("RowId", ref this.importRowId, 1, 10); var rowIdChanged = ImGui.InputInt("RowId"u8, ref this.importRowId, 1, 10);
ImGui.SameLine(0, ImGui.GetStyle().ItemInnerSpacing.X); ImGui.SameLine(0, ImGui.GetStyle().ItemInnerSpacing.X);
ImGui.TextUnformatted($"(Range: {minRowId} - {maxRowId})"); ImGui.Text($"(Range: {minRowId} - {maxRowId})");
if (sheetChanged || rowIdChanged) if (sheetChanged || rowIdChanged)
{ {
@ -592,17 +592,17 @@ internal class SeStringCreatorWidget : IDataWindowWidget
if (!sheet.TryGetRow((uint)this.importRowId, out var row)) if (!sheet.TryGetRow((uint)this.importRowId, out var row))
{ {
ImGui.TextColored(new Vector4(1, 0, 0, 1), "Row not found"); ImGui.TextColored(new Vector4(1, 0, 0, 1), "Row not found"u8);
return; return;
} }
ImGui.TextUnformatted("Select string to add:"); ImGui.Text("Select string to add:"u8);
using var table = ImRaii.Table("StringSelectionTable", 2, ImGuiTableFlags.Borders | ImGuiTableFlags.NoSavedSettings); using var table = ImRaii.Table("StringSelectionTable"u8, 2, ImGuiTableFlags.Borders | ImGuiTableFlags.NoSavedSettings);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Column", ImGuiTableColumnFlags.WidthFixed, 50); ImGui.TableSetupColumn("Column"u8, ImGuiTableColumnFlags.WidthFixed, 50);
ImGui.TableSetupColumn("Value", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Value"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -618,7 +618,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(i.ToString()); ImGui.Text(i.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (ImGui.Selectable($"{value.ToString().Truncate(100)}###Column{i}")) if (ImGui.Selectable($"{value.ToString().Truncate(100)}###Column{i}"))
@ -644,22 +644,22 @@ internal class SeStringCreatorWidget : IDataWindowWidget
} }
catch (Exception e) catch (Exception e)
{ {
ImGui.TextUnformatted(e.Message); ImGui.Text(e.Message);
return; return;
} }
} }
private unsafe void DrawInputs() private unsafe void DrawInputs()
{ {
using var child = ImRaii.Child("Inputs", new Vector2(this.inputsWidth, -1)); using var child = ImRaii.Child("Inputs"u8, new Vector2(this.inputsWidth, -1));
if (!child) return; if (!child) return;
using var table = ImRaii.Table("StringMakerTable", 3, ImGuiTableFlags.Borders | ImGuiTableFlags.RowBg | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoSavedSettings); using var table = ImRaii.Table("StringMakerTable"u8, 3, ImGuiTableFlags.Borders | ImGuiTableFlags.RowBg | ImGuiTableFlags.ScrollY | ImGuiTableFlags.NoSavedSettings);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Type", ImGuiTableColumnFlags.WidthFixed, 100); ImGui.TableSetupColumn("Type"u8, ImGuiTableColumnFlags.WidthFixed, 100);
ImGui.TableSetupColumn("Text", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Text"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("Actions", ImGuiTableColumnFlags.WidthFixed, 80); ImGui.TableSetupColumn("Actions"u8, ImGuiTableColumnFlags.WidthFixed, 80);
ImGui.TableSetupScrollFreeze(3, 1); ImGui.TableSetupScrollFreeze(3, 1);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -803,7 +803,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
private void DrawPreview(ReadOnlySeString str) private void DrawPreview(ReadOnlySeString str)
{ {
using var nodeColor = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FF00); using var nodeColor = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FF00);
using var node = ImRaii.TreeNode("Preview", ImGuiTreeNodeFlags.DefaultOpen); using var node = ImRaii.TreeNode("Preview"u8, ImGuiTreeNodeFlags.DefaultOpen);
nodeColor.Pop(); nodeColor.Pop();
if (!node) return; if (!node) return;
@ -815,7 +815,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
private void DrawParameters() private void DrawParameters()
{ {
using var nodeColor = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FF00); using var nodeColor = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FF00);
using var node = ImRaii.TreeNode("Parameters", ImGuiTreeNodeFlags.DefaultOpen); using var node = ImRaii.TreeNode("Parameters"u8, ImGuiTreeNodeFlags.DefaultOpen);
nodeColor.Pop(); nodeColor.Pop();
if (!node) return; if (!node) return;
@ -843,7 +843,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
private void DrawPayloads(ReadOnlySeString evaluated) private void DrawPayloads(ReadOnlySeString evaluated)
{ {
using (var nodeColor = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FF00)) using (var nodeColor = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FF00))
using (var node = ImRaii.TreeNode("Payloads", ImGuiTreeNodeFlags.DefaultOpen | ImGuiTreeNodeFlags.SpanAvailWidth)) using (var node = ImRaii.TreeNode("Payloads"u8, ImGuiTreeNodeFlags.DefaultOpen | ImGuiTreeNodeFlags.SpanAvailWidth))
{ {
nodeColor.Pop(); nodeColor.Pop();
if (node) this.DrawSeString("payloads", this.input.AsSpan(), treeNodeFlags: ImGuiTreeNodeFlags.DefaultOpen | ImGuiTreeNodeFlags.SpanAvailWidth); if (node) this.DrawSeString("payloads", this.input.AsSpan(), treeNodeFlags: ImGuiTreeNodeFlags.DefaultOpen | ImGuiTreeNodeFlags.SpanAvailWidth);
@ -853,7 +853,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
return; return;
using (var nodeColor = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FF00)) using (var nodeColor = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FF00))
using (var node = ImRaii.TreeNode("Payloads (Evaluated)", ImGuiTreeNodeFlags.DefaultOpen | ImGuiTreeNodeFlags.SpanAvailWidth)) using (var node = ImRaii.TreeNode("Payloads (Evaluated)"u8, ImGuiTreeNodeFlags.DefaultOpen | ImGuiTreeNodeFlags.SpanAvailWidth))
{ {
nodeColor.Pop(); nodeColor.Pop();
if (node) this.DrawSeString("payloads-evaluated", evaluated.AsSpan(), treeNodeFlags: ImGuiTreeNodeFlags.DefaultOpen | ImGuiTreeNodeFlags.SpanAvailWidth); if (node) this.DrawSeString("payloads-evaluated", evaluated.AsSpan(), treeNodeFlags: ImGuiTreeNodeFlags.DefaultOpen | ImGuiTreeNodeFlags.SpanAvailWidth);
@ -899,12 +899,12 @@ internal class SeStringCreatorWidget : IDataWindowWidget
using var table = ImRaii.Table($"##Payload{payloadIdx}Table", 2); using var table = ImRaii.Table($"##Payload{payloadIdx}Table", 2);
if (!table) return; if (!table) return;
ImGui.TableSetupColumn("Label", ImGuiTableColumnFlags.WidthFixed, 120); ImGui.TableSetupColumn("Label"u8, ImGuiTableColumnFlags.WidthFixed, 120);
ImGui.TableSetupColumn("Tree", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Tree"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableNextRow(); ImGui.TableNextRow();
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(payload.Type == ReadOnlySePayloadType.Text ? "Text" : "ToString()"); ImGui.Text(payload.Type == ReadOnlySePayloadType.Text ? "Text" : "ToString()");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
var text = payload.ToString(); var text = payload.ToString();
WidgetUtil.DrawCopyableText($"\"{text}\"", text); WidgetUtil.DrawCopyableText($"\"{text}\"", text);
@ -944,13 +944,13 @@ internal class SeStringCreatorWidget : IDataWindowWidget
ImGui.TableNextColumn(); ImGui.TableNextColumn();
var expressionName = this.GetExpressionName(macroCode, subType, exprIdx, expr); var expressionName = this.GetExpressionName(macroCode, subType, exprIdx, expr);
ImGui.TextUnformatted($"[{exprIdx}] " + (string.IsNullOrEmpty(expressionName) ? $"Expr {exprIdx}" : expressionName)); ImGui.Text($"[{exprIdx}] " + (string.IsNullOrEmpty(expressionName) ? $"Expr {exprIdx}" : expressionName));
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (expr.Body.IsEmpty) if (expr.Body.IsEmpty)
{ {
ImGui.TextUnformatted("(?)"); ImGui.Text("(?)"u8);
return; return;
} }
@ -994,7 +994,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
if (!string.IsNullOrEmpty(name)) if (!string.IsNullOrEmpty(name))
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(name); ImGui.Text(name);
} }
} }
@ -1015,19 +1015,19 @@ internal class SeStringCreatorWidget : IDataWindowWidget
_ => typeof(EnglishArticleType), _ => typeof(EnglishArticleType),
}; };
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(Enum.GetName(articleTypeEnumType, u32)); ImGui.Text(Enum.GetName(articleTypeEnumType, u32));
} }
if (macroCode is MacroCode.DeNoun && exprIdx == 4 && u32 is >= 0 and <= 4) if (macroCode is MacroCode.DeNoun && exprIdx == 4 && u32 is >= 0 and <= 4)
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(NounProcessorWidget.GermanCases[u32]); ImGui.Text(NounProcessorWidget.GermanCases[u32]);
} }
if (macroCode is MacroCode.Fixed && subType != null && fixedType != null && fixedType is 100 or 200 && subType == 5 && exprIdx == 2) if (macroCode is MacroCode.Fixed && subType != null && fixedType != null && fixedType is 100 or 200 && subType == 5 && exprIdx == 2)
{ {
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.SmallButton("Play")) if (ImGui.SmallButton("Play"u8))
{ {
UIGlobals.PlayChatSoundEffect(u32 + 1); UIGlobals.PlayChatSoundEffect(u32 + 1);
} }
@ -1041,34 +1041,34 @@ internal class SeStringCreatorWidget : IDataWindowWidget
{ {
case LinkMacroPayloadType.Item when dataManager.GetExcelSheet<Item>(this.language).TryGetRow(u32, out var itemRow): case LinkMacroPayloadType.Item when dataManager.GetExcelSheet<Item>(this.language).TryGetRow(u32, out var itemRow):
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(itemRow.Name.ExtractText()); ImGui.Text(itemRow.Name.ExtractText());
break; break;
case LinkMacroPayloadType.Quest when dataManager.GetExcelSheet<Quest>(this.language).TryGetRow(u32, out var questRow): case LinkMacroPayloadType.Quest when dataManager.GetExcelSheet<Quest>(this.language).TryGetRow(u32, out var questRow):
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(questRow.Name.ExtractText()); ImGui.Text(questRow.Name.ExtractText());
break; break;
case LinkMacroPayloadType.Achievement when dataManager.GetExcelSheet<Achievement>(this.language).TryGetRow(u32, out var achievementRow): case LinkMacroPayloadType.Achievement when dataManager.GetExcelSheet<Achievement>(this.language).TryGetRow(u32, out var achievementRow):
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(achievementRow.Name.ExtractText()); ImGui.Text(achievementRow.Name.ExtractText());
break; break;
case LinkMacroPayloadType.HowTo when dataManager.GetExcelSheet<HowTo>(this.language).TryGetRow(u32, out var howToRow): case LinkMacroPayloadType.HowTo when dataManager.GetExcelSheet<HowTo>(this.language).TryGetRow(u32, out var howToRow):
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(howToRow.Name.ExtractText()); ImGui.Text(howToRow.Name.ExtractText());
break; break;
case LinkMacroPayloadType.Status when dataManager.GetExcelSheet<Status>(this.language).TryGetRow(u32, out var statusRow): case LinkMacroPayloadType.Status when dataManager.GetExcelSheet<Status>(this.language).TryGetRow(u32, out var statusRow):
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(statusRow.Name.ExtractText()); ImGui.Text(statusRow.Name.ExtractText());
break; break;
case LinkMacroPayloadType.AkatsukiNote when case LinkMacroPayloadType.AkatsukiNote when
dataManager.GetSubrowExcelSheet<AkatsukiNote>(this.language).TryGetRow(u32, out var akatsukiNoteRow) && dataManager.GetSubrowExcelSheet<AkatsukiNote>(this.language).TryGetRow(u32, out var akatsukiNoteRow) &&
dataManager.GetExcelSheet<AkatsukiNoteString>(this.language).TryGetRow((uint)akatsukiNoteRow[0].Unknown2, out var akatsukiNoteStringRow): dataManager.GetExcelSheet<AkatsukiNoteString>(this.language).TryGetRow((uint)akatsukiNoteRow[0].Unknown2, out var akatsukiNoteStringRow):
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(akatsukiNoteStringRow.Unknown0.ExtractText()); ImGui.Text(akatsukiNoteStringRow.Unknown0.ExtractText());
break; break;
} }
} }
@ -1086,11 +1086,11 @@ internal class SeStringCreatorWidget : IDataWindowWidget
{ {
if (((ExpressionType)exprType).GetNativeName() is { } nativeName) if (((ExpressionType)exprType).GetNativeName() is { } nativeName)
{ {
ImGui.TextUnformatted(nativeName); ImGui.Text(nativeName);
return; return;
} }
ImGui.TextUnformatted($"?x{exprType:X02}"); ImGui.Text($"?x{exprType:X02}");
return; return;
} }
@ -1098,7 +1098,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
{ {
if (((ExpressionType)exprType).GetNativeName() is { } nativeName) if (((ExpressionType)exprType).GetNativeName() is { } nativeName)
{ {
ImGui.TextUnformatted($"{nativeName}({e1.ToString()})"); ImGui.Text($"{nativeName}({e1.ToString()})");
return; return;
} }
@ -1109,7 +1109,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
{ {
if (((ExpressionType)exprType).GetNativeName() is { } nativeName) if (((ExpressionType)exprType).GetNativeName() is { } nativeName)
{ {
ImGui.TextUnformatted($"{e1.ToString()} {nativeName} {e2.ToString()}"); ImGui.Text($"{e1.ToString()} {nativeName} {e2.ToString()}");
return; return;
} }
@ -1122,7 +1122,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
for (var i = 1; i < expr.Body.Length; i++) for (var i = 1; i < expr.Body.Length; i++)
sb.Append($" {expr.Body[i]:X02}"); sb.Append($" {expr.Body[i]:X02}");
sb.Append(')'); sb.Append(')');
ImGui.TextUnformatted(sb.ToString()); ImGui.Text(sb.ToString());
} }
private string GetExpressionName(MacroCode macroCode, uint? subType, int idx, ReadOnlySeExpressionSpan expr) private string GetExpressionName(MacroCode macroCode, uint? subType, int idx, ReadOnlySeExpressionSpan expr)
@ -1258,7 +1258,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.BeginTooltip(); ImGui.BeginTooltip();
ImGui.TextUnformatted(tooltip); ImGui.Text(tooltip);
ImGui.EndTooltip(); ImGui.EndTooltip();
} }

View file

@ -66,7 +66,7 @@ internal unsafe class SeStringRendererTestWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
var t = this.style.ForceEdgeColor; var t = this.style.ForceEdgeColor;
if (ImGui.Checkbox("Forced", ref t)) if (ImGui.Checkbox("Forced"u8, ref t))
this.style.ForceEdgeColor = t; this.style.ForceEdgeColor = t;
t2 = ImGui.ColorConvertU32ToFloat4(this.style.ShadowColor ?? 0xFF000000u); t2 = ImGui.ColorConvertU32ToFloat4(this.style.ShadowColor ?? 0xFF000000u);
@ -82,67 +82,67 @@ internal unsafe class SeStringRendererTestWidget : IDataWindowWidget
this.style.LinkActiveBackColor = ImGui.ColorConvertFloat4ToU32(t2); this.style.LinkActiveBackColor = ImGui.ColorConvertFloat4ToU32(t2);
var t3 = this.style.LineHeight ?? 1f; var t3 = this.style.LineHeight ?? 1f;
if (ImGui.DragFloat("Line Height", ref t3, 0.01f, 0.4f, 3f, "%.02f")) if (ImGui.DragFloat("Line Height"u8, ref t3, 0.01f, 0.4f, 3f, "%.02f"))
this.style.LineHeight = t3; this.style.LineHeight = t3;
t3 = this.style.Opacity ?? ImGui.GetStyle().Alpha; t3 = this.style.Opacity ?? ImGui.GetStyle().Alpha;
if (ImGui.DragFloat("Opacity", ref t3, 0.005f, 0f, 1f, "%.02f")) if (ImGui.DragFloat("Opacity"u8, ref t3, 0.005f, 0f, 1f, "%.02f"))
this.style.Opacity = t3; this.style.Opacity = t3;
t3 = this.style.EdgeStrength ?? 0.25f; t3 = this.style.EdgeStrength ?? 0.25f;
if (ImGui.DragFloat("Edge Strength", ref t3, 0.005f, 0f, 1f, "%.02f")) if (ImGui.DragFloat("Edge Strength"u8, ref t3, 0.005f, 0f, 1f, "%.02f"))
this.style.EdgeStrength = t3; this.style.EdgeStrength = t3;
t = this.style.Edge; t = this.style.Edge;
if (ImGui.Checkbox("Edge", ref t)) if (ImGui.Checkbox("Edge"u8, ref t))
this.style.Edge = t; this.style.Edge = t;
ImGui.SameLine(); ImGui.SameLine();
t = this.style.Bold; t = this.style.Bold;
if (ImGui.Checkbox("Bold", ref t)) if (ImGui.Checkbox("Bold"u8, ref t))
this.style.Bold = t; this.style.Bold = t;
ImGui.SameLine(); ImGui.SameLine();
t = this.style.Italic; t = this.style.Italic;
if (ImGui.Checkbox("Italic", ref t)) if (ImGui.Checkbox("Italic"u8, ref t))
this.style.Italic = t; this.style.Italic = t;
ImGui.SameLine(); ImGui.SameLine();
t = this.style.Shadow; t = this.style.Shadow;
if (ImGui.Checkbox("Shadow", ref t)) if (ImGui.Checkbox("Shadow"u8, ref t))
this.style.Shadow = t; this.style.Shadow = t;
ImGui.SameLine(); ImGui.SameLine();
var t4 = this.style.ThemeIndex ?? AtkStage.Instance()->AtkUIColorHolder->ActiveColorThemeType; var t4 = this.style.ThemeIndex ?? AtkStage.Instance()->AtkUIColorHolder->ActiveColorThemeType;
ImGui.PushItemWidth(ImGui.CalcTextSize("WWWWWWWWWWWWWW").X); ImGui.PushItemWidth(ImGui.CalcTextSize("WWWWWWWWWWWWWW"u8).X);
if (ImGui.Combo("##theme", ref t4, ThemeNames)) if (ImGui.Combo("##theme", ref t4, ThemeNames))
this.style.ThemeIndex = t4; this.style.ThemeIndex = t4;
ImGui.SameLine(); ImGui.SameLine();
t = this.style.LinkUnderlineThickness > 0f; t = this.style.LinkUnderlineThickness > 0f;
if (ImGui.Checkbox("Link Underline", ref t)) if (ImGui.Checkbox("Link Underline"u8, ref t))
this.style.LinkUnderlineThickness = t ? 1f : 0f; this.style.LinkUnderlineThickness = t ? 1f : 0f;
ImGui.SameLine(); ImGui.SameLine();
t = this.style.WrapWidth is null; t = this.style.WrapWidth is null;
if (ImGui.Checkbox("Word Wrap", ref t)) if (ImGui.Checkbox("Word Wrap"u8, ref t))
this.style.WrapWidth = t ? null : float.PositiveInfinity; this.style.WrapWidth = t ? null : float.PositiveInfinity;
t = this.interactable; t = this.interactable;
if (ImGui.Checkbox("Interactable", ref t)) if (ImGui.Checkbox("Interactable"u8, ref t))
this.interactable = t; this.interactable = t;
ImGui.SameLine(); ImGui.SameLine();
t = this.useEntity; t = this.useEntity;
if (ImGui.Checkbox("Use Entity Replacements", ref t)) if (ImGui.Checkbox("Use Entity Replacements"u8, ref t))
this.useEntity = t; this.useEntity = t;
ImGui.SameLine(); ImGui.SameLine();
t = this.alignToFramePadding; t = this.alignToFramePadding;
if (ImGui.Checkbox("Align to Frame Padding", ref t)) if (ImGui.Checkbox("Align to Frame Padding"u8, ref t))
this.alignToFramePadding = t; this.alignToFramePadding = t;
if (ImGui.CollapsingHeader("LogKind Preview")) if (ImGui.CollapsingHeader("LogKind Preview"u8))
{ {
if (this.logkind is null) if (this.logkind is null)
{ {
@ -174,17 +174,17 @@ internal unsafe class SeStringRendererTestWidget : IDataWindowWidget
ImGuiHelpers.SeStringWrapped(this.logkind.Value.Data.Span, this.style); ImGuiHelpers.SeStringWrapped(this.logkind.Value.Data.Span, this.style);
} }
if (ImGui.CollapsingHeader("Addon Table")) if (ImGui.CollapsingHeader("Addon Table"u8))
{ {
if (ImGui.BeginTable("Addon Sheet", 3)) if (ImGui.BeginTable("Addon Sheet"u8, 3))
{ {
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableSetupColumn("Row ID", ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("0000000").X); ImGui.TableSetupColumn("Row ID"u8, ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("0000000"u8).X);
ImGui.TableSetupColumn("Text", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Text"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Misc", "Misc"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
ImGui.CalcTextSize("AAAAAAAAAAAAAAAAA").X); ImGui.CalcTextSize("AAAAAAAAAAAAAAAAA"u8).X);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
var addon = Service<DataManager>.GetNullable()?.GetExcelSheet<Addon>() ?? var addon = Service<DataManager>.GetNullable()?.GetExcelSheet<Addon>() ??
@ -203,14 +203,14 @@ internal unsafe class SeStringRendererTestWidget : IDataWindowWidget
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted($"{row.RowId}"); ImGui.Text($"{row.RowId}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGuiHelpers.SeStringWrapped(row.Text, this.style); ImGuiHelpers.SeStringWrapped(row.Text, this.style);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (ImGui.Button("Print to Chat")) if (ImGui.Button("Print to Chat"u8))
Service<ChatGui>.Get().Print(row.Text.ToDalamudString()); Service<ChatGui>.Get().Print(row.Text.ToDalamudString());
ImGui.PopID(); ImGui.PopID();
@ -222,7 +222,7 @@ internal unsafe class SeStringRendererTestWidget : IDataWindowWidget
} }
} }
if (ImGui.Button("Reset Text") || this.testStringBuffer.IsDisposed) if (ImGui.Button("Reset Text"u8) || this.testStringBuffer.IsDisposed)
{ {
this.testStringBuffer.Dispose(); this.testStringBuffer.Dispose();
this.testStringBuffer = ImVectorWrapper.CreateFromSpan( this.testStringBuffer = ImVectorWrapper.CreateFromSpan(
@ -233,7 +233,7 @@ internal unsafe class SeStringRendererTestWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Print to Chat Log")) if (ImGui.Button("Print to Chat Log"u8))
{ {
Service<ChatGui>.Get().Print( Service<ChatGui>.Get().Print(
Game.Text.SeStringHandling.SeString.Parse( Game.Text.SeStringHandling.SeString.Parse(
@ -299,7 +299,7 @@ internal unsafe class SeStringRendererTestWidget : IDataWindowWidget
ImGui.Separator(); ImGui.Separator();
if (this.alignToFramePadding) if (this.alignToFramePadding)
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted($"Hovered[{offset}]: {new ReadOnlySeStringSpan(envelope).ToString()}; {payload}"); ImGui.Text($"Hovered[{offset}]: {new ReadOnlySeStringSpan(envelope).ToString()}; {payload}");
if (clicked && payload is DalamudLinkPayload { Plugin: "test" } dlp) if (clicked && payload is DalamudLinkPayload { Plugin: "test" } dlp)
Util.OpenLink(dlp.ExtraString); Util.OpenLink(dlp.ExtraString);
} }

View file

@ -43,31 +43,31 @@ internal class ServicesWidget : IDataWindowWidget
{ {
var container = Service<ServiceContainer>.Get(); var container = Service<ServiceContainer>.Get();
if (ImGui.CollapsingHeader("Dependencies")) if (ImGui.CollapsingHeader("Dependencies"u8))
{ {
if (ImGui.Button("Clear selection")) if (ImGui.Button("Clear selection"u8))
this.selectedNodes.Clear(); this.selectedNodes.Clear();
ImGui.SameLine(); ImGui.SameLine();
switch (this.includeUnloadDependencies) switch (this.includeUnloadDependencies)
{ {
case true when ImGui.Button("Show load-time dependencies"): case true when ImGui.Button("Show load-time dependencies"u8):
this.includeUnloadDependencies = false; this.includeUnloadDependencies = false;
this.dependencyNodes = null; this.dependencyNodes = null;
break; break;
case false when ImGui.Button("Show unload-time dependencies"): case false when ImGui.Button("Show unload-time dependencies"u8):
this.includeUnloadDependencies = true; this.includeUnloadDependencies = true;
this.dependencyNodes = null; this.dependencyNodes = null;
break; break;
} }
this.dependencyNodes ??= ServiceDependencyNode.CreateTreeByLevel(this.includeUnloadDependencies); this.dependencyNodes ??= ServiceDependencyNode.CreateTreeByLevel(this.includeUnloadDependencies);
var cellPad = ImGui.CalcTextSize("WW"); var cellPad = ImGui.CalcTextSize("WW"u8);
var margin = ImGui.CalcTextSize("W\nW\nW"); var margin = ImGui.CalcTextSize("W\nW\nW"u8);
var rowHeight = cellPad.Y * 3; var rowHeight = cellPad.Y * 3;
var width = ImGui.GetContentRegionAvail().X; var width = ImGui.GetContentRegionAvail().X;
if (ImGui.BeginChild( if (ImGui.BeginChild(
"dependency-graph", "dependency-graph"u8,
new(width, (this.dependencyNodes.Count * (rowHeight + margin.Y)) + cellPad.Y), new(width, (this.dependencyNodes.Count * (rowHeight + margin.Y)) + cellPad.Y),
false, false,
ImGuiWindowFlags.HorizontalScrollbar)) ImGuiWindowFlags.HorizontalScrollbar))
@ -196,10 +196,10 @@ internal class ServicesWidget : IDataWindowWidget
ImGui.SetCursorPos((new Vector2(rc.X, rc.Y) - pos) + ((cellSize - textSize) / 2)); ImGui.SetCursorPos((new Vector2(rc.X, rc.Y) - pos) + ((cellSize - textSize) / 2));
ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, Vector2.Zero); ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, Vector2.Zero);
ImGui.TextUnformatted(node.DisplayedName); ImGui.Text(node.DisplayedName);
ImGui.SameLine(); ImGui.SameLine();
ImGui.PushStyleColor(ImGuiCol.Text, node.TypeSuffixColor); ImGui.PushStyleColor(ImGuiCol.Text, node.TypeSuffixColor);
ImGui.TextUnformatted(node.TypeSuffix); ImGui.Text(node.TypeSuffix);
ImGui.PopStyleVar(); ImGui.PopStyleVar();
ImGui.PopStyleColor(); ImGui.PopStyleColor();
} }
@ -237,7 +237,7 @@ internal class ServicesWidget : IDataWindowWidget
} }
} }
if (ImGui.CollapsingHeader("Singleton Services")) if (ImGui.CollapsingHeader("Singleton Services"u8))
{ {
foreach (var instance in container.Instances) foreach (var instance in container.Instances)
{ {
@ -248,20 +248,20 @@ internal class ServicesWidget : IDataWindowWidget
if (isPublic) if (isPublic)
{ {
using var color = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed); using var color = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
ImGui.Text("\t => PUBLIC!!!"); ImGui.Text("\t => PUBLIC!!!"u8);
} }
switch (instance.Value.Visibility) switch (instance.Value.Visibility)
{ {
case ObjectInstanceVisibility.Internal: case ObjectInstanceVisibility.Internal:
ImGui.Text("\t => Internally resolved"); ImGui.Text("\t => Internally resolved"u8);
break; break;
case ObjectInstanceVisibility.ExposedToPlugins: case ObjectInstanceVisibility.ExposedToPlugins:
var hasInterface = container.InterfaceToTypeMap.Values.Any(x => x == instance.Key); var hasInterface = container.InterfaceToTypeMap.Values.Any(x => x == instance.Key);
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, !hasInterface)) using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, !hasInterface))
{ {
ImGui.Text("\t => Exposed to plugins!"); ImGui.Text("\t => Exposed to plugins!"u8);
ImGui.Text( ImGui.Text(
hasInterface hasInterface
? $"\t => Provided via interface: {container.InterfaceToTypeMap.First(x => x.Value == instance.Key).Key.FullName}" ? $"\t => Provided via interface: {container.InterfaceToTypeMap.First(x => x.Value == instance.Key).Key.FullName}"

View file

@ -31,7 +31,7 @@ internal class TargetWidget : IDataWindowWidget
/// <inheritdoc/> /// <inheritdoc/>
public void Draw() public void Draw()
{ {
ImGui.Checkbox("Resolve GameData", ref this.resolveGameData); ImGui.Checkbox("Resolve GameData"u8, ref this.resolveGameData);
var clientState = Service<ClientState>.Get(); var clientState = Service<ClientState>.Get();
var targetMgr = Service<TargetManager>.Get(); var targetMgr = Service<TargetManager>.Get();
@ -40,7 +40,7 @@ internal class TargetWidget : IDataWindowWidget
{ {
Util.PrintGameObject(targetMgr.Target, "CurrentTarget", this.resolveGameData); Util.PrintGameObject(targetMgr.Target, "CurrentTarget", this.resolveGameData);
ImGui.Text("Target"); ImGui.Text("Target"u8);
Util.ShowGameObjectStruct(targetMgr.Target); Util.ShowGameObjectStruct(targetMgr.Target);
var tot = targetMgr.Target.TargetObject; var tot = targetMgr.Target.TargetObject;
@ -49,7 +49,7 @@ internal class TargetWidget : IDataWindowWidget
ImGuiHelpers.ScaledDummy(10); ImGuiHelpers.ScaledDummy(10);
ImGui.Separator(); ImGui.Separator();
ImGui.Text("ToT"); ImGui.Text("ToT"u8);
Util.ShowGameObjectStruct(tot); Util.ShowGameObjectStruct(tot);
} }
@ -74,25 +74,25 @@ internal class TargetWidget : IDataWindowWidget
if (targetMgr.MouseOverNameplateTarget != null) if (targetMgr.MouseOverNameplateTarget != null)
Util.PrintGameObject(targetMgr.MouseOverNameplateTarget, "MouseOverNameplateTarget", this.resolveGameData); Util.PrintGameObject(targetMgr.MouseOverNameplateTarget, "MouseOverNameplateTarget", this.resolveGameData);
if (ImGui.Button("Clear CT")) if (ImGui.Button("Clear CT"u8))
targetMgr.Target = null; targetMgr.Target = null;
if (ImGui.Button("Clear FT")) if (ImGui.Button("Clear FT"u8))
targetMgr.FocusTarget = null; targetMgr.FocusTarget = null;
var localPlayer = clientState.LocalPlayer; var localPlayer = clientState.LocalPlayer;
if (localPlayer != null) if (localPlayer != null)
{ {
if (ImGui.Button("Set CT")) if (ImGui.Button("Set CT"u8))
targetMgr.Target = localPlayer; targetMgr.Target = localPlayer;
if (ImGui.Button("Set FT")) if (ImGui.Button("Set FT"u8))
targetMgr.FocusTarget = localPlayer; targetMgr.FocusTarget = localPlayer;
} }
else else
{ {
ImGui.Text("LocalPlayer is null."); ImGui.Text("LocalPlayer is null."u8);
} }
} }
} }

View file

@ -1,4 +1,4 @@
// ReSharper disable MethodSupportsCancellation // Using alternative method of cancelling tasks by throwing exceptions. // ReSharper disable MethodSupportsCancellation // Using alternative method of cancelling tasks by throwing exceptions.
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@ -54,7 +54,7 @@ internal class TaskSchedulerWidget : IDataWindowWidget
{ {
var framework = Service<Framework>.Get(); var framework = Service<Framework>.Get();
if (ImGui.Button("Clear list")) if (ImGui.Button("Clear list"u8))
{ {
TaskTracker.Clear(); TaskTracker.Clear();
} }
@ -63,23 +63,23 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGuiHelpers.ScaledDummy(10); ImGuiHelpers.ScaledDummy(10);
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Cancel using CancellationTokenSource")) if (ImGui.Button("Cancel using CancellationTokenSource"u8))
{ {
this.taskSchedulerCancelSource.Cancel(); this.taskSchedulerCancelSource.Cancel();
this.taskSchedulerCancelSource = new(); this.taskSchedulerCancelSource = new();
} }
ImGui.Text("Run in any thread: "); ImGui.Text("Run in any thread: "u8);
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Short Task.Run")) if (ImGui.Button("Short Task.Run"u8))
{ {
Task.Run(() => { Thread.Sleep(500); }); Task.Run(() => { Thread.Sleep(500); });
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Task in task(Delay)")) if (ImGui.Button("Task in task(Delay)"u8))
{ {
var token = this.taskSchedulerCancelSource.Token; var token = this.taskSchedulerCancelSource.Token;
Task.Run(async () => await this.TestTaskInTaskDelay(token), token); Task.Run(async () => await this.TestTaskInTaskDelay(token), token);
@ -87,14 +87,14 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Task in task(Sleep)")) if (ImGui.Button("Task in task(Sleep)"u8))
{ {
Task.Run(async () => await this.TestTaskInTaskSleep()); Task.Run(async () => await this.TestTaskInTaskSleep());
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Faulting task")) if (ImGui.Button("Faulting task"u8))
{ {
Task.Run(() => Task.Run(() =>
{ {
@ -104,43 +104,43 @@ internal class TaskSchedulerWidget : IDataWindowWidget
}); });
} }
ImGui.Text("Run in Framework.Update: "); ImGui.Text("Run in Framework.Update: "u8);
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("ASAP")) if (ImGui.Button("ASAP"u8))
{ {
_ = framework.RunOnTick(() => Log.Information("Framework.Update - ASAP"), cancellationToken: this.taskSchedulerCancelSource.Token); _ = framework.RunOnTick(() => Log.Information("Framework.Update - ASAP"), cancellationToken: this.taskSchedulerCancelSource.Token);
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("In 1s")) if (ImGui.Button("In 1s"u8))
{ {
_ = framework.RunOnTick(() => Log.Information("Framework.Update - In 1s"), cancellationToken: this.taskSchedulerCancelSource.Token, delay: TimeSpan.FromSeconds(1)); _ = framework.RunOnTick(() => Log.Information("Framework.Update - In 1s"), cancellationToken: this.taskSchedulerCancelSource.Token, delay: TimeSpan.FromSeconds(1));
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("In 60f")) if (ImGui.Button("In 60f"u8))
{ {
_ = framework.RunOnTick(() => Log.Information("Framework.Update - In 60f"), cancellationToken: this.taskSchedulerCancelSource.Token, delayTicks: 60); _ = framework.RunOnTick(() => Log.Information("Framework.Update - In 60f"), cancellationToken: this.taskSchedulerCancelSource.Token, delayTicks: 60);
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("In 1s+120f")) if (ImGui.Button("In 1s+120f"u8))
{ {
_ = framework.RunOnTick(() => Log.Information("Framework.Update - In 1s+120f"), cancellationToken: this.taskSchedulerCancelSource.Token, delay: TimeSpan.FromSeconds(1), delayTicks: 120); _ = framework.RunOnTick(() => Log.Information("Framework.Update - In 1s+120f"), cancellationToken: this.taskSchedulerCancelSource.Token, delay: TimeSpan.FromSeconds(1), delayTicks: 120);
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("In 2s+60f")) if (ImGui.Button("In 2s+60f"u8))
{ {
_ = framework.RunOnTick(() => Log.Information("Framework.Update - In 2s+60f"), cancellationToken: this.taskSchedulerCancelSource.Token, delay: TimeSpan.FromSeconds(2), delayTicks: 60); _ = framework.RunOnTick(() => Log.Information("Framework.Update - In 2s+60f"), cancellationToken: this.taskSchedulerCancelSource.Token, delay: TimeSpan.FromSeconds(2), delayTicks: 60);
} }
if (ImGui.Button("Every 60f")) if (ImGui.Button("Every 60f"u8))
{ {
_ = framework.RunOnTick( _ = framework.RunOnTick(
async () => async () =>
@ -158,7 +158,7 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Every 1s")) if (ImGui.Button("Every 1s"u8))
{ {
_ = framework.RunOnTick( _ = framework.RunOnTick(
async () => async () =>
@ -176,7 +176,7 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Every 60f (Await)")) if (ImGui.Button("Every 60f (Await)"u8))
{ {
_ = framework.Run( _ = framework.Run(
async () => async () =>
@ -194,7 +194,7 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Every 1s (Await)")) if (ImGui.Button("Every 1s (Await)"u8))
{ {
_ = framework.Run( _ = framework.Run(
async () => async () =>
@ -212,7 +212,7 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("As long as it's in Framework Thread")) if (ImGui.Button("As long as it's in Framework Thread"u8))
{ {
Task.Run(async () => await framework.RunOnFrameworkThread(() => { Log.Information("Task dispatched from non-framework.update thread"); })); Task.Run(async () => await framework.RunOnFrameworkThread(() => { Log.Information("Task dispatched from non-framework.update thread"); }));
framework.RunOnFrameworkThread(() => { Log.Information("Task dispatched from framework.update thread"); }).Wait(); framework.RunOnFrameworkThread(() => { Log.Information("Task dispatched from framework.update thread"); }).Wait();
@ -220,14 +220,14 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Error in 1s")) if (ImGui.Button("Error in 1s"u8))
{ {
_ = framework.RunOnTick(() => throw new Exception("Test Exception"), cancellationToken: this.taskSchedulerCancelSource.Token, delay: TimeSpan.FromSeconds(1)); _ = framework.RunOnTick(() => throw new Exception("Test Exception"), cancellationToken: this.taskSchedulerCancelSource.Token, delay: TimeSpan.FromSeconds(1));
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Freeze 1s")) if (ImGui.Button("Freeze 1s"u8))
{ {
_ = framework.RunOnFrameworkThread(() => Helper().Wait()); _ = framework.RunOnFrameworkThread(() => Helper().Wait());
static async Task Helper() => await Task.Delay(1000); static async Task Helper() => await Task.Delay(1000);
@ -235,16 +235,16 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Freeze Completely")) if (ImGui.Button("Freeze Completely"u8))
{ {
_ = framework.Run(() => Helper().Wait()); _ = framework.Run(() => Helper().Wait());
static async Task Helper() => await Task.Delay(1000); static async Task Helper() => await Task.Delay(1000);
} }
if (ImGui.CollapsingHeader("Download")) if (ImGui.CollapsingHeader("Download"u8))
{ {
ImGui.InputText("URL", ref this.url); ImGui.InputText("URL"u8, ref this.url);
ImGui.InputText("Local Path", ref this.localPath); ImGui.InputText("Local Path"u8, ref this.localPath);
ImGui.SameLine(); ImGui.SameLine();
if (ImGuiComponents.IconButton("##localpathpicker", FontAwesomeIcon.File)) if (ImGuiComponents.IconButton("##localpathpicker", FontAwesomeIcon.File))
@ -264,16 +264,16 @@ internal class TaskSchedulerWidget : IDataWindowWidget
}); });
} }
ImGui.TextUnformatted($"{this.downloadState.Downloaded:##,###}/{this.downloadState.Total:##,###} ({this.downloadState.Percentage:0.00}%)"); ImGui.Text($"{this.downloadState.Downloaded:##,###}/{this.downloadState.Total:##,###} ({this.downloadState.Percentage:0.00}%)");
using var disabled = using var disabled =
ImRaii.Disabled(this.downloadTask?.IsCompleted is false || this.localPath[0] == 0); ImRaii.Disabled(this.downloadTask?.IsCompleted is false || this.localPath[0] == 0);
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted("Download"); ImGui.Text("Download"u8);
ImGui.SameLine(); ImGui.SameLine();
var downloadUsingGlobalScheduler = ImGui.Button("using default scheduler"); var downloadUsingGlobalScheduler = ImGui.Button("using default scheduler"u8);
ImGui.SameLine(); ImGui.SameLine();
var downloadUsingFramework = ImGui.Button("using Framework.Update"); var downloadUsingFramework = ImGui.Button("using Framework.Update"u8);
if (downloadUsingGlobalScheduler || downloadUsingFramework) if (downloadUsingGlobalScheduler || downloadUsingFramework)
{ {
var ct = this.taskSchedulerCancelSource.Token; var ct = this.taskSchedulerCancelSource.Token;
@ -328,7 +328,7 @@ internal class TaskSchedulerWidget : IDataWindowWidget
} }
} }
if (ImGui.Button("Drown in tasks")) if (ImGui.Button("Drown in tasks"u8))
{ {
var token = this.taskSchedulerCancelSource.Token; var token = this.taskSchedulerCancelSource.Token;
Task.Run( Task.Run(
@ -414,7 +414,7 @@ internal class TaskSchedulerWidget : IDataWindowWidget
{ {
task.IsBeingViewed = true; task.IsBeingViewed = true;
if (ImGui.Button("CANCEL (May not work)")) if (ImGui.Button("CANCEL (May not work)"u8))
{ {
try try
{ {
@ -430,13 +430,13 @@ internal class TaskSchedulerWidget : IDataWindowWidget
ImGuiHelpers.ScaledDummy(10); ImGuiHelpers.ScaledDummy(10);
ImGui.TextUnformatted(task.StackTrace?.ToString()); ImGui.Text(task.StackTrace?.ToString());
if (task.Exception != null) if (task.Exception != null)
{ {
ImGuiHelpers.ScaledDummy(15); ImGuiHelpers.ScaledDummy(15);
ImGui.TextColored(ImGuiColors.DalamudRed, "EXCEPTION:"); ImGui.TextColored(ImGuiColors.DalamudRed, "EXCEPTION:"u8);
ImGui.TextUnformatted(task.Exception.ToString()); ImGui.Text(task.Exception.ToString());
} }
} }
else else

View file

@ -127,11 +127,11 @@ internal class TexWidget : IDataWindowWidget
this.textureManager = Service<TextureManager>.Get(); this.textureManager = Service<TextureManager>.Get();
var conf = Service<DalamudConfiguration>.Get(); var conf = Service<DalamudConfiguration>.Get();
if (ImGui.Button("GC")) if (ImGui.Button("GC"u8))
GC.Collect(); GC.Collect();
var useTexturePluginTracking = conf.UseTexturePluginTracking; var useTexturePluginTracking = conf.UseTexturePluginTracking;
if (ImGui.Checkbox("Enable Texture Tracking", ref useTexturePluginTracking)) if (ImGui.Checkbox("Enable Texture Tracking"u8, ref useTexturePluginTracking))
{ {
conf.UseTexturePluginTracking = useTexturePluginTracking; conf.UseTexturePluginTracking = useTexturePluginTracking;
conf.QueueSave(); conf.QueueSave();
@ -140,7 +140,7 @@ internal class TexWidget : IDataWindowWidget
var allBlames = this.textureManager.BlameTracker; var allBlames = this.textureManager.BlameTracker;
lock (allBlames) lock (allBlames)
{ {
ImGui.PushID("blames"); ImGui.PushID("blames"u8);
var sizeSum = allBlames.Sum(static x => Math.Max(0, x.RawSpecs.EstimatedBytes)); var sizeSum = allBlames.Sum(static x => Math.Max(0, x.RawSpecs.EstimatedBytes));
if (ImGui.CollapsingHeader( if (ImGui.CollapsingHeader(
$"All Loaded Textures: {allBlames.Count:n0} ({Util.FormatBytes(sizeSum)})###header")) $"All Loaded Textures: {allBlames.Count:n0} ({Util.FormatBytes(sizeSum)})###header"))
@ -148,19 +148,19 @@ internal class TexWidget : IDataWindowWidget
ImGui.PopID(); ImGui.PopID();
} }
ImGui.PushID("loadedGameTextures"); ImGui.PushID("loadedGameTextures"u8);
if (ImGui.CollapsingHeader( if (ImGui.CollapsingHeader(
$"Loaded Game Textures: {this.textureManager.Shared.ForDebugGamePathTextures.Count:n0}###header")) $"Loaded Game Textures: {this.textureManager.Shared.ForDebugGamePathTextures.Count:n0}###header"))
this.DrawLoadedTextures(this.textureManager.Shared.ForDebugGamePathTextures); this.DrawLoadedTextures(this.textureManager.Shared.ForDebugGamePathTextures);
ImGui.PopID(); ImGui.PopID();
ImGui.PushID("loadedFileTextures"); ImGui.PushID("loadedFileTextures"u8);
if (ImGui.CollapsingHeader( if (ImGui.CollapsingHeader(
$"Loaded File Textures: {this.textureManager.Shared.ForDebugFileSystemTextures.Count:n0}###header")) $"Loaded File Textures: {this.textureManager.Shared.ForDebugFileSystemTextures.Count:n0}###header"))
this.DrawLoadedTextures(this.textureManager.Shared.ForDebugFileSystemTextures); this.DrawLoadedTextures(this.textureManager.Shared.ForDebugFileSystemTextures);
ImGui.PopID(); ImGui.PopID();
ImGui.PushID("loadedManifestResourceTextures"); ImGui.PushID("loadedManifestResourceTextures"u8);
if (ImGui.CollapsingHeader( if (ImGui.CollapsingHeader(
$"Loaded Manifest Resource Textures: {this.textureManager.Shared.ForDebugManifestResourceTextures.Count:n0}###header")) $"Loaded Manifest Resource Textures: {this.textureManager.Shared.ForDebugManifestResourceTextures.Count:n0}###header"))
this.DrawLoadedTextures(this.textureManager.Shared.ForDebugManifestResourceTextures); this.DrawLoadedTextures(this.textureManager.Shared.ForDebugManifestResourceTextures);
@ -168,7 +168,7 @@ internal class TexWidget : IDataWindowWidget
lock (this.textureManager.Shared.ForDebugInvalidatedTextures) lock (this.textureManager.Shared.ForDebugInvalidatedTextures)
{ {
ImGui.PushID("invalidatedTextures"); ImGui.PushID("invalidatedTextures"u8);
if (ImGui.CollapsingHeader( if (ImGui.CollapsingHeader(
$"Invalidated: {this.textureManager.Shared.ForDebugInvalidatedTextures.Count:n0}###header")) $"Invalidated: {this.textureManager.Shared.ForDebugInvalidatedTextures.Count:n0}###header"))
{ {
@ -184,7 +184,7 @@ internal class TexWidget : IDataWindowWidget
{ {
ImGuiComponents.DisabledButton("Paste from Clipboard"); ImGuiComponents.DisabledButton("Paste from Clipboard");
} }
else if (ImGui.Button("Paste from Clipboard")) else if (ImGui.Button("Paste from Clipboard"u8))
{ {
this.addedTextures.Add(new(Api10: this.textureManager.CreateFromClipboardAsync())); this.addedTextures.Add(new(Api10: this.textureManager.CreateFromClipboardAsync()));
} }
@ -224,7 +224,7 @@ internal class TexWidget : IDataWindowWidget
ImGui.PopID(); ImGui.PopID();
} }
if (ImGui.CollapsingHeader("UV")) if (ImGui.CollapsingHeader("UV"u8))
{ {
ImGui.PushID(nameof(this.DrawUvInput)); ImGui.PushID(nameof(this.DrawUvInput));
this.DrawUvInput(); this.DrawUvInput();
@ -246,7 +246,7 @@ internal class TexWidget : IDataWindowWidget
ImGui.PushID(t.Id); ImGui.PushID(t.Id);
if (ImGui.CollapsingHeader($"Tex #{t.Id} {t}###header", ImGuiTreeNodeFlags.DefaultOpen)) if (ImGui.CollapsingHeader($"Tex #{t.Id} {t}###header", ImGuiTreeNodeFlags.DefaultOpen))
{ {
if (ImGui.Button("X")) if (ImGui.Button("X"u8))
{ {
runLater = () => runLater = () =>
{ {
@ -256,7 +256,7 @@ internal class TexWidget : IDataWindowWidget
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Save")) if (ImGui.Button("Save"u8))
{ {
_ = Service<DevTextureSaveMenu>.Get().ShowTextureSaveMenuAsync( _ = Service<DevTextureSaveMenu>.Get().ShowTextureSaveMenuAsync(
this.DisplayName, this.DisplayName,
@ -265,11 +265,11 @@ internal class TexWidget : IDataWindowWidget
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Copy Reference")) if (ImGui.Button("Copy Reference"u8))
runLater = () => this.addedTextures.Add(t.CreateFromSharedLowLevelResource(this.textureManager)); runLater = () => this.addedTextures.Add(t.CreateFromSharedLowLevelResource(this.textureManager));
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("CropCopy")) if (ImGui.Button("CropCopy"u8))
{ {
runLater = () => runLater = () =>
{ {
@ -305,13 +305,13 @@ internal class TexWidget : IDataWindowWidget
pres->Release(); pres->Release();
pres->Release(); pres->Release();
ImGui.TextUnformatted($"RC: Resource({rcres})/View({rcsrv})"); ImGui.Text($"RC: Resource({rcres})/View({rcsrv})");
ImGui.TextUnformatted(source.ToString()); ImGui.Text(source.ToString());
} }
else else
{ {
ImGui.TextUnformatted("RC: -"); ImGui.Text("RC: -"u8);
ImGui.TextUnformatted(" "); ImGui.Text(" "u8);
} }
} }
@ -327,12 +327,12 @@ internal class TexWidget : IDataWindowWidget
} }
else else
{ {
ImGui.TextUnformatted(t.DescribeError() ?? "Loading"); ImGui.Text(t.DescribeError() ?? "Loading");
} }
} }
catch (Exception e) catch (Exception e)
{ {
ImGui.TextUnformatted(e.ToString()); ImGui.Text(e.ToString());
} }
} }
@ -346,10 +346,10 @@ internal class TexWidget : IDataWindowWidget
{ {
var im = Service<InterfaceManager>.Get(); var im = Service<InterfaceManager>.Get();
var shouldSortAgain = ImGui.Button("Sort again"); var shouldSortAgain = ImGui.Button("Sort again"u8);
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Reset Columns")) if (ImGui.Button("Reset Columns"u8))
this.allLoadedTexturesTableName = "##table" + Environment.TickCount64; this.allLoadedTexturesTableName = "##table" + Environment.TickCount64;
if (!ImGui.BeginTable( if (!ImGui.BeginTable(
@ -367,46 +367,46 @@ internal class TexWidget : IDataWindowWidget
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Address", "Address"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
ImGui.CalcTextSize("0x7F0000000000").X, ImGui.CalcTextSize("0x7F0000000000"u8).X,
(uint)DrawBlameTableColumnUserId.NativeAddress); (uint)DrawBlameTableColumnUserId.NativeAddress);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Actions", "Actions"u8,
ImGuiTableColumnFlags.WidthFixed | ImGuiTableColumnFlags.NoSort, ImGuiTableColumnFlags.WidthFixed | ImGuiTableColumnFlags.NoSort,
iconWidths + iconWidths +
(ImGui.GetStyle().FramePadding.X * 2 * numIcons) + (ImGui.GetStyle().FramePadding.X * 2 * numIcons) +
(ImGui.GetStyle().ItemSpacing.X * 1 * numIcons), (ImGui.GetStyle().ItemSpacing.X * 1 * numIcons),
(uint)DrawBlameTableColumnUserId.Actions); (uint)DrawBlameTableColumnUserId.Actions);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Name", "Name"u8,
ImGuiTableColumnFlags.WidthStretch, ImGuiTableColumnFlags.WidthStretch,
0f, 0f,
(uint)DrawBlameTableColumnUserId.Name); (uint)DrawBlameTableColumnUserId.Name);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Width", "Width"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
ImGui.CalcTextSize("000000").X, ImGui.CalcTextSize("000000"u8).X,
(uint)DrawBlameTableColumnUserId.Width); (uint)DrawBlameTableColumnUserId.Width);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Height", "Height"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
ImGui.CalcTextSize("000000").X, ImGui.CalcTextSize("000000"u8).X,
(uint)DrawBlameTableColumnUserId.Height); (uint)DrawBlameTableColumnUserId.Height);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Format", "Format"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
ImGui.CalcTextSize("R32G32B32A32_TYPELESS").X, ImGui.CalcTextSize("R32G32B32A32_TYPELESS"u8).X,
(uint)DrawBlameTableColumnUserId.Format); (uint)DrawBlameTableColumnUserId.Format);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Size", "Size"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
ImGui.CalcTextSize("123.45 MB").X, ImGui.CalcTextSize("123.45 MB"u8).X,
(uint)DrawBlameTableColumnUserId.Size); (uint)DrawBlameTableColumnUserId.Size);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Plugins", "Plugins"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
ImGui.CalcTextSize("Aaaaaaaaaa Aaaaaaaaaa Aaaaaaaaaa").X, ImGui.CalcTextSize("Aaaaaaaaaa Aaaaaaaaaa Aaaaaaaaaa"u8).X,
(uint)DrawBlameTableColumnUserId.Plugins); (uint)DrawBlameTableColumnUserId.Plugins);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
@ -513,7 +513,7 @@ internal class TexWidget : IDataWindowWidget
private unsafe void DrawLoadedTextures(ICollection<SharedImmediateTexture> textures) private unsafe void DrawLoadedTextures(ICollection<SharedImmediateTexture> textures)
{ {
var im = Service<InterfaceManager>.Get(); var im = Service<InterfaceManager>.Get();
if (!ImGui.BeginTable("##table", 6)) if (!ImGui.BeginTable("##table"u8, 6))
return; return;
const int numIcons = 4; const int numIcons = 4;
@ -526,12 +526,12 @@ internal class TexWidget : IDataWindowWidget
} }
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableSetupColumn("ID", ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("000000").X); ImGui.TableSetupColumn("ID"u8, ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("000000"u8).X);
ImGui.TableSetupColumn("Source", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Source"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("RefCount", ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("RefCount__").X); ImGui.TableSetupColumn("RefCount"u8, ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("RefCount__"u8).X);
ImGui.TableSetupColumn("SelfRef", ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("00.000___").X); ImGui.TableSetupColumn("SelfRef"u8, ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("00.000___"u8).X);
ImGui.TableSetupColumn( ImGui.TableSetupColumn(
"Actions", "Actions"u8,
ImGuiTableColumnFlags.WidthFixed, ImGuiTableColumnFlags.WidthFixed,
iconWidths + iconWidths +
(ImGui.GetStyle().FramePadding.X * 2 * numIcons) + (ImGui.GetStyle().FramePadding.X * 2 * numIcons) +
@ -566,7 +566,7 @@ internal class TexWidget : IDataWindowWidget
// Should not happen // Should not happen
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted("?"); ImGui.Text("?"u8);
continue; continue;
} }
@ -615,7 +615,7 @@ internal class TexWidget : IDataWindowWidget
if (ImGuiComponents.IconButton(FontAwesomeIcon.Trash)) if (ImGuiComponents.IconButton(FontAwesomeIcon.Trash))
texture.ReleaseSelfReference(true); texture.ReleaseSelfReference(true);
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
ImGui.SetTooltip("Release self-reference immediately."); ImGui.SetTooltip("Release self-reference immediately."u8);
if (remain <= 0) if (remain <= 0)
ImGui.EndDisabled(); ImGui.EndDisabled();
@ -635,12 +635,12 @@ internal class TexWidget : IDataWindowWidget
private void DrawGetFromGameIcon() private void DrawGetFromGameIcon()
{ {
ImGui.InputText("Icon ID", ref this.iconId, 32); ImGui.InputText("Icon ID"u8, ref this.iconId, 32);
ImGui.Checkbox("HQ Item", ref this.hq); ImGui.Checkbox("HQ Item"u8, ref this.hq);
ImGui.Checkbox("Hi-Res", ref this.hiRes); ImGui.Checkbox("Hi-Res"u8, ref this.hiRes);
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Load Icon (Async)")) if (ImGui.Button("Load Icon (Async)"u8))
{ {
this.addedTextures.Add( this.addedTextures.Add(
new( new(
@ -651,7 +651,7 @@ internal class TexWidget : IDataWindowWidget
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Load Icon (Immediate)")) if (ImGui.Button("Load Icon (Immediate)"u8))
this.addedTextures.Add(new(Api10ImmGameIcon: new(uint.Parse(this.iconId), this.hq, this.hiRes))); this.addedTextures.Add(new(Api10ImmGameIcon: new(uint.Parse(this.iconId), this.hq, this.hiRes)));
ImGuiHelpers.ScaledDummy(10); ImGuiHelpers.ScaledDummy(10);
@ -659,14 +659,14 @@ internal class TexWidget : IDataWindowWidget
private void DrawGetFromGame() private void DrawGetFromGame()
{ {
ImGui.InputText("Tex Path", ref this.inputTexPath, 255); ImGui.InputText("Tex Path"u8, ref this.inputTexPath, 255);
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Load Tex (Async)")) if (ImGui.Button("Load Tex (Async)"u8))
this.addedTextures.Add(new(Api10: this.textureManager.Shared.GetFromGame(this.inputTexPath).RentAsync())); this.addedTextures.Add(new(Api10: this.textureManager.Shared.GetFromGame(this.inputTexPath).RentAsync()));
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Load Tex (Immediate)")) if (ImGui.Button("Load Tex (Immediate)"u8))
this.addedTextures.Add(new(Api10ImmGamePath: this.inputTexPath)); this.addedTextures.Add(new(Api10ImmGamePath: this.inputTexPath));
ImGuiHelpers.ScaledDummy(10); ImGuiHelpers.ScaledDummy(10);
@ -674,14 +674,14 @@ internal class TexWidget : IDataWindowWidget
private void DrawGetFromFile() private void DrawGetFromFile()
{ {
ImGui.InputText("File Path", ref this.inputFilePath, 255); ImGui.InputText("File Path"u8, ref this.inputFilePath, 255);
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Load File (Async)")) if (ImGui.Button("Load File (Async)"u8))
this.addedTextures.Add(new(Api10: this.textureManager.Shared.GetFromFile(this.inputFilePath).RentAsync())); this.addedTextures.Add(new(Api10: this.textureManager.Shared.GetFromFile(this.inputFilePath).RentAsync()));
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Load File (Immediate)")) if (ImGui.Button("Load File (Immediate)"u8))
this.addedTextures.Add(new(Api10ImmFile: this.inputFilePath)); this.addedTextures.Add(new(Api10ImmFile: this.inputFilePath));
ImGuiHelpers.ScaledDummy(10); ImGuiHelpers.ScaledDummy(10);
@ -734,7 +734,7 @@ internal class TexWidget : IDataWindowWidget
? this.inputManifestResourceNameCandidates[this.inputManifestResourceNameIndex] ? this.inputManifestResourceNameCandidates[this.inputManifestResourceNameIndex]
: null; : null;
if (ImGui.Button("Refresh Assemblies")) if (ImGui.Button("Refresh Assemblies"u8))
{ {
this.inputManifestResourceAssemblyIndex = 0; this.inputManifestResourceAssemblyIndex = 0;
this.inputManifestResourceAssemblyCandidates = null; this.inputManifestResourceAssemblyCandidates = null;
@ -746,14 +746,14 @@ internal class TexWidget : IDataWindowWidget
if (assembly is not null && name is not null) if (assembly is not null && name is not null)
{ {
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Load File (Async)")) if (ImGui.Button("Load File (Async)"u8))
{ {
this.addedTextures.Add( this.addedTextures.Add(
new(Api10: this.textureManager.Shared.GetFromManifestResource(assembly, name).RentAsync())); new(Api10: this.textureManager.Shared.GetFromManifestResource(assembly, name).RentAsync()));
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Load File (Immediate)")) if (ImGui.Button("Load File (Immediate)"u8))
this.addedTextures.Add(new(Api10ImmManifestResource: (assembly, name))); this.addedTextures.Add(new(Api10ImmManifestResource: (assembly, name)));
} }
@ -800,7 +800,7 @@ internal class TexWidget : IDataWindowWidget
if (ImGui.InputFloat2(nameof(this.viewportTextureArgs.Uv1), ref vec2)) if (ImGui.InputFloat2(nameof(this.viewportTextureArgs.Uv1), ref vec2))
this.viewportTextureArgs.Uv1 = vec2; this.viewportTextureArgs.Uv1 = vec2;
if (ImGui.Button("Create") && this.viewportIndexInt >= 0 && this.viewportIndexInt < viewports.Size) if (ImGui.Button("Create"u8) && this.viewportIndexInt >= 0 && this.viewportIndexInt < viewports.Size)
{ {
this.addedTextures.Add( this.addedTextures.Add(
new() new()

View file

@ -1,4 +1,4 @@
using System.Numerics; using System.Numerics;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Game.Gui.Toast; using Dalamud.Game.Gui.Toast;
@ -39,18 +39,18 @@ internal class ToastWidget : IDataWindowWidget
{ {
var toastGui = Service<ToastGui>.Get(); var toastGui = Service<ToastGui>.Get();
ImGui.InputText("Toast text", ref this.inputTextToast, 200); ImGui.InputText("Toast text"u8, ref this.inputTextToast, 200);
ImGui.Combo("Toast Position", ref this.toastPosition, ["Bottom", "Top"]); ImGui.Combo("Toast Position", ref this.toastPosition, ["Bottom", "Top",], 2);
ImGui.Combo("Toast Speed", ref this.toastSpeed, ["Slow", "Fast"]); ImGui.Combo("Toast Speed", ref this.toastSpeed, ["Slow", "Fast",], 2);
ImGui.Combo("Quest Toast Position", ref this.questToastPosition, ["Centre", "Right", "Left"]); ImGui.Combo("Quest Toast Position", ref this.questToastPosition, ["Centre", "Right", "Left"], 3);
ImGui.Checkbox("Quest Checkmark", ref this.questToastCheckmark); ImGui.Checkbox("Quest Checkmark"u8, ref this.questToastCheckmark);
ImGui.Checkbox("Quest Play Sound", ref this.questToastSound); ImGui.Checkbox("Quest Play Sound"u8, ref this.questToastSound);
ImGui.InputInt("Quest Icon ID", ref this.questToastIconId); ImGui.InputInt("Quest Icon ID"u8, ref this.questToastIconId);
ImGuiHelpers.ScaledDummy(new Vector2(10, 10)); ImGuiHelpers.ScaledDummy(new Vector2(10, 10));
if (ImGui.Button("Show toast")) if (ImGui.Button("Show toast"u8))
{ {
toastGui.ShowNormal(this.inputTextToast, new ToastOptions toastGui.ShowNormal(this.inputTextToast, new ToastOptions
{ {
@ -59,7 +59,7 @@ internal class ToastWidget : IDataWindowWidget
}); });
} }
if (ImGui.Button("Show Quest toast")) if (ImGui.Button("Show Quest toast"u8))
{ {
toastGui.ShowQuest(this.inputTextToast, new QuestToastOptions toastGui.ShowQuest(this.inputTextToast, new QuestToastOptions
{ {
@ -70,7 +70,7 @@ internal class ToastWidget : IDataWindowWidget
}); });
} }
if (ImGui.Button("Show Error toast")) if (ImGui.Button("Show Error toast"u8))
{ {
toastGui.ShowError(this.inputTextToast); toastGui.ShowError(this.inputTextToast);
} }

View file

@ -44,24 +44,24 @@ internal class UiColorWidget : IDataWindowWidget
"<edgecolor(0xEEEEFF)><color(0x0000FF)>BB<color(stackcolor)><edgecolor(stackcolor)>.<br>" + "<edgecolor(0xEEEEFF)><color(0x0000FF)>BB<color(stackcolor)><edgecolor(stackcolor)>.<br>" +
"· Click on a color to copy the color code.<br>" + "· Click on a color to copy the color code.<br>" +
"· Hover on a color to preview the text with edge, when the next color has been used together."); "· Hover on a color to preview the text with edge, when the next color has been used together.");
if (!ImGui.BeginTable("UIColor", 5)) if (!ImGui.BeginTable("UIColor"u8, 5))
return; return;
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
var rowidw = ImGui.CalcTextSize("9999999").X; var rowidw = ImGui.CalcTextSize("9999999"u8).X;
var colorw = ImGui.CalcTextSize("#999999").X; var colorw = ImGui.CalcTextSize("#999999"u8).X;
colorw = Math.Max(colorw, ImGui.CalcTextSize("#AAAAAA").X); colorw = Math.Max(colorw, ImGui.CalcTextSize("#AAAAAA"u8).X);
colorw = Math.Max(colorw, ImGui.CalcTextSize("#BBBBBB").X); colorw = Math.Max(colorw, ImGui.CalcTextSize("#BBBBBB"u8).X);
colorw = Math.Max(colorw, ImGui.CalcTextSize("#CCCCCC").X); colorw = Math.Max(colorw, ImGui.CalcTextSize("#CCCCCC"u8).X);
colorw = Math.Max(colorw, ImGui.CalcTextSize("#DDDDDD").X); colorw = Math.Max(colorw, ImGui.CalcTextSize("#DDDDDD"u8).X);
colorw = Math.Max(colorw, ImGui.CalcTextSize("#EEEEEE").X); colorw = Math.Max(colorw, ImGui.CalcTextSize("#EEEEEE"u8).X);
colorw = Math.Max(colorw, ImGui.CalcTextSize("#FFFFFF").X); colorw = Math.Max(colorw, ImGui.CalcTextSize("#FFFFFF"u8).X);
colorw += ImGui.GetFrameHeight() + ImGui.GetStyle().FramePadding.X; colorw += ImGui.GetFrameHeight() + ImGui.GetStyle().FramePadding.X;
ImGui.TableSetupColumn("Row ID", ImGuiTableColumnFlags.WidthFixed, rowidw); ImGui.TableSetupColumn("Row ID"u8, ImGuiTableColumnFlags.WidthFixed, rowidw);
ImGui.TableSetupColumn("Dark", ImGuiTableColumnFlags.WidthFixed, colorw); ImGui.TableSetupColumn("Dark"u8, ImGuiTableColumnFlags.WidthFixed, colorw);
ImGui.TableSetupColumn("Light", ImGuiTableColumnFlags.WidthFixed, colorw); ImGui.TableSetupColumn("Light"u8, ImGuiTableColumnFlags.WidthFixed, colorw);
ImGui.TableSetupColumn("Classic FF", ImGuiTableColumnFlags.WidthFixed, colorw); ImGui.TableSetupColumn("Classic FF"u8, ImGuiTableColumnFlags.WidthFixed, colorw);
ImGui.TableSetupColumn("Clear Blue", ImGuiTableColumnFlags.WidthFixed, colorw); ImGui.TableSetupColumn("Clear Blue"u8, ImGuiTableColumnFlags.WidthFixed, colorw);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
var clipper = ImGui.ImGuiListClipper(); var clipper = ImGui.ImGuiListClipper();
@ -87,7 +87,7 @@ internal class UiColorWidget : IDataWindowWidget
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted($"{id}"); ImGui.Text($"{id}");
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
@ -186,7 +186,7 @@ internal class UiColorWidget : IDataWindowWidget
ImGui.GetColorU32(ImGuiCol.Text), ImGui.GetColorU32(ImGuiCol.Text),
rgbtext); rgbtext);
if (ImGui.InvisibleButton("##copy", size)) if (ImGui.InvisibleButton("##copy"u8, size))
{ {
ImGui.SetClipboardText(rgbtext); ImGui.SetClipboardText(rgbtext);
Service<NotificationManager>.Get().AddNotification( Service<NotificationManager>.Get().AddNotification(

View file

@ -90,13 +90,13 @@ internal class UldWidget : IDataWindowWidget
uldNames = t.Result; uldNames = t.Result;
break; break;
case { Exception: { } loadException }: case { Exception: { } loadException }:
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudRed, loadException.ToString()); ImGui.TextColoredWrapped(ImGuiColors.DalamudRed, loadException.ToString());
return; return;
case { IsCanceled: true }: case { IsCanceled: true }:
ClearTask(ref this.uldNamesTask); ClearTask(ref this.uldNamesTask);
goto default; goto default;
default: default:
ImGui.TextUnformatted("Loading..."); ImGui.Text("Loading..."u8);
return; return;
} }
@ -109,7 +109,7 @@ internal class UldWidget : IDataWindowWidget
if (ImGuiComponents.IconButton("selectUldRight", FontAwesomeIcon.AngleRight)) if (ImGuiComponents.IconButton("selectUldRight", FontAwesomeIcon.AngleRight))
this.selectedUld = (this.selectedUld + 1) % uldNames.Length; this.selectedUld = (this.selectedUld + 1) % uldNames.Length;
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted("Select ULD File"); ImGui.Text("Select ULD File"u8);
if (selectedUldPrev != this.selectedUld) if (selectedUldPrev != this.selectedUld)
{ {
// reset selected parts when changing ULD // reset selected parts when changing ULD
@ -125,7 +125,7 @@ internal class UldWidget : IDataWindowWidget
if (ImGuiComponents.IconButton("selectThemeRight", FontAwesomeIcon.AngleRight)) if (ImGuiComponents.IconButton("selectThemeRight", FontAwesomeIcon.AngleRight))
this.selectedTheme = (this.selectedTheme + 1) % ThemeDisplayNames.Length; this.selectedTheme = (this.selectedTheme + 1) % ThemeDisplayNames.Length;
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted("Select Theme"); ImGui.Text("Select Theme"u8);
var dataManager = Service<DataManager>.Get(); var dataManager = Service<DataManager>.Get();
var textureManager = Service<TextureManager>.Get(); var textureManager = Service<TextureManager>.Get();
@ -138,7 +138,7 @@ internal class UldWidget : IDataWindowWidget
uld = this.selectedUldFileTask.Result; uld = this.selectedUldFileTask.Result;
break; break;
case { Exception: { } loadException }: case { Exception: { } loadException }:
ImGuiHelpers.SafeTextColoredWrapped( ImGui.TextColoredWrapped(
ImGuiColors.DalamudRed, ImGuiColors.DalamudRed,
$"Failed to load ULD file.\n{loadException}"); $"Failed to load ULD file.\n{loadException}");
return; return;
@ -146,23 +146,23 @@ internal class UldWidget : IDataWindowWidget
this.selectedUldFileTask = null; this.selectedUldFileTask = null;
goto default; goto default;
default: default:
ImGui.TextUnformatted("Loading..."); ImGui.Text("Loading..."u8);
return; return;
} }
if (ImGui.CollapsingHeader("Texture Entries")) if (ImGui.CollapsingHeader("Texture Entries"u8))
{ {
if (ForceNullable(uld.AssetData) is null) if (ForceNullable(uld.AssetData) is null)
{ {
ImGuiHelpers.SafeTextColoredWrapped( ImGui.TextColoredWrapped(
ImGuiColors.DalamudRed, ImGuiColors.DalamudRed,
$"Error: {nameof(UldFile.AssetData)} is not populated."); $"Error: {nameof(UldFile.AssetData)} is not populated.");
} }
else if (ImGui.BeginTable("##uldTextureEntries", 3, ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders)) else if (ImGui.BeginTable("##uldTextureEntries"u8, 3, ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders))
{ {
ImGui.TableSetupColumn("Id", ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("000000").X); ImGui.TableSetupColumn("Id"u8, ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("000000"u8).X);
ImGui.TableSetupColumn("Path", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("Path"u8, ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("Actions", ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("Preview___").X); ImGui.TableSetupColumn("Actions"u8, ImGuiTableColumnFlags.WidthFixed, ImGui.CalcTextSize("Preview___"u8).X);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
foreach (var textureEntry in uld.AssetData) foreach (var textureEntry in uld.AssetData)
@ -172,40 +172,40 @@ internal class UldWidget : IDataWindowWidget
} }
} }
if (ImGui.CollapsingHeader("Timeline##TimelineCollapsingHeader")) if (ImGui.CollapsingHeader("Timeline##TimelineCollapsingHeader"u8))
{ {
if (ForceNullable(uld.Timelines) is null) if (ForceNullable(uld.Timelines) is null)
{ {
ImGuiHelpers.SafeTextColoredWrapped( ImGui.TextColoredWrapped(
ImGuiColors.DalamudRed, ImGuiColors.DalamudRed,
$"Error: {nameof(UldFile.Timelines)} is not populated."); $"Error: {nameof(UldFile.Timelines)} is not populated.");
} }
else if (uld.Timelines.Length == 0) else if (uld.Timelines.Length == 0)
{ {
ImGui.TextUnformatted("No entry exists."); ImGui.Text("No entry exists."u8);
} }
else else
{ {
ImGui.SliderInt("Timeline##TimelineSlider", ref this.selectedTimeline, 0, uld.Timelines.Length - 1); ImGui.SliderInt("Timeline##TimelineSlider"u8, ref this.selectedTimeline, 0, uld.Timelines.Length - 1);
this.DrawTimelines(uld.Timelines[this.selectedTimeline]); this.DrawTimelines(uld.Timelines[this.selectedTimeline]);
} }
} }
if (ImGui.CollapsingHeader("Parts##PartsCollapsingHeader")) if (ImGui.CollapsingHeader("Parts##PartsCollapsingHeader"u8))
{ {
if (ForceNullable(uld.Parts) is null) if (ForceNullable(uld.Parts) is null)
{ {
ImGuiHelpers.SafeTextColoredWrapped( ImGui.TextColoredWrapped(
ImGuiColors.DalamudRed, ImGuiColors.DalamudRed,
$"Error: {nameof(UldFile.Parts)} is not populated."); $"Error: {nameof(UldFile.Parts)} is not populated.");
} }
else if (uld.Parts.Length == 0) else if (uld.Parts.Length == 0)
{ {
ImGui.TextUnformatted("No entry exists."); ImGui.Text("No entry exists."u8);
} }
else else
{ {
ImGui.SliderInt("Parts##PartsSlider", ref this.selectedParts, 0, uld.Parts.Length - 1); ImGui.SliderInt("Parts##PartsSlider"u8, ref this.selectedParts, 0, uld.Parts.Length - 1);
this.DrawParts(uld.Parts[this.selectedParts], uld.AssetData, textureManager); this.DrawParts(uld.Parts[this.selectedParts], uld.AssetData, textureManager);
} }
} }
@ -269,7 +269,7 @@ internal class UldWidget : IDataWindowWidget
{ {
var path = GetStringNullTerminated(textureEntry.Path); var path = GetStringNullTerminated(textureEntry.Path);
ImGui.TableNextColumn(); ImGui.TableNextColumn();
ImGui.TextUnformatted(textureEntry.Id.ToString()); ImGui.Text(textureEntry.Id.ToString());
ImGui.TableNextColumn(); ImGui.TableNextColumn();
this.TextColumnCopiable(path, false, false); this.TextColumnCopiable(path, false, false);
@ -278,27 +278,27 @@ internal class UldWidget : IDataWindowWidget
if (string.IsNullOrWhiteSpace(path)) if (string.IsNullOrWhiteSpace(path))
return; return;
ImGui.TextUnformatted("Preview"); ImGui.Text("Preview"u8);
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.BeginTooltip(); ImGui.BeginTooltip();
var texturePath = GetStringNullTerminated(textureEntry.Path); var texturePath = GetStringNullTerminated(textureEntry.Path);
ImGui.TextUnformatted($"Base path at {texturePath}:"); ImGui.Text($"Base path at {texturePath}:");
if (textureManager.Shared.GetFromGame(texturePath).TryGetWrap(out var wrap, out var e)) if (textureManager.Shared.GetFromGame(texturePath).TryGetWrap(out var wrap, out var e))
ImGui.Image(wrap.Handle, wrap.Size); ImGui.Image(wrap.Handle, wrap.Size);
else if (e is not null) else if (e is not null)
ImGui.TextUnformatted(e.ToString()); ImGui.Text(e.ToString());
if (this.selectedTheme != 0) if (this.selectedTheme != 0)
{ {
var texturePathThemed = this.ToThemedPath(texturePath); var texturePathThemed = this.ToThemedPath(texturePath);
ImGui.TextUnformatted($"Themed path at {texturePathThemed}:"); ImGui.Text($"Themed path at {texturePathThemed}:");
if (textureManager.Shared.GetFromGame(texturePathThemed).TryGetWrap(out wrap, out e)) if (textureManager.Shared.GetFromGame(texturePathThemed).TryGetWrap(out wrap, out e))
ImGui.Image(wrap.Handle, wrap.Size); ImGui.Image(wrap.Handle, wrap.Size);
else if (e is not null) else if (e is not null)
ImGui.TextUnformatted(e.ToString()); ImGui.Text(e.ToString());
} }
ImGui.EndTooltip(); ImGui.EndTooltip();
@ -307,13 +307,13 @@ internal class UldWidget : IDataWindowWidget
private void DrawTimelines(UldRoot.Timeline timeline) private void DrawTimelines(UldRoot.Timeline timeline)
{ {
ImGui.SliderInt("FrameData", ref this.selectedFrameData, 0, timeline.FrameData.Length - 1); ImGui.SliderInt("FrameData"u8, ref this.selectedFrameData, 0, timeline.FrameData.Length - 1);
var frameData = timeline.FrameData[this.selectedFrameData]; var frameData = timeline.FrameData[this.selectedFrameData];
ImGui.TextUnformatted($"FrameInfo: {frameData.StartFrame} -> {frameData.EndFrame}"); ImGui.Text($"FrameInfo: {frameData.StartFrame} -> {frameData.EndFrame}");
ImGui.Indent(); ImGui.Indent();
foreach (var frameDataKeyGroup in frameData.KeyGroups) foreach (var frameDataKeyGroup in frameData.KeyGroups)
{ {
ImGui.TextUnformatted($"{frameDataKeyGroup.Usage:G} {frameDataKeyGroup.Type:G}"); ImGui.Text($"{frameDataKeyGroup.Usage:G} {frameDataKeyGroup.Type:G}");
foreach (var keyframe in frameDataKeyGroup.Frames) foreach (var keyframe in frameDataKeyGroup.Frames)
this.DrawTimelineKeyGroupFrame(keyframe); this.DrawTimelineKeyGroupFrame(keyframe);
} }
@ -326,147 +326,147 @@ internal class UldWidget : IDataWindowWidget
switch (frame) switch (frame)
{ {
case BaseKeyframeData baseKeyframeData: case BaseKeyframeData baseKeyframeData:
ImGui.TextUnformatted( ImGui.Text(
$"Time: {baseKeyframeData.Time} | Interpolation: {baseKeyframeData.Interpolation} | Acceleration: {baseKeyframeData.Acceleration} | Deceleration: {baseKeyframeData.Deceleration}"); $"Time: {baseKeyframeData.Time} | Interpolation: {baseKeyframeData.Interpolation} | Acceleration: {baseKeyframeData.Acceleration} | Deceleration: {baseKeyframeData.Deceleration}");
break; break;
case Float1Keyframe float1Keyframe: case Float1Keyframe float1Keyframe:
this.DrawTimelineKeyGroupFrame(float1Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(float1Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value: {float1Keyframe.Value}"); ImGui.Text($" | Value: {float1Keyframe.Value}");
break; break;
case Float2Keyframe float2Keyframe: case Float2Keyframe float2Keyframe:
this.DrawTimelineKeyGroupFrame(float2Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(float2Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value1: {float2Keyframe.Value[0]} | Value2: {float2Keyframe.Value[1]}"); ImGui.Text($" | Value1: {float2Keyframe.Value[0]} | Value2: {float2Keyframe.Value[1]}");
break; break;
case Float3Keyframe float3Keyframe: case Float3Keyframe float3Keyframe:
this.DrawTimelineKeyGroupFrame(float3Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(float3Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Value1: {float3Keyframe.Value[0]} | Value2: {float3Keyframe.Value[1]} | Value3: {float3Keyframe.Value[2]}"); $" | Value1: {float3Keyframe.Value[0]} | Value2: {float3Keyframe.Value[1]} | Value3: {float3Keyframe.Value[2]}");
break; break;
case SByte1Keyframe sbyte1Keyframe: case SByte1Keyframe sbyte1Keyframe:
this.DrawTimelineKeyGroupFrame(sbyte1Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(sbyte1Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value: {sbyte1Keyframe.Value}"); ImGui.Text($" | Value: {sbyte1Keyframe.Value}");
break; break;
case SByte2Keyframe sbyte2Keyframe: case SByte2Keyframe sbyte2Keyframe:
this.DrawTimelineKeyGroupFrame(sbyte2Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(sbyte2Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value1: {sbyte2Keyframe.Value[0]} | Value2: {sbyte2Keyframe.Value[1]}"); ImGui.Text($" | Value1: {sbyte2Keyframe.Value[0]} | Value2: {sbyte2Keyframe.Value[1]}");
break; break;
case SByte3Keyframe sbyte3Keyframe: case SByte3Keyframe sbyte3Keyframe:
this.DrawTimelineKeyGroupFrame(sbyte3Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(sbyte3Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Value1: {sbyte3Keyframe.Value[0]} | Value2: {sbyte3Keyframe.Value[1]} | Value3: {sbyte3Keyframe.Value[2]}"); $" | Value1: {sbyte3Keyframe.Value[0]} | Value2: {sbyte3Keyframe.Value[1]} | Value3: {sbyte3Keyframe.Value[2]}");
break; break;
case Byte1Keyframe byte1Keyframe: case Byte1Keyframe byte1Keyframe:
this.DrawTimelineKeyGroupFrame(byte1Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(byte1Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value: {byte1Keyframe.Value}"); ImGui.Text($" | Value: {byte1Keyframe.Value}");
break; break;
case Byte2Keyframe byte2Keyframe: case Byte2Keyframe byte2Keyframe:
this.DrawTimelineKeyGroupFrame(byte2Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(byte2Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value1: {byte2Keyframe.Value[0]} | Value2: {byte2Keyframe.Value[1]}"); ImGui.Text($" | Value1: {byte2Keyframe.Value[0]} | Value2: {byte2Keyframe.Value[1]}");
break; break;
case Byte3Keyframe byte3Keyframe: case Byte3Keyframe byte3Keyframe:
this.DrawTimelineKeyGroupFrame(byte3Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(byte3Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Value1: {byte3Keyframe.Value[0]} | Value2: {byte3Keyframe.Value[1]} | Value3: {byte3Keyframe.Value[2]}"); $" | Value1: {byte3Keyframe.Value[0]} | Value2: {byte3Keyframe.Value[1]} | Value3: {byte3Keyframe.Value[2]}");
break; break;
case Short1Keyframe short1Keyframe: case Short1Keyframe short1Keyframe:
this.DrawTimelineKeyGroupFrame(short1Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(short1Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value: {short1Keyframe.Value}"); ImGui.Text($" | Value: {short1Keyframe.Value}");
break; break;
case Short2Keyframe short2Keyframe: case Short2Keyframe short2Keyframe:
this.DrawTimelineKeyGroupFrame(short2Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(short2Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value1: {short2Keyframe.Value[0]} | Value2: {short2Keyframe.Value[1]}"); ImGui.Text($" | Value1: {short2Keyframe.Value[0]} | Value2: {short2Keyframe.Value[1]}");
break; break;
case Short3Keyframe short3Keyframe: case Short3Keyframe short3Keyframe:
this.DrawTimelineKeyGroupFrame(short3Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(short3Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Value1: {short3Keyframe.Value[0]} | Value2: {short3Keyframe.Value[1]} | Value3: {short3Keyframe.Value[2]}"); $" | Value1: {short3Keyframe.Value[0]} | Value2: {short3Keyframe.Value[1]} | Value3: {short3Keyframe.Value[2]}");
break; break;
case UShort1Keyframe ushort1Keyframe: case UShort1Keyframe ushort1Keyframe:
this.DrawTimelineKeyGroupFrame(ushort1Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(ushort1Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value: {ushort1Keyframe.Value}"); ImGui.Text($" | Value: {ushort1Keyframe.Value}");
break; break;
case UShort2Keyframe ushort2Keyframe: case UShort2Keyframe ushort2Keyframe:
this.DrawTimelineKeyGroupFrame(ushort2Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(ushort2Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value1: {ushort2Keyframe.Value[0]} | Value2: {ushort2Keyframe.Value[1]}"); ImGui.Text($" | Value1: {ushort2Keyframe.Value[0]} | Value2: {ushort2Keyframe.Value[1]}");
break; break;
case UShort3Keyframe ushort3Keyframe: case UShort3Keyframe ushort3Keyframe:
this.DrawTimelineKeyGroupFrame(ushort3Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(ushort3Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Value1: {ushort3Keyframe.Value[0]} | Value2: {ushort3Keyframe.Value[1]} | Value3: {ushort3Keyframe.Value[2]}"); $" | Value1: {ushort3Keyframe.Value[0]} | Value2: {ushort3Keyframe.Value[1]} | Value3: {ushort3Keyframe.Value[2]}");
break; break;
case Int1Keyframe int1Keyframe: case Int1Keyframe int1Keyframe:
this.DrawTimelineKeyGroupFrame(int1Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(int1Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value: {int1Keyframe.Value}"); ImGui.Text($" | Value: {int1Keyframe.Value}");
break; break;
case Int2Keyframe int2Keyframe: case Int2Keyframe int2Keyframe:
this.DrawTimelineKeyGroupFrame(int2Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(int2Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value1: {int2Keyframe.Value[0]} | Value2: {int2Keyframe.Value[1]}"); ImGui.Text($" | Value1: {int2Keyframe.Value[0]} | Value2: {int2Keyframe.Value[1]}");
break; break;
case Int3Keyframe int3Keyframe: case Int3Keyframe int3Keyframe:
this.DrawTimelineKeyGroupFrame(int3Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(int3Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Value1: {int3Keyframe.Value[0]} | Value2: {int3Keyframe.Value[1]} | Value3: {int3Keyframe.Value[2]}"); $" | Value1: {int3Keyframe.Value[0]} | Value2: {int3Keyframe.Value[1]} | Value3: {int3Keyframe.Value[2]}");
break; break;
case UInt1Keyframe uint1Keyframe: case UInt1Keyframe uint1Keyframe:
this.DrawTimelineKeyGroupFrame(uint1Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(uint1Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value: {uint1Keyframe.Value}"); ImGui.Text($" | Value: {uint1Keyframe.Value}");
break; break;
case UInt2Keyframe uint2Keyframe: case UInt2Keyframe uint2Keyframe:
this.DrawTimelineKeyGroupFrame(uint2Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(uint2Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value1: {uint2Keyframe.Value[0]} | Value2: {uint2Keyframe.Value[1]}"); ImGui.Text($" | Value1: {uint2Keyframe.Value[0]} | Value2: {uint2Keyframe.Value[1]}");
break; break;
case UInt3Keyframe uint3Keyframe: case UInt3Keyframe uint3Keyframe:
this.DrawTimelineKeyGroupFrame(uint3Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(uint3Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Value1: {uint3Keyframe.Value[0]} | Value2: {uint3Keyframe.Value[1]} | Value3: {uint3Keyframe.Value[2]}"); $" | Value1: {uint3Keyframe.Value[0]} | Value2: {uint3Keyframe.Value[1]} | Value3: {uint3Keyframe.Value[2]}");
break; break;
case Bool1Keyframe bool1Keyframe: case Bool1Keyframe bool1Keyframe:
this.DrawTimelineKeyGroupFrame(bool1Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(bool1Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value: {bool1Keyframe.Value}"); ImGui.Text($" | Value: {bool1Keyframe.Value}");
break; break;
case Bool2Keyframe bool2Keyframe: case Bool2Keyframe bool2Keyframe:
this.DrawTimelineKeyGroupFrame(bool2Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(bool2Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted($" | Value1: {bool2Keyframe.Value[0]} | Value2: {bool2Keyframe.Value[1]}"); ImGui.Text($" | Value1: {bool2Keyframe.Value[0]} | Value2: {bool2Keyframe.Value[1]}");
break; break;
case Bool3Keyframe bool3Keyframe: case Bool3Keyframe bool3Keyframe:
this.DrawTimelineKeyGroupFrame(bool3Keyframe.Keyframe); this.DrawTimelineKeyGroupFrame(bool3Keyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Value1: {bool3Keyframe.Value[0]} | Value2: {bool3Keyframe.Value[1]} | Value3: {bool3Keyframe.Value[2]}"); $" | Value1: {bool3Keyframe.Value[0]} | Value2: {bool3Keyframe.Value[1]} | Value3: {bool3Keyframe.Value[2]}");
break; break;
case ColorKeyframe colorKeyframe: case ColorKeyframe colorKeyframe:
this.DrawTimelineKeyGroupFrame(colorKeyframe.Keyframe); this.DrawTimelineKeyGroupFrame(colorKeyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | Add: {colorKeyframe.AddRed} {colorKeyframe.AddGreen} {colorKeyframe.AddBlue} | Multiply: {colorKeyframe.MultiplyRed} {colorKeyframe.MultiplyGreen} {colorKeyframe.MultiplyBlue}"); $" | Add: {colorKeyframe.AddRed} {colorKeyframe.AddGreen} {colorKeyframe.AddBlue} | Multiply: {colorKeyframe.MultiplyRed} {colorKeyframe.MultiplyGreen} {colorKeyframe.MultiplyBlue}");
break; break;
case LabelKeyframe labelKeyframe: case LabelKeyframe labelKeyframe:
this.DrawTimelineKeyGroupFrame(labelKeyframe.Keyframe); this.DrawTimelineKeyGroupFrame(labelKeyframe.Keyframe);
ImGui.SameLine(0, 0); ImGui.SameLine(0, 0);
ImGui.TextUnformatted( ImGui.Text(
$" | LabelCommand: {labelKeyframe.LabelCommand} | JumpId: {labelKeyframe.JumpId} | LabelId: {labelKeyframe.LabelId}"); $" | LabelCommand: {labelKeyframe.LabelCommand} | JumpId: {labelKeyframe.JumpId} | LabelId: {labelKeyframe.LabelId}");
break; break;
} }
@ -479,7 +479,7 @@ internal class UldWidget : IDataWindowWidget
{ {
for (var index = 0; index < partsData.Parts.Length; index++) for (var index = 0; index < partsData.Parts.Length; index++)
{ {
ImGui.TextUnformatted($"Index: {index}"); ImGui.Text($"Index: {index}");
var partsDataPart = partsData.Parts[index]; var partsDataPart = partsData.Parts[index];
ImGui.SameLine(); ImGui.SameLine();
@ -494,14 +494,14 @@ internal class UldWidget : IDataWindowWidget
if (path is null) if (path is null)
{ {
ImGui.TextUnformatted($"Could not find texture for id {partsDataPart.TextureId}"); ImGui.Text($"Could not find texture for id {partsDataPart.TextureId}");
continue; continue;
} }
var texturePath = GetStringNullTerminated(path); var texturePath = GetStringNullTerminated(path);
if (string.IsNullOrWhiteSpace(texturePath)) if (string.IsNullOrWhiteSpace(texturePath))
{ {
ImGui.TextUnformatted("Texture path is empty."); ImGui.Text("Texture path is empty."u8);
continue; continue;
} }
@ -518,7 +518,7 @@ internal class UldWidget : IDataWindowWidget
// neither the supposedly original path nor themed path had a file we could load. // neither the supposedly original path nor themed path had a file we could load.
if (e is not null && e2 is not null) if (e is not null && e2 is not null)
{ {
ImGui.TextUnformatted($"{texturePathThemed}: {e}\n{texturePath}: {e2}"); ImGui.Text($"{texturePathThemed}: {e}\n{texturePath}: {e2}");
continue; continue;
} }
} }
@ -542,8 +542,8 @@ internal class UldWidget : IDataWindowWidget
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.BeginTooltip(); ImGui.BeginTooltip();
ImGui.TextUnformatted("Click to copy:"); ImGui.Text("Click to copy:"u8);
ImGui.TextUnformatted(texturePath); ImGui.Text(texturePath);
ImGui.EndTooltip(); ImGui.EndTooltip();
} }
} }

View file

@ -37,12 +37,12 @@ internal class VfsWidget : IDataWindowWidget
var service = Service<ReliableFileStorage>.Get(); var service = Service<ReliableFileStorage>.Get();
var dalamud = Service<Dalamud>.Get(); var dalamud = Service<Dalamud>.Get();
ImGui.InputInt("Num bytes", ref this.numBytes); ImGui.InputInt("Num bytes"u8, ref this.numBytes);
ImGui.InputInt("Reps", ref this.reps); ImGui.InputInt("Reps"u8, ref this.reps);
var path = Path.Combine(dalamud.StartInfo.WorkingDirectory!, "test.bin"); var path = Path.Combine(dalamud.StartInfo.WorkingDirectory!, "test.bin");
if (ImGui.Button("Write")) if (ImGui.Button("Write"u8))
{ {
Log.Information("=== WRITING ==="); Log.Information("=== WRITING ===");
var data = new byte[this.numBytes]; var data = new byte[this.numBytes];
@ -61,7 +61,7 @@ internal class VfsWidget : IDataWindowWidget
Log.Information("Took {Ms}ms in total", acc); Log.Information("Took {Ms}ms in total", acc);
} }
if (ImGui.Button("Read")) if (ImGui.Button("Read"u8))
{ {
Log.Information("=== READING ==="); Log.Information("=== READING ===");
var stopwatch = new Stopwatch(); var stopwatch = new Stopwatch();
@ -79,7 +79,7 @@ internal class VfsWidget : IDataWindowWidget
Log.Information("Took {Ms}ms in total", acc); Log.Information("Took {Ms}ms in total", acc);
} }
if (ImGui.Button("Test Config")) if (ImGui.Button("Test Config"u8))
{ {
var config = Service<DalamudConfiguration>.Get(); var config = Service<DalamudConfiguration>.Get();

View file

@ -28,28 +28,28 @@ public class HitchSettingsWindow : Window
var config = Service<DalamudConfiguration>.Get(); var config = Service<DalamudConfiguration>.Get();
var uiBuilderHitch = (float)config.UiBuilderHitch; var uiBuilderHitch = (float)config.UiBuilderHitch;
if (ImGui.SliderFloat("UiBuilderHitch", ref uiBuilderHitch, MinHitch, MaxHitch)) if (ImGui.SliderFloat("UiBuilderHitch"u8, ref uiBuilderHitch, MinHitch, MaxHitch))
{ {
config.UiBuilderHitch = uiBuilderHitch; config.UiBuilderHitch = uiBuilderHitch;
config.QueueSave(); config.QueueSave();
} }
var frameworkUpdateHitch = (float)config.FrameworkUpdateHitch; var frameworkUpdateHitch = (float)config.FrameworkUpdateHitch;
if (ImGui.SliderFloat("FrameworkUpdateHitch", ref frameworkUpdateHitch, MinHitch, MaxHitch)) if (ImGui.SliderFloat("FrameworkUpdateHitch"u8, ref frameworkUpdateHitch, MinHitch, MaxHitch))
{ {
config.FrameworkUpdateHitch = frameworkUpdateHitch; config.FrameworkUpdateHitch = frameworkUpdateHitch;
config.QueueSave(); config.QueueSave();
} }
var gameNetworkUpHitch = (float)config.GameNetworkUpHitch; var gameNetworkUpHitch = (float)config.GameNetworkUpHitch;
if (ImGui.SliderFloat("GameNetworkUpHitch", ref gameNetworkUpHitch, MinHitch, MaxHitch)) if (ImGui.SliderFloat("GameNetworkUpHitch"u8, ref gameNetworkUpHitch, MinHitch, MaxHitch))
{ {
config.GameNetworkUpHitch = gameNetworkUpHitch; config.GameNetworkUpHitch = gameNetworkUpHitch;
config.QueueSave(); config.QueueSave();
} }
var gameNetworkDownHitch = (float)config.GameNetworkDownHitch; var gameNetworkDownHitch = (float)config.GameNetworkDownHitch;
if (ImGui.SliderFloat("GameNetworkDownHitch", ref gameNetworkDownHitch, MinHitch, MaxHitch)) if (ImGui.SliderFloat("GameNetworkDownHitch"u8, ref gameNetworkDownHitch, MinHitch, MaxHitch))
{ {
config.GameNetworkDownHitch = gameNetworkDownHitch; config.GameNetworkDownHitch = gameNetworkDownHitch;
config.QueueSave(); config.QueueSave();

View file

@ -566,7 +566,7 @@ internal class PluginInstallerWindow : Window, IDisposable
var windowSize = ImGui.GetWindowSize(); var windowSize = ImGui.GetWindowSize();
var titleHeight = ImGui.GetFontSize() + (ImGui.GetStyle().FramePadding.Y * 2); var titleHeight = ImGui.GetFontSize() + (ImGui.GetStyle().FramePadding.Y * 2);
using var loadingChild = ImRaii.Child("###installerLoadingFrame", new Vector2(-1, -1), false); using var loadingChild = ImRaii.Child("###installerLoadingFrame"u8, new Vector2(-1, -1), false);
if (loadingChild) if (loadingChild)
{ {
ImGui.GetWindowDrawList().PushClipRectFullScreen(); ImGui.GetWindowDrawList().PushClipRectFullScreen();
@ -713,7 +713,7 @@ internal class PluginInstallerWindow : Window, IDisposable
var prevSearchText = this.searchText; var prevSearchText = this.searchText;
ImGui.SetNextItemWidth(searchInputWidth); ImGui.SetNextItemWidth(searchInputWidth);
searchTextChanged |= ImGui.InputTextWithHint( searchTextChanged |= ImGui.InputTextWithHint(
"###XlPluginInstaller_Search", "###XlPluginInstaller_Search"u8,
Locs.Header_SearchPlaceholder, Locs.Header_SearchPlaceholder,
ref this.searchText, ref this.searchText,
100, 100,
@ -1092,11 +1092,11 @@ internal class PluginInstallerWindow : Window, IDisposable
if (ImGui.BeginPopupModal(modalTitle, ref this.feedbackModalDrawing, ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoScrollbar)) if (ImGui.BeginPopupModal(modalTitle, ref this.feedbackModalDrawing, ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoScrollbar))
{ {
ImGui.TextUnformatted(Locs.FeedbackModal_Text(this.feedbackPlugin.Name)); ImGui.Text(Locs.FeedbackModal_Text(this.feedbackPlugin.Name));
if (this.feedbackPlugin?.FeedbackMessage != null) if (this.feedbackPlugin?.FeedbackMessage != null)
{ {
ImGuiHelpers.SafeTextWrapped(this.feedbackPlugin.FeedbackMessage); ImGui.TextWrapped(this.feedbackPlugin.FeedbackMessage);
} }
if (this.pluginListUpdatable.Any( if (this.pluginListUpdatable.Any(
@ -1107,7 +1107,7 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.Spacing(); ImGui.Spacing();
ImGui.InputTextMultiline("###FeedbackContent", ref this.feedbackModalBody, 1000, new Vector2(400, 200)); ImGui.InputTextMultiline("###FeedbackContent"u8, ref this.feedbackModalBody, 1000, new Vector2(400, 200));
ImGui.Spacing(); ImGui.Spacing();
@ -1269,7 +1269,7 @@ internal class PluginInstallerWindow : Window, IDisposable
var sortedChangelogs = changelogs?.Where(x => this.searchText.IsNullOrWhitespace() || new FuzzyMatcher(this.searchText.ToLowerInvariant(), MatchMode.FuzzyParts).Matches(x.Title.ToLowerInvariant()) > 0) var sortedChangelogs = changelogs?.Where(x => this.searchText.IsNullOrWhitespace() || new FuzzyMatcher(this.searchText.ToLowerInvariant(), MatchMode.FuzzyParts).Matches(x.Title.ToLowerInvariant()) > 0)
.OrderByDescending(x => x.Date).ToList(); .OrderByDescending(x => x.Date).ToList();
if (sortedChangelogs == null || !sortedChangelogs.Any()) if (sortedChangelogs == null || sortedChangelogs.Count == 0)
{ {
ImGui.TextColored( ImGui.TextColored(
ImGuiColors.DalamudGrey2, ImGuiColors.DalamudGrey2,
@ -1513,14 +1513,14 @@ internal class PluginInstallerWindow : Window, IDisposable
var useContentWidth = ImGui.GetContentRegionAvail().X; var useContentWidth = ImGui.GetContentRegionAvail().X;
using var installerMainChild = ImRaii.Child("InstallerCategories", new Vector2(useContentWidth, useContentHeight * ImGuiHelpers.GlobalScale)); using var installerMainChild = ImRaii.Child("InstallerCategories"u8, new Vector2(useContentWidth, useContentHeight * ImGuiHelpers.GlobalScale));
if (installerMainChild) if (installerMainChild)
{ {
using var style = ImRaii.PushStyle(ImGuiStyleVar.CellPadding, ImGuiHelpers.ScaledVector2(5, 0)); using var style = ImRaii.PushStyle(ImGuiStyleVar.CellPadding, ImGuiHelpers.ScaledVector2(5, 0));
try try
{ {
using (var categoriesChild = ImRaii.Child("InstallerCategoriesSelector", new Vector2(useMenuWidth * ImGuiHelpers.GlobalScale, -1), false)) using (var categoriesChild = ImRaii.Child("InstallerCategoriesSelector"u8, new Vector2(useMenuWidth * ImGuiHelpers.GlobalScale, -1), false))
{ {
if (categoriesChild) if (categoriesChild)
{ {
@ -1531,7 +1531,7 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.SameLine(); ImGui.SameLine();
using var scrollingChild = using var scrollingChild =
ImRaii.Child("ScrollingPlugins", new Vector2(-1, -1), false, ImGuiWindowFlags.NoBackground); ImRaii.Child("ScrollingPlugins"u8, new Vector2(-1, -1), false, ImGuiWindowFlags.NoBackground);
if (scrollingChild) if (scrollingChild)
{ {
try try
@ -1706,7 +1706,7 @@ internal class PluginInstallerWindow : Window, IDisposable
break; break;
default: default:
ImGui.TextUnformatted("You found a mysterious category. Please keep it to yourself."); ImGui.Text("You found a mysterious category. Please keep it to yourself."u8);
break; break;
} }
@ -1731,7 +1731,7 @@ internal class PluginInstallerWindow : Window, IDisposable
break; break;
default: default:
ImGui.TextUnformatted("You found a secret category. Please feel a sense of pride and accomplishment."); ImGui.Text("You found a secret category. Please feel a sense of pride and accomplishment."u8);
break; break;
} }
@ -1752,7 +1752,7 @@ internal class PluginInstallerWindow : Window, IDisposable
break; break;
default: default:
ImGui.TextUnformatted("You found a quiet category. Please don't wake it up."); ImGui.Text("You found a quiet category. Please don't wake it up."u8);
break; break;
} }
@ -1813,7 +1813,7 @@ internal class PluginInstallerWindow : Window, IDisposable
var cursor = ImGui.GetCursorPos(); var cursor = ImGui.GetCursorPos();
// Name // Name
ImGui.Text("My Cool Plugin"); ImGui.Text("My Cool Plugin"u8);
// Download count // Download count
var downloadCountText = Locs.PluginBody_AuthorWithDownloadCount("Plugin Enjoyer", 69420); var downloadCountText = Locs.PluginBody_AuthorWithDownloadCount("Plugin Enjoyer", 69420);
@ -1825,7 +1825,7 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.SetCursorPos(cursor); ImGui.SetCursorPos(cursor);
// Description // Description
ImGui.TextWrapped("This plugin does very many great things."); ImGui.TextWrapped("This plugin does very many great things."u8);
startCursor.Y += sectionSize; startCursor.Y += sectionSize;
ImGui.SetCursorPos(startCursor); ImGui.SetCursorPos(startCursor);
@ -1835,7 +1835,7 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.Indent(); ImGui.Indent();
// Description // Description
ImGui.TextWrapped("This is a description.\nIt has multiple lines.\nTruly descriptive."); ImGui.TextWrapped("This is a description.\nIt has multiple lines.\nTruly descriptive."u8);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
@ -1869,7 +1869,7 @@ internal class PluginInstallerWindow : Window, IDisposable
var width = ImGui.GetWindowWidth(); var width = ImGui.GetWindowWidth();
if (ImGui.BeginChild( if (ImGui.BeginChild(
"pluginTestingImageScrolling", "pluginTestingImageScrolling"u8,
new Vector2(width - (70 * ImGuiHelpers.GlobalScale), (PluginImageCache.PluginImageHeight / thumbFactor) + scrollBarSize), new Vector2(width - (70 * ImGuiHelpers.GlobalScale), (PluginImageCache.PluginImageHeight / thumbFactor) + scrollBarSize),
false, false,
ImGuiWindowFlags.HorizontalScrollbar | ImGuiWindowFlags.HorizontalScrollbar |
@ -1887,13 +1887,13 @@ internal class PluginInstallerWindow : Window, IDisposable
if (!imageTask.IsCompleted) if (!imageTask.IsCompleted)
{ {
ImGui.TextUnformatted("Loading..."); ImGui.Text("Loading..."u8);
continue; continue;
} }
if (imageTask.Exception is not null) if (imageTask.Exception is not null)
{ {
ImGui.TextUnformatted(imageTask.Exception.ToString()); ImGui.Text(imageTask.Exception.ToString());
continue; continue;
} }
@ -1961,7 +1961,7 @@ internal class PluginInstallerWindow : Window, IDisposable
if (!imageTask.IsCompleted) if (!imageTask.IsCompleted)
{ {
ImGui.Text("Loading..."); ImGui.Text("Loading..."u8);
return; return;
} }
@ -1969,45 +1969,45 @@ internal class PluginInstallerWindow : Window, IDisposable
if (imageTask.Exception is { } exc) if (imageTask.Exception is { } exc)
{ {
ImGui.TextUnformatted(exc.ToString()); ImGui.Text(exc.ToString());
} }
else else
{ {
var image = imageTask.Result; var image = imageTask.Result;
if (image.Width > maxWidth || image.Height > maxHeight) if (image.Width > maxWidth || image.Height > maxHeight)
{ {
ImGui.TextUnformatted( ImGui.Text(
$"Image is larger than the maximum allowed resolution ({image.Width}x{image.Height} > {maxWidth}x{maxHeight})"); $"Image is larger than the maximum allowed resolution ({image.Width}x{image.Height} > {maxWidth}x{maxHeight})");
} }
if (requireSquare && image.Width != image.Height) if (requireSquare && image.Width != image.Height)
ImGui.TextUnformatted($"Image must be square! Current size: {image.Width}x{image.Height}"); ImGui.Text($"Image must be square! Current size: {image.Width}x{image.Height}");
} }
ImGui.PopStyleColor(); ImGui.PopStyleColor();
} }
ImGui.InputText("Icon Path", ref this.testerIconPath, 1000); ImGui.InputText("Icon Path"u8, ref this.testerIconPath, 1000);
if (this.testerIcon != null) if (this.testerIcon != null)
CheckImageSize(this.testerIcon, PluginImageCache.PluginIconWidth, PluginImageCache.PluginIconHeight, true); CheckImageSize(this.testerIcon, PluginImageCache.PluginIconWidth, PluginImageCache.PluginIconHeight, true);
ImGui.InputText("Image 1 Path", ref this.testerImagePaths[0], 1000); ImGui.InputText("Image 1 Path"u8, ref this.testerImagePaths[0], 1000);
if (this.testerImages?.Length > 0) if (this.testerImages?.Length > 0)
CheckImageSize(this.testerImages[0], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false); CheckImageSize(this.testerImages[0], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false);
ImGui.InputText("Image 2 Path", ref this.testerImagePaths[1], 1000); ImGui.InputText("Image 2 Path"u8, ref this.testerImagePaths[1], 1000);
if (this.testerImages?.Length > 1) if (this.testerImages?.Length > 1)
CheckImageSize(this.testerImages[1], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false); CheckImageSize(this.testerImages[1], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false);
ImGui.InputText("Image 3 Path", ref this.testerImagePaths[2], 1000); ImGui.InputText("Image 3 Path"u8, ref this.testerImagePaths[2], 1000);
if (this.testerImages?.Length > 2) if (this.testerImages?.Length > 2)
CheckImageSize(this.testerImages[2], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false); CheckImageSize(this.testerImages[2], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false);
ImGui.InputText("Image 4 Path", ref this.testerImagePaths[3], 1000); ImGui.InputText("Image 4 Path"u8, ref this.testerImagePaths[3], 1000);
if (this.testerImages?.Length > 3) if (this.testerImages?.Length > 3)
CheckImageSize(this.testerImages[3], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false); CheckImageSize(this.testerImages[3], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false);
ImGui.InputText("Image 5 Path", ref this.testerImagePaths[4], 1000); ImGui.InputText("Image 5 Path"u8, ref this.testerImagePaths[4], 1000);
if (this.testerImages?.Length > 4) if (this.testerImages?.Length > 4)
CheckImageSize(this.testerImages[4], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false); CheckImageSize(this.testerImages[4], PluginImageCache.PluginImageWidth, PluginImageCache.PluginImageHeight, false);
var tm = Service<TextureManager>.Get(); var tm = Service<TextureManager>.Get();
if (ImGui.Button("Load")) if (ImGui.Button("Load"u8))
{ {
try try
{ {
@ -2039,8 +2039,8 @@ internal class PluginInstallerWindow : Window, IDisposable
} }
} }
ImGui.Checkbox("Failed", ref this.testerError); ImGui.Checkbox("Failed"u8, ref this.testerError);
ImGui.Checkbox("Has Update", ref this.testerUpdateAvailable); ImGui.Checkbox("Has Update"u8, ref this.testerUpdateAvailable);
} }
private bool DrawPluginListLoading() private bool DrawPluginListLoading()
@ -2218,12 +2218,12 @@ internal class PluginInstallerWindow : Window, IDisposable
var cursor = ImGui.GetCursorPos(); var cursor = ImGui.GetCursorPos();
// Name // Name
ImGui.TextUnformatted(label); ImGui.Text(label);
// Verified Checkmark or dev plugin wrench // Verified Checkmark or dev plugin wrench
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGui.Text(" "); ImGui.Text(" "u8);
ImGui.SameLine(); ImGui.SameLine();
var verifiedOutlineColor = KnownColor.White.Vector() with { W = 0.75f }; var verifiedOutlineColor = KnownColor.White.Vector() with { W = 0.75f };
@ -2300,7 +2300,7 @@ internal class PluginInstallerWindow : Window, IDisposable
else else
bodyText += Locs.PluginBody_Outdated_WaitForUpdate; bodyText += Locs.PluginBody_Outdated_WaitForUpdate;
ImGuiHelpers.SafeTextWrapped(bodyText); ImGui.TextWrapped(bodyText);
ImGui.PopStyleColor(); ImGui.PopStyleColor();
} }
@ -2348,14 +2348,14 @@ internal class PluginInstallerWindow : Window, IDisposable
{ {
if (!string.IsNullOrWhiteSpace(manifest.Punchline)) if (!string.IsNullOrWhiteSpace(manifest.Punchline))
{ {
ImGuiHelpers.SafeTextWrapped(manifest.Punchline); ImGui.TextWrapped(manifest.Punchline);
} }
else if (!string.IsNullOrWhiteSpace(manifest.Description)) else if (!string.IsNullOrWhiteSpace(manifest.Description))
{ {
const int punchlineLen = 200; const int punchlineLen = 200;
var firstLine = manifest.Description.Split(new[] { '\r', '\n' })[0]; var firstLine = manifest.Description.Split(new[] { '\r', '\n' })[0];
ImGuiHelpers.SafeTextWrapped(firstLine.Length < punchlineLen ImGui.TextWrapped(firstLine.Length < punchlineLen
? firstLine ? firstLine
: firstLine[..punchlineLen]); : firstLine[..punchlineLen]);
} }
@ -2406,7 +2406,7 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.SameLine(); ImGui.SameLine();
var cursor = ImGui.GetCursorPos(); var cursor = ImGui.GetCursorPos();
ImGui.TextUnformatted(log.Title); ImGui.Text(log.Title);
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextColored(ImGuiColors.DalamudGrey3, $" v{log.Version}"); ImGui.TextColored(ImGuiColors.DalamudGrey3, $" v{log.Version}");
@ -2429,7 +2429,7 @@ internal class PluginInstallerWindow : Window, IDisposable
cursor.Y += ImGui.GetTextLineHeightWithSpacing(); cursor.Y += ImGui.GetTextLineHeightWithSpacing();
ImGui.SetCursorPos(cursor); ImGui.SetCursorPos(cursor);
ImGuiHelpers.SafeTextWrapped(log.Text); ImGui.TextWrapped(log.Text);
var endCursor = ImGui.GetCursorPos(); var endCursor = ImGui.GetCursorPos();
@ -2526,7 +2526,7 @@ internal class PluginInstallerWindow : Window, IDisposable
// Description // Description
if (!string.IsNullOrWhiteSpace(manifest.Description)) if (!string.IsNullOrWhiteSpace(manifest.Description))
{ {
ImGuiHelpers.SafeTextWrapped(manifest.Description); ImGui.TextWrapped(manifest.Description);
} }
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
@ -2588,7 +2588,7 @@ internal class PluginInstallerWindow : Window, IDisposable
var hasTestingVersionAvailable = configuration.DoPluginTest && var hasTestingVersionAvailable = configuration.DoPluginTest &&
PluginManager.HasTestingVersion(manifest); PluginManager.HasTestingVersion(manifest);
if (ImGui.BeginPopupContextItem("ItemContextMenu")) if (ImGui.BeginPopupContextItem("ItemContextMenu"u8))
{ {
if (hasTestingVersionAvailable) if (hasTestingVersionAvailable)
{ {
@ -2829,7 +2829,7 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.Indent(); ImGui.Indent();
// Name // Name
ImGui.TextUnformatted(manifest.Name); ImGui.Text(manifest.Name);
// Download count // Download count
var downloadText = plugin.IsDev var downloadText = plugin.IsDev
@ -2868,7 +2868,7 @@ internal class PluginInstallerWindow : Window, IDisposable
// Description // Description
if (!string.IsNullOrWhiteSpace(manifest.Description)) if (!string.IsNullOrWhiteSpace(manifest.Description))
{ {
ImGuiHelpers.SafeTextWrapped(manifest.Description); ImGui.TextWrapped(manifest.Description);
} }
// Working Plugin ID // Working Plugin ID
@ -2895,7 +2895,7 @@ internal class PluginInstallerWindow : Window, IDisposable
.OrderBy(cInfo => cInfo.Value.DisplayOrder) .OrderBy(cInfo => cInfo.Value.DisplayOrder)
.ThenBy(cInfo => cInfo.Key)) .ThenBy(cInfo => cInfo.Key))
{ {
ImGuiHelpers.SafeTextWrapped($"{command.Key} → {command.Value.HelpMessage}"); ImGui.TextWrapped($"{command.Key} → {command.Value.HelpMessage}");
} }
ImGuiHelpers.ScaledDummy(3); ImGuiHelpers.ScaledDummy(3);
@ -2980,11 +2980,11 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.PushStyleVar(ImGuiStyleVar.WindowPadding, new Vector2(7, 5)); ImGui.PushStyleVar(ImGuiStyleVar.WindowPadding, new Vector2(7, 5));
if (ImGui.BeginChild("##changelog", new Vector2(-1, 100), true, ImGuiWindowFlags.NoNavFocus | ImGuiWindowFlags.NoNavInputs | ImGuiWindowFlags.AlwaysAutoResize)) if (ImGui.BeginChild("##changelog"u8, new Vector2(-1, 100), true, ImGuiWindowFlags.NoNavFocus | ImGuiWindowFlags.NoNavInputs | ImGuiWindowFlags.AlwaysAutoResize))
{ {
ImGui.Text("Changelog:"); ImGui.Text("Changelog:"u8);
ImGuiHelpers.ScaledDummy(2); ImGuiHelpers.ScaledDummy(2);
ImGuiHelpers.SafeTextWrapped(changelog!); ImGui.TextWrapped(changelog!);
} }
ImGui.EndChild(); ImGui.EndChild();
@ -2993,12 +2993,12 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.PopStyleColor(2); ImGui.PopStyleColor(2);
} }
private void DrawInstalledPluginContextMenu(LocalPlugin plugin, PluginTestingOptIn? optIn) private unsafe void DrawInstalledPluginContextMenu(LocalPlugin plugin, PluginTestingOptIn? optIn)
{ {
var pluginManager = Service<PluginManager>.Get(); var pluginManager = Service<PluginManager>.Get();
var configuration = Service<DalamudConfiguration>.Get(); var configuration = Service<DalamudConfiguration>.Get();
if (ImGui.BeginPopupContextItem("InstalledItemContextMenu")) if (ImGui.BeginPopupContextItem("InstalledItemContextMenu"u8))
{ {
if (configuration.DoPluginTest) if (configuration.DoPluginTest)
{ {
@ -3006,7 +3006,7 @@ internal class PluginInstallerWindow : Window, IDisposable
if (repoManifest?.IsTestingExclusive == true) if (repoManifest?.IsTestingExclusive == true)
ImGui.BeginDisabled(); ImGui.BeginDisabled();
if (ImGui.MenuItem(Locs.PluginContext_TestingOptIn, string.Empty, optIn != null)) if (ImGui.MenuItem(Locs.PluginContext_TestingOptIn, optIn != null))
{ {
if (optIn != null) if (optIn != null)
{ {
@ -3121,7 +3121,7 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(profile.Name); ImGui.Text(profile.Name);
didAny = true; didAny = true;
} }
@ -3424,7 +3424,7 @@ internal class PluginInstallerWindow : Window, IDisposable
{ {
if (!devPlugin.IsLoaded) if (!devPlugin.IsLoaded)
{ {
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudGrey, "You have to load this plugin to see validation issues."); ImGui.TextColoredWrapped(ImGuiColors.DalamudGrey, "You have to load this plugin to see validation issues."u8);
} }
else else
{ {
@ -3435,7 +3435,7 @@ internal class PluginInstallerWindow : Window, IDisposable
ImGui.Text(FontAwesomeIcon.Check.ToIconString()); ImGui.Text(FontAwesomeIcon.Check.ToIconString());
ImGui.PopFont(); ImGui.PopFont();
ImGui.SameLine(); ImGui.SameLine();
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.HealerGreen, "No validation issues found in this plugin!"); ImGui.TextColoredWrapped(ImGuiColors.HealerGreen, "No validation issues found in this plugin!"u8);
} }
else else
{ {
@ -3468,7 +3468,7 @@ internal class PluginInstallerWindow : Window, IDisposable
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Dismiss this issue"); ImGui.SetTooltip("Dismiss this issue"u8);
} }
} }
@ -3506,7 +3506,7 @@ internal class PluginInstallerWindow : Window, IDisposable
using (ImRaii.PushColor(ImGuiCol.Text, thisProblemIsDismissed ? ImGuiColors.DalamudGrey : ImGuiColors.DalamudWhite)) using (ImRaii.PushColor(ImGuiCol.Text, thisProblemIsDismissed ? ImGuiColors.DalamudGrey : ImGuiColors.DalamudWhite))
{ {
ImGuiHelpers.SafeTextWrapped(problem.GetLocalizedDescription()); ImGui.TextWrapped(problem.GetLocalizedDescription());
} }
} }
} }

View file

@ -1,4 +1,4 @@
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -108,37 +108,37 @@ internal class ProfileManagerWidget
{ {
if (popup) if (popup)
{ {
using var scrolling = ImRaii.Child("###scrolling", new Vector2(-1, -1)); using var scrolling = ImRaii.Child("###scrolling"u8, new Vector2(-1, -1));
if (scrolling) if (scrolling)
{ {
ImGuiHelpers.SafeTextWrapped(Locs.TutorialParagraphOne); ImGui.TextWrapped(Locs.TutorialParagraphOne);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGuiHelpers.SafeTextWrapped(Locs.TutorialParagraphTwo); ImGui.TextWrapped(Locs.TutorialParagraphTwo);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGuiHelpers.SafeTextWrapped(Locs.TutorialParagraphThree); ImGui.TextWrapped(Locs.TutorialParagraphThree);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGuiHelpers.SafeTextWrapped(Locs.TutorialParagraphFour); ImGui.TextWrapped(Locs.TutorialParagraphFour);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGuiHelpers.SafeTextWrapped(Locs.TutorialCommands); ImGui.TextWrapped(Locs.TutorialCommands);
ImGui.Bullet(); ImGui.Bullet();
ImGui.SameLine(); ImGui.SameLine();
ImGuiHelpers.SafeTextWrapped(Locs.TutorialCommandsEnable); ImGui.TextWrapped(Locs.TutorialCommandsEnable);
ImGui.Bullet(); ImGui.Bullet();
ImGui.SameLine(); ImGui.SameLine();
ImGuiHelpers.SafeTextWrapped(Locs.TutorialCommandsDisable); ImGui.TextWrapped(Locs.TutorialCommandsDisable);
ImGui.Bullet(); ImGui.Bullet();
ImGui.SameLine(); ImGui.SameLine();
ImGuiHelpers.SafeTextWrapped(Locs.TutorialCommandsToggle); ImGui.TextWrapped(Locs.TutorialCommandsToggle);
ImGuiHelpers.SafeTextWrapped(Locs.TutorialCommandsEnd); ImGui.TextWrapped(Locs.TutorialCommandsEnd);
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
var buttonWidth = 120f; var buttonWidth = 120f;
ImGui.SetCursorPosX((ImGui.GetWindowWidth() - buttonWidth) / 2); ImGui.SetCursorPosX((ImGui.GetWindowWidth() - buttonWidth) / 2);
if (ImGui.Button("OK", new Vector2(buttonWidth, 40))) if (ImGui.Button("OK"u8, new Vector2(buttonWidth, 40)))
{ {
ImGui.CloseCurrentPopup(); ImGui.CloseCurrentPopup();
} }
@ -202,7 +202,7 @@ internal class ProfileManagerWidget
var windowSize = ImGui.GetWindowSize(); var windowSize = ImGui.GetWindowSize();
using var profileChooserChild = ImRaii.Child("###profileChooserScrolling"); using var profileChooserChild = ImRaii.Child("###profileChooserScrolling"u8);
if (profileChooserChild) if (profileChooserChild)
{ {
Guid? toCloneGuid = null; Guid? toCloneGuid = null;
@ -378,7 +378,7 @@ internal class ProfileManagerWidget
ImGui.SameLine(); ImGui.SameLine();
ImGui.SetNextItemWidth(windowSize.X / 3); ImGui.SetNextItemWidth(windowSize.X / 3);
if (ImGui.InputText("###profileNameInput", ref this.profileNameEdit, 255)) if (ImGui.InputText("###profileNameInput"u8, ref this.profileNameEdit, 255))
{ {
profile.Name = this.profileNameEdit; profile.Name = this.profileNameEdit;
} }
@ -400,8 +400,8 @@ internal class ProfileManagerWidget
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGui.TextUnformatted(Locs.StartupBehavior); ImGui.Text(Locs.StartupBehavior);
if (ImGui.BeginCombo("##startupBehaviorPicker", Locs.PolicyToLocalisedName(profile.StartupPolicy))) if (ImGui.BeginCombo("##startupBehaviorPicker"u8, Locs.PolicyToLocalisedName(profile.StartupPolicy)))
{ {
foreach (var policy in Enum.GetValues(typeof(ProfileModelV1.ProfileStartupPolicy)).Cast<ProfileModelV1.ProfileStartupPolicy>()) foreach (var policy in Enum.GetValues(typeof(ProfileModelV1.ProfileStartupPolicy)).Cast<ProfileModelV1.ProfileStartupPolicy>())
{ {
@ -420,7 +420,7 @@ internal class ProfileManagerWidget
ImGui.Separator(); ImGui.Separator();
var wantPluginAddPopup = false; var wantPluginAddPopup = false;
using var pluginListChild = ImRaii.Child("###profileEditorPluginList"); using var pluginListChild = ImRaii.Child("###profileEditorPluginList"u8);
if (pluginListChild) if (pluginListChild)
{ {
var pluginLineHeight = 32 * ImGuiHelpers.GlobalScale; var pluginLineHeight = 32 * ImGuiHelpers.GlobalScale;
@ -456,7 +456,7 @@ internal class ProfileManagerWidget
var before = ImGui.GetCursorPos(); var before = ImGui.GetCursorPos();
ImGui.SetCursorPosY(ImGui.GetCursorPosY() + (pluginLineHeight / 2) - (textHeight.Y / 2)); ImGui.SetCursorPosY(ImGui.GetCursorPosY() + (pluginLineHeight / 2) - (textHeight.Y / 2));
ImGui.TextUnformatted(text); ImGui.Text(text);
ImGui.SetCursorPos(before); ImGui.SetCursorPos(before);
} }
@ -470,7 +470,7 @@ internal class ProfileManagerWidget
var before = ImGui.GetCursorPos(); var before = ImGui.GetCursorPos();
ImGui.SetCursorPosY(ImGui.GetCursorPosY() + (pluginLineHeight / 2) - (textHeight.Y / 2)); ImGui.SetCursorPosY(ImGui.GetCursorPosY() + (pluginLineHeight / 2) - (textHeight.Y / 2));
ImGui.TextUnformatted(text); ImGui.Text(text);
var firstAvailableInstalled = pm.InstalledPlugins.FirstOrDefault(x => x.InternalName == profileEntry.InternalName); var firstAvailableInstalled = pm.InstalledPlugins.FirstOrDefault(x => x.InternalName == profileEntry.InternalName);
var installable = var installable =
@ -572,7 +572,7 @@ internal class ProfileManagerWidget
ImGuiHelpers.ScaledDummy(5); ImGuiHelpers.ScaledDummy(5);
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted(addPluginsText); ImGui.Text(addPluginsText);
ImGuiHelpers.ScaledDummy(10); ImGuiHelpers.ScaledDummy(10);
} }

View file

@ -45,17 +45,17 @@ internal class PluginStatWindow : Window
{ {
var pluginManager = Service<PluginManager>.Get(); var pluginManager = Service<PluginManager>.Get();
using var tabBar = ImRaii.TabBar("Stat Tabs"); using var tabBar = ImRaii.TabBar("Stat Tabs"u8);
if (!tabBar) if (!tabBar)
return; return;
using (var tabItem = ImRaii.TabItem("Draw times")) using (var tabItem = ImRaii.TabItem("Draw times"u8))
{ {
if (tabItem) if (tabItem)
{ {
var doStats = UiBuilder.DoStats; var doStats = UiBuilder.DoStats;
if (ImGui.Checkbox("Enable Draw Time Tracking", ref doStats)) if (ImGui.Checkbox("Enable Draw Time Tracking"u8, ref doStats))
{ {
UiBuilder.DoStats = doStats; UiBuilder.DoStats = doStats;
} }
@ -63,7 +63,7 @@ internal class PluginStatWindow : Window
if (doStats) if (doStats)
{ {
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Reset")) if (ImGui.Button("Reset"u8))
{ {
foreach (var plugin in pluginManager.InstalledPlugins) foreach (var plugin in pluginManager.InstalledPlugins)
{ {
@ -87,13 +87,13 @@ internal class PluginStatWindow : Window
ImGuiComponents.TextWithLabel("Collective Average", $"{(loadedPlugins.Any() ? totalAverage / loadedPlugins.Count() / 10000f : 0):F4}ms", "Average of all average draw times"); ImGuiComponents.TextWithLabel("Collective Average", $"{(loadedPlugins.Any() ? totalAverage / loadedPlugins.Count() / 10000f : 0):F4}ms", "Average of all average draw times");
ImGui.InputTextWithHint( ImGui.InputTextWithHint(
"###PluginStatWindow_DrawSearch", "###PluginStatWindow_DrawSearch"u8,
"Search", "Search"u8,
ref this.drawSearchText, ref this.drawSearchText,
500); 500);
using var table = ImRaii.Table( using var table = ImRaii.Table(
"##PluginStatsDrawTimes", "##PluginStatsDrawTimes"u8,
4, 4,
ImGuiTableFlags.RowBg ImGuiTableFlags.RowBg
| ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.SizingStretchProp
@ -106,10 +106,10 @@ internal class PluginStatWindow : Window
if (table) if (table)
{ {
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableSetupColumn("Plugin"); ImGui.TableSetupColumn("Plugin"u8);
ImGui.TableSetupColumn("Last", ImGuiTableColumnFlags.NoSort); // Changes too fast to sort ImGui.TableSetupColumn("Last"u8, ImGuiTableColumnFlags.NoSort); // Changes too fast to sort
ImGui.TableSetupColumn("Longest"); ImGui.TableSetupColumn("Longest"u8);
ImGui.TableSetupColumn("Average"); ImGui.TableSetupColumn("Average"u8);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
var sortSpecs = ImGui.TableGetSortSpecs(); var sortSpecs = ImGui.TableGetSortSpecs();
@ -159,13 +159,13 @@ internal class PluginStatWindow : Window
} }
} }
using (var tabItem = ImRaii.TabItem("Framework times")) using (var tabItem = ImRaii.TabItem("Framework times"u8))
{ {
if (tabItem) if (tabItem)
{ {
var doStats = Framework.StatsEnabled; var doStats = Framework.StatsEnabled;
if (ImGui.Checkbox("Enable Framework Update Tracking", ref doStats)) if (ImGui.Checkbox("Enable Framework Update Tracking"u8, ref doStats))
{ {
Framework.StatsEnabled = doStats; Framework.StatsEnabled = doStats;
} }
@ -173,7 +173,7 @@ internal class PluginStatWindow : Window
if (doStats) if (doStats)
{ {
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("Reset")) if (ImGui.Button("Reset"u8))
{ {
Framework.StatsHistory.Clear(); Framework.StatsHistory.Clear();
} }
@ -189,13 +189,13 @@ internal class PluginStatWindow : Window
ImGuiComponents.TextWithLabel("Collective Average", $"{(statsHistory.Any() ? totalAverage / statsHistory.Length : 0):F4}ms", "Average of all average update times"); ImGuiComponents.TextWithLabel("Collective Average", $"{(statsHistory.Any() ? totalAverage / statsHistory.Length : 0):F4}ms", "Average of all average update times");
ImGui.InputTextWithHint( ImGui.InputTextWithHint(
"###PluginStatWindow_FrameworkSearch", "###PluginStatWindow_FrameworkSearch"u8,
"Search", "Search"u8,
ref this.frameworkSearchText, ref this.frameworkSearchText,
500); 500);
using var table = ImRaii.Table( using var table = ImRaii.Table(
"##PluginStatsFrameworkTimes", "##PluginStatsFrameworkTimes"u8,
4, 4,
ImGuiTableFlags.RowBg ImGuiTableFlags.RowBg
| ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.SizingStretchProp
@ -207,10 +207,10 @@ internal class PluginStatWindow : Window
if (table) if (table)
{ {
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableSetupColumn("Method", ImGuiTableColumnFlags.None, 250); ImGui.TableSetupColumn("Method"u8, ImGuiTableColumnFlags.None, 250);
ImGui.TableSetupColumn("Last", ImGuiTableColumnFlags.NoSort, 50); // Changes too fast to sort ImGui.TableSetupColumn("Last"u8, ImGuiTableColumnFlags.NoSort, 50); // Changes too fast to sort
ImGui.TableSetupColumn("Longest", ImGuiTableColumnFlags.None, 50); ImGui.TableSetupColumn("Longest"u8, ImGuiTableColumnFlags.None, 50);
ImGui.TableSetupColumn("Average", ImGuiTableColumnFlags.None, 50); ImGui.TableSetupColumn("Average"u8, ImGuiTableColumnFlags.None, 50);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
var sortSpecs = ImGui.TableGetSortSpecs(); var sortSpecs = ImGui.TableGetSortSpecs();
@ -261,20 +261,20 @@ internal class PluginStatWindow : Window
} }
} }
using (var tabItem = ImRaii.TabItem("Hooks")) using (var tabItem = ImRaii.TabItem("Hooks"u8))
{ {
if (tabItem) if (tabItem)
{ {
ImGui.Checkbox("Show Dalamud Hooks", ref this.showDalamudHooks); ImGui.Checkbox("Show Dalamud Hooks"u8, ref this.showDalamudHooks);
ImGui.InputTextWithHint( ImGui.InputTextWithHint(
"###PluginStatWindow_HookSearch", "###PluginStatWindow_HookSearch"u8,
"Search", "Search"u8,
ref this.hookSearchText, ref this.hookSearchText,
500); 500);
using var table = ImRaii.Table( using var table = ImRaii.Table(
"##PluginStatsHooks", "##PluginStatsHooks"u8,
4, 4,
ImGuiTableFlags.RowBg ImGuiTableFlags.RowBg
| ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.SizingStretchProp
@ -285,10 +285,10 @@ internal class PluginStatWindow : Window
if (table) if (table)
{ {
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
ImGui.TableSetupColumn("Detour Method", ImGuiTableColumnFlags.None, 250); ImGui.TableSetupColumn("Detour Method"u8, ImGuiTableColumnFlags.None, 250);
ImGui.TableSetupColumn("Address", ImGuiTableColumnFlags.None, 100); ImGui.TableSetupColumn("Address"u8, ImGuiTableColumnFlags.None, 100);
ImGui.TableSetupColumn("Status", ImGuiTableColumnFlags.None, 40); ImGui.TableSetupColumn("Status"u8, ImGuiTableColumnFlags.None, 40);
ImGui.TableSetupColumn("Backend", ImGuiTableColumnFlags.None, 40); ImGui.TableSetupColumn("Backend"u8, ImGuiTableColumnFlags.None, 40);
ImGui.TableHeadersRow(); ImGui.TableHeadersRow();
foreach (var (guid, trackedHook) in HookManager.TrackedHooks) foreach (var (guid, trackedHook) in HookManager.TrackedHooks)
@ -335,7 +335,7 @@ internal class PluginStatWindow : Window
if (trackedHook.Hook.IsDisposed) if (trackedHook.Hook.IsDisposed)
{ {
ImGui.Text("Disposed"); ImGui.Text("Disposed"u8);
} }
else else
{ {

View file

@ -43,11 +43,11 @@ public class ProfilerWindow : Window
var actualMin = Timings.AllTimings.Keys.Min(x => x.StartTime); var actualMin = Timings.AllTimings.Keys.Min(x => x.StartTime);
var actualMax = Timings.AllTimings.Keys.Max(x => x.EndTime); var actualMax = Timings.AllTimings.Keys.Max(x => x.EndTime);
ImGui.Text("Timings"); ImGui.Text("Timings"u8);
var childHeight = Math.Max(300, 20 * (2.5f + this.occupied.Count)); var childHeight = Math.Max(300, 20 * (2.5f + this.occupied.Count));
if (ImGui.BeginChild("Timings", new Vector2(0, childHeight), true)) if (ImGui.BeginChild("Timings"u8, new Vector2(0, childHeight), true))
{ {
var pos = ImGui.GetCursorScreenPos(); var pos = ImGui.GetCursorScreenPos();
@ -178,12 +178,12 @@ public class ProfilerWindow : Window
if (rectInfo.Hover) if (rectInfo.Hover)
{ {
ImGui.BeginTooltip(); ImGui.BeginTooltip();
ImGui.TextUnformatted(rectInfo.Timing.Name); ImGui.Text(rectInfo.Timing.Name);
ImGui.TextUnformatted(rectInfo.Timing.MemberName); ImGui.Text(rectInfo.Timing.MemberName);
ImGui.TextUnformatted($"{rectInfo.Timing.FileName}:{rectInfo.Timing.LineNumber}"); ImGui.Text($"{rectInfo.Timing.FileName}:{rectInfo.Timing.LineNumber}");
ImGui.TextUnformatted($"Duration: {rectInfo.Timing.Duration}ms"); ImGui.Text($"Duration: {rectInfo.Timing.Duration}ms");
if (rectInfo.Timing.Parent != null) if (rectInfo.Timing.Parent != null)
ImGui.TextUnformatted($"Parent: {rectInfo.Timing.Parent.Name}"); ImGui.Text($"Parent: {rectInfo.Timing.Parent.Name}");
ImGui.EndTooltip(); ImGui.EndTooltip();
} }
} }
@ -236,20 +236,20 @@ public class ProfilerWindow : Window
ImGui.EndChild(); ImGui.EndChild();
var sliderMin = (float)this.min / 1000f; var sliderMin = (float)this.min / 1000f;
if (ImGui.SliderFloat("Start", ref sliderMin, (float)actualMin / 1000f, (float)this.max / 1000f, "%.2fs")) if (ImGui.SliderFloat("Start"u8, ref sliderMin, (float)actualMin / 1000f, (float)this.max / 1000f, "%.2fs"))
{ {
this.min = sliderMin * 1000f; this.min = sliderMin * 1000f;
} }
var sliderMax = (float)this.max / 1000f; var sliderMax = (float)this.max / 1000f;
if (ImGui.SliderFloat("End", ref sliderMax, (float)this.min / 1000f, (float)actualMax / 1000f, "%.2fs")) if (ImGui.SliderFloat("End"u8, ref sliderMax, (float)this.min / 1000f, (float)actualMax / 1000f, "%.2fs"))
{ {
this.max = sliderMax * 1000f; this.max = sliderMax * 1000f;
} }
var sizeShown = (float)(this.max - this.min) / 1000f; var sizeShown = (float)(this.max - this.min) / 1000f;
var sizeActual = (float)(actualMax - actualMin) / 1000f; var sizeActual = (float)(actualMax - actualMin) / 1000f;
if (ImGui.SliderFloat("Size", ref sizeShown, sizeActual / 10f, sizeActual, "%.2fs")) if (ImGui.SliderFloat("Size"u8, ref sizeShown, sizeActual / 10f, sizeActual, "%.2fs"))
{ {
this.max = this.min + (sizeShown * 1000f); this.max = this.min + (sizeShown * 1000f);
} }

View file

@ -118,7 +118,7 @@ internal class SelfTestWindow : Window
ImGui.SameLine(); ImGui.SameLine();
ImGui.TextUnformatted($"Step: {this.currentStep} / {this.steps.Count}"); ImGui.Text($"Step: {this.currentStep} / {this.steps.Count}");
ImGui.Spacing(); ImGui.Spacing();
@ -135,11 +135,11 @@ internal class SelfTestWindow : Window
if (this.testIndexToResult.Any(x => x.Value.Result == SelfTestStepResult.Fail)) if (this.testIndexToResult.Any(x => x.Value.Result == SelfTestStepResult.Fail))
{ {
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudRed, "One or more checks failed!"); ImGui.TextColoredWrapped(ImGuiColors.DalamudRed, "One or more checks failed!"u8);
} }
else else
{ {
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.HealerGreen, "All checks passed!"); ImGui.TextColoredWrapped(ImGuiColors.HealerGreen, "All checks passed!"u8);
} }
return; return;
@ -150,11 +150,11 @@ internal class SelfTestWindow : Window
return; return;
} }
using var resultChild = ImRaii.Child("SelfTestResultChild", ImGui.GetContentRegionAvail()); using var resultChild = ImRaii.Child("SelfTestResultChild"u8, ImGui.GetContentRegionAvail());
if (!resultChild) return; if (!resultChild) return;
var step = this.steps[this.currentStep]; var step = this.steps[this.currentStep];
ImGui.TextUnformatted($"Current: {step.Name}"); ImGui.Text($"Current: {step.Name}");
ImGuiHelpers.ScaledDummy(10); ImGuiHelpers.ScaledDummy(10);
@ -189,14 +189,14 @@ internal class SelfTestWindow : Window
tableSize.Y = Math.Min(tableSize.Y, ImGui.GetWindowViewport().Size.Y * 0.5f); tableSize.Y = Math.Min(tableSize.Y, ImGui.GetWindowViewport().Size.Y * 0.5f);
using var table = ImRaii.Table("agingResultTable", 5, ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY, tableSize); using var table = ImRaii.Table("agingResultTable"u8, 5, ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY, tableSize);
if (!table) if (!table)
return; return;
ImGui.TableSetupColumn("###index", ImGuiTableColumnFlags.WidthFixed, 12f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("###index"u8, ImGuiTableColumnFlags.WidthFixed, 12f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("Name"); ImGui.TableSetupColumn("Name"u8);
ImGui.TableSetupColumn("Result", ImGuiTableColumnFlags.WidthFixed, 40f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("Result"u8, ImGuiTableColumnFlags.WidthFixed, 40f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn("Duration", ImGuiTableColumnFlags.WidthFixed, 90f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn("Duration"u8, ImGuiTableColumnFlags.WidthFixed, 90f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupColumn(string.Empty, ImGuiTableColumnFlags.WidthFixed, 30f * ImGuiHelpers.GlobalScale); ImGui.TableSetupColumn(string.Empty, ImGuiTableColumnFlags.WidthFixed, 30f * ImGuiHelpers.GlobalScale);
ImGui.TableSetupScrollFreeze(0, 1); ImGui.TableSetupScrollFreeze(0, 1);
@ -214,7 +214,7 @@ internal class SelfTestWindow : Window
ImGui.TableSetColumnIndex(0); ImGui.TableSetColumnIndex(0);
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted(i.ToString()); ImGui.Text(i.ToString());
if (this.selfTestRunning && this.scrollToStep == i) if (this.selfTestRunning && this.scrollToStep == i)
{ {
@ -224,7 +224,7 @@ internal class SelfTestWindow : Window
ImGui.TableSetColumnIndex(1); ImGui.TableSetColumnIndex(1);
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted(step.Name); ImGui.Text(step.Name);
if (this.testIndexToResult.TryGetValue(i, out var result)) if (this.testIndexToResult.TryGetValue(i, out var result))
{ {
@ -234,13 +234,13 @@ internal class SelfTestWindow : Window
switch (result.Result) switch (result.Result)
{ {
case SelfTestStepResult.Pass: case SelfTestStepResult.Pass:
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.HealerGreen, "PASS"); ImGui.TextColored(ImGuiColors.HealerGreen, "PASS"u8);
break; break;
case SelfTestStepResult.Fail: case SelfTestStepResult.Fail:
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudRed, "FAIL"); ImGui.TextColored(ImGuiColors.DalamudRed, "FAIL"u8);
break; break;
default: default:
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudGrey, "NR"); ImGui.TextColored(ImGuiColors.DalamudGrey, "NR"u8);
break; break;
} }
@ -248,7 +248,7 @@ internal class SelfTestWindow : Window
if (result.Duration.HasValue) if (result.Duration.HasValue)
{ {
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
ImGui.TextUnformatted(this.FormatTimeSpan(result.Duration.Value)); ImGui.Text(this.FormatTimeSpan(result.Duration.Value));
} }
} }
else else
@ -257,18 +257,18 @@ internal class SelfTestWindow : Window
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
if (this.selfTestRunning && this.currentStep == i) if (this.selfTestRunning && this.currentStep == i)
{ {
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudGrey, "WAIT"); ImGui.TextColored(ImGuiColors.DalamudGrey, "WAIT"u8);
} }
else else
{ {
ImGuiHelpers.SafeTextColoredWrapped(ImGuiColors.DalamudGrey, "NR"); ImGui.TextColored(ImGuiColors.DalamudGrey, "NR"u8);
} }
ImGui.TableSetColumnIndex(3); ImGui.TableSetColumnIndex(3);
ImGui.AlignTextToFramePadding(); ImGui.AlignTextToFramePadding();
if (this.selfTestRunning && this.currentStep == i) if (this.selfTestRunning && this.currentStep == i)
{ {
ImGui.TextUnformatted(this.FormatTimeSpan(DateTimeOffset.Now - this.lastTestStart)); ImGui.Text(this.FormatTimeSpan(DateTimeOffset.Now - this.lastTestStart));
} }
} }
@ -285,7 +285,7 @@ internal class SelfTestWindow : Window
if (ImGui.IsItemHovered()) if (ImGui.IsItemHovered())
{ {
ImGui.SetTooltip("Jump to this test"); ImGui.SetTooltip("Jump to this test"u8);
} }
} }
} }

View file

@ -19,7 +19,7 @@ internal class ActorTableSelfTestStep : ISelfTestStep
{ {
var objectTable = Service<ObjectTable>.Get(); var objectTable = Service<ObjectTable>.Get();
ImGui.Text("Checking actor table..."); ImGui.Text("Checking actor table..."u8);
if (this.index == objectTable.Length - 1) if (this.index == objectTable.Length - 1)
{ {

View file

@ -66,19 +66,19 @@ internal class AddonLifecycleSelfTestStep : ISelfTestStep
switch (this.currentStep) switch (this.currentStep)
{ {
case TestStep.CharacterRefresh: case TestStep.CharacterRefresh:
ImGui.Text("Open Character Window."); ImGui.Text("Open Character Window."u8);
break; break;
case TestStep.CharacterSetup: case TestStep.CharacterSetup:
ImGui.Text("Open Character Window."); ImGui.Text("Open Character Window."u8);
break; break;
case TestStep.CharacterRequestedUpdate: case TestStep.CharacterRequestedUpdate:
ImGui.Text("Change tabs, or un-equip/equip gear."); ImGui.Text("Change tabs, or un-equip/equip gear."u8);
break; break;
case TestStep.CharacterFinalize: case TestStep.CharacterFinalize:
ImGui.Text("Close Character Window."); ImGui.Text("Close Character Window."u8);
break; break;
case TestStep.CharacterUpdate: case TestStep.CharacterUpdate:

View file

@ -19,7 +19,7 @@ internal class AetheryteListSelfTestStep : ISelfTestStep
{ {
var list = Service<AetheryteList>.Get(); var list = Service<AetheryteList>.Get();
ImGui.Text("Checking aetheryte list..."); ImGui.Text("Checking aetheryte list..."u8);
if (this.index == list.Length - 1) if (this.index == list.Length - 1)
{ {

View file

@ -1,5 +1,6 @@
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Game.Command; using Dalamud.Game.Command;
using Dalamud.Interface.Utility;
namespace Dalamud.Interface.Internal.Windows.SelfTest.Steps; namespace Dalamud.Interface.Internal.Windows.SelfTest.Steps;
@ -27,37 +28,37 @@ internal class CompletionSelfTestStep : ISelfTestStep
break; break;
case 1: case 1:
ImGui.Text("[Chat Log]"); ImGui.Text("[Chat Log]"u8);
ImGui.TextWrapped("Use the category menus to navigate to [Dalamud], then complete a command from the list. Did it work?"); ImGui.TextWrapped("Use the category menus to navigate to [Dalamud], then complete a command from the list. Did it work?"u8);
if (ImGui.Button("Yes")) if (ImGui.Button("Yes"u8))
this.step++; this.step++;
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
break; break;
case 2: case 2:
ImGui.Text("[Chat Log]"); ImGui.Text("[Chat Log]"u8);
ImGui.Text("Type /xl into the chat log and tab-complete a dalamud command. Did it work?"); ImGui.Text("Type /xl into the chat log and tab-complete a dalamud command. Did it work?"u8);
if (ImGui.Button("Yes")) if (ImGui.Button("Yes"u8))
this.step++; this.step++;
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
break; break;
case 3: case 3:
ImGui.Text("[Chat Log]"); ImGui.Text("[Chat Log]"u8);
if (!this.registered) if (!this.registered)
{ {
cmdManager.AddHandler("/xlselftestcompletion", new CommandInfo((_, _) => this.commandRun = true)); cmdManager.AddHandler("/xlselftestcompletion", new CommandInfo((_, _) => this.commandRun = true));
this.registered = true; this.registered = true;
} }
ImGui.Text("Tab-complete /xlselftestcompletion in the chat log and send the command"); ImGui.Text("Tab-complete /xlselftestcompletion in the chat log and send the command"u8);
if (this.commandRun) if (this.commandRun)
this.step++; this.step++;
@ -65,14 +66,14 @@ internal class CompletionSelfTestStep : ISelfTestStep
break; break;
case 4: case 4:
ImGui.Text("[Other text inputs]"); ImGui.Text("[Other text inputs]"u8);
ImGui.Text("Open the party finder recruitment criteria dialog and try to tab-complete /xldev in the text box."); ImGui.Text("Open the party finder recruitment criteria dialog and try to tab-complete /xldev in the text box."u8);
ImGui.Text("Did the command appear in the text box? (It should not have)"); ImGui.Text("Did the command appear in the text box? (It should not have)"u8);
if (ImGui.Button("Yes")) if (ImGui.Button("Yes"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
this.step++; this.step++;
break; break;
case 5: case 5:

View file

@ -23,7 +23,7 @@ internal class ConditionSelfTestStep : ISelfTestStep
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }
ImGui.Text("Please jump..."); ImGui.Text("Please jump..."u8);
return condition[ConditionFlag.Jumping] ? SelfTestStepResult.Pass : SelfTestStepResult.Waiting; return condition[ConditionFlag.Jumping] ? SelfTestStepResult.Pass : SelfTestStepResult.Waiting;
} }

View file

@ -61,19 +61,19 @@ internal class ContextMenuSelfTestStep : ISelfTestStep
{ {
ImGui.Text($"Is the data in the submenu correct?"); ImGui.Text($"Is the data in the submenu correct?");
if (ImGui.Button("Yes")) if (ImGui.Button("Yes"u8))
this.currentSubStep++; this.currentSubStep++;
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }
else else
{ {
ImGui.Text("Right-click an item and select \"Self Test\"."); ImGui.Text("Right-click an item and select \"Self Test\".");
if (ImGui.Button("Skip")) if (ImGui.Button("Skip"u8))
this.currentSubStep++; this.currentSubStep++;
} }
@ -84,19 +84,19 @@ internal class ContextMenuSelfTestStep : ISelfTestStep
{ {
ImGui.Text($"Did you click \"{character.Name}\" ({character.ClassJob.Value.Abbreviation.ExtractText()})?"); ImGui.Text($"Did you click \"{character.Name}\" ({character.ClassJob.Value.Abbreviation.ExtractText()})?");
if (ImGui.Button("Yes")) if (ImGui.Button("Yes"u8))
this.currentSubStep++; this.currentSubStep++;
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }
else else
{ {
ImGui.Text("Right-click a character."); ImGui.Text("Right-click a character."u8);
if (ImGui.Button("Skip")) if (ImGui.Button("Skip"u8))
this.currentSubStep++; this.currentSubStep++;
} }

View file

@ -19,7 +19,7 @@ internal class DutyStateSelfTestStep : ISelfTestStep
{ {
var dutyState = Service<DutyState>.Get(); var dutyState = Service<DutyState>.Get();
ImGui.Text("Enter a duty now..."); ImGui.Text("Enter a duty now..."u8);
if (!this.subscribed) if (!this.subscribed)
{ {

View file

@ -32,7 +32,7 @@ internal class EnterTerritorySelfTestStep : ISelfTestStep
{ {
var clientState = Service<ClientState>.Get(); var clientState = Service<ClientState>.Get();
ImGui.TextUnformatted(this.Name); ImGui.Text(this.Name);
if (!this.subscribed) if (!this.subscribed)
{ {

View file

@ -19,11 +19,11 @@ internal class FateTableSelfTestStep : ISelfTestStep
{ {
var fateTable = Service<FateTable>.Get(); var fateTable = Service<FateTable>.Get();
ImGui.Text("Checking fate table..."); ImGui.Text("Checking fate table..."u8);
if (fateTable.Length == 0) if (fateTable.Length == 0)
{ {
ImGui.Text("Go to a zone that has FATEs currently up."); ImGui.Text("Go to a zone that has FATEs currently up."u8);
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
} }

View file

@ -43,7 +43,7 @@ internal class GameConfigSelfTestStep : ISelfTestStep
} }
else else
{ {
ImGui.Text("Switch Movement Type to Standard"); ImGui.Text("Switch Movement Type to Standard"u8);
} }
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
@ -57,7 +57,7 @@ internal class GameConfigSelfTestStep : ISelfTestStep
} }
else else
{ {
ImGui.Text("Switch Movement Type to Legacy"); ImGui.Text("Switch Movement Type to Legacy"u8);
} }
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
@ -73,7 +73,7 @@ internal class GameConfigSelfTestStep : ISelfTestStep
} }
else else
{ {
ImGui.Text("Switch Movement Type to Legacy"); ImGui.Text("Switch Movement Type to Legacy"u8);
} }
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
@ -87,7 +87,7 @@ internal class GameConfigSelfTestStep : ISelfTestStep
} }
else else
{ {
ImGui.Text("Switch Movement Type to Standard"); ImGui.Text("Switch Movement Type to Standard"u8);
} }
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;

View file

@ -21,7 +21,7 @@ internal class HoverSelfTestStep : ISelfTestStep
if (!this.clearedItem) if (!this.clearedItem)
{ {
ImGui.Text("Hover WHM soul crystal..."); ImGui.Text("Hover WHM soul crystal..."u8);
if (gameGui.HoveredItem == 4547) if (gameGui.HoveredItem == 4547)
{ {

View file

@ -52,7 +52,7 @@ internal class ItemPayloadSelfTestStep : ISelfTestStep
this.currentSubStep++; this.currentSubStep++;
break; break;
case SubStep.HoverNormalItem: case SubStep.HoverNormalItem:
ImGui.Text("Hover the item."); ImGui.Text("Hover the item."u8);
if (gameGui.HoveredItem != normalItemId) if (gameGui.HoveredItem != normalItemId)
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
this.currentSubStep++; this.currentSubStep++;
@ -62,7 +62,7 @@ internal class ItemPayloadSelfTestStep : ISelfTestStep
this.currentSubStep++; this.currentSubStep++;
break; break;
case SubStep.HoverHqItem: case SubStep.HoverHqItem:
ImGui.Text("Hover the item."); ImGui.Text("Hover the item."u8);
if (gameGui.HoveredItem != 1_000_000 + hqItemId) if (gameGui.HoveredItem != 1_000_000 + hqItemId)
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
this.currentSubStep++; this.currentSubStep++;
@ -72,7 +72,7 @@ internal class ItemPayloadSelfTestStep : ISelfTestStep
this.currentSubStep++; this.currentSubStep++;
break; break;
case SubStep.HoverCollectable: case SubStep.HoverCollectable:
ImGui.Text("Hover the item."); ImGui.Text("Hover the item."u8);
if (gameGui.HoveredItem != 500_000 + collectableItemId) if (gameGui.HoveredItem != 500_000 + collectableItemId)
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
this.currentSubStep++; this.currentSubStep++;
@ -82,7 +82,7 @@ internal class ItemPayloadSelfTestStep : ISelfTestStep
this.currentSubStep++; this.currentSubStep++;
break; break;
case SubStep.HoverEventItem: case SubStep.HoverEventItem:
ImGui.Text("Hover the item."); ImGui.Text("Hover the item."u8);
if (gameGui.HoveredItem != eventItemId) if (gameGui.HoveredItem != eventItemId)
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
this.currentSubStep++; this.currentSubStep++;
@ -92,7 +92,7 @@ internal class ItemPayloadSelfTestStep : ISelfTestStep
this.currentSubStep++; this.currentSubStep++;
break; break;
case SubStep.HoverNormalWithText: case SubStep.HoverNormalWithText:
ImGui.Text("Hover the item."); ImGui.Text("Hover the item."u8);
if (gameGui.HoveredItem != normalItemId) if (gameGui.HoveredItem != normalItemId)
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
this.currentSubStep++; this.currentSubStep++;

View file

@ -16,7 +16,7 @@ internal class KeyStateSelfTestStep : ISelfTestStep
{ {
var keyState = Service<KeyState>.Get(); var keyState = Service<KeyState>.Get();
ImGui.Text("Hold down D,A,L,M,U"); ImGui.Text("Hold down D,A,L,M,U"u8);
if (keyState[VirtualKey.D] if (keyState[VirtualKey.D]
&& keyState[VirtualKey.A] && keyState[VirtualKey.A]

View file

@ -19,7 +19,7 @@ internal class LoginEventSelfTestStep : ISelfTestStep
{ {
var clientState = Service<ClientState>.Get(); var clientState = Service<ClientState>.Get();
ImGui.Text("Log in now..."); ImGui.Text("Log in now..."u8);
if (!this.subscribed) if (!this.subscribed)
{ {

View file

@ -19,7 +19,7 @@ internal class LogoutEventSelfTestStep : ISelfTestStep
{ {
var clientState = Service<ClientState>.Get(); var clientState = Service<ClientState>.Get();
ImGui.Text("Log out now..."); ImGui.Text("Log out now..."u8);
if (!this.subscribed) if (!this.subscribed)
{ {

View file

@ -4,6 +4,7 @@ using System.Linq;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Game.MarketBoard; using Dalamud.Game.MarketBoard;
using Dalamud.Game.Network.Structures; using Dalamud.Game.Network.Structures;
using Dalamud.Interface.Utility;
namespace Dalamud.Interface.Internal.Windows.SelfTest.Steps; namespace Dalamud.Interface.Internal.Windows.SelfTest.Steps;
@ -50,24 +51,24 @@ internal class MarketBoardSelfTestStep : ISelfTestStep
if (this.historyListing == null) if (this.historyListing == null)
{ {
ImGui.Text("Goto a Market Board. Open any item that has historical sale listings."); ImGui.Text("Goto a Market Board. Open any item that has historical sale listings."u8);
} }
else else
{ {
ImGui.Text("Does one of the historical sales match this information?"); ImGui.Text("Does one of the historical sales match this information?"u8);
ImGui.Separator(); ImGui.Separator();
ImGui.Text($"Quantity: {this.historyListing.Quantity.ToString()}"); ImGui.Text($"Quantity: {this.historyListing.Quantity.ToString()}");
ImGui.Text($"Buyer: {this.historyListing.BuyerName}"); ImGui.Text($"Buyer: {this.historyListing.BuyerName}");
ImGui.Text($"Sale Price: {this.historyListing.SalePrice.ToString()}"); ImGui.Text($"Sale Price: {this.historyListing.SalePrice.ToString()}");
ImGui.Text($"Purchase Time: {this.historyListing.PurchaseTime.ToLocalTime().ToString(CultureInfo.InvariantCulture)}"); ImGui.Text($"Purchase Time: {this.historyListing.PurchaseTime.ToLocalTime().ToString(CultureInfo.InvariantCulture)}");
ImGui.Separator(); ImGui.Separator();
if (ImGui.Button("Looks Correct / Skip")) if (ImGui.Button("Looks Correct / Skip"u8))
{ {
this.currentSubStep++; this.currentSubStep++;
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
{ {
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }
@ -78,24 +79,24 @@ internal class MarketBoardSelfTestStep : ISelfTestStep
if (this.itemListing == null) if (this.itemListing == null)
{ {
ImGui.Text("Goto a Market Board. Open any item that has sale listings."); ImGui.Text("Goto a Market Board. Open any item that has sale listings."u8);
} }
else else
{ {
ImGui.Text("Does one of the sales match this information?"); ImGui.Text("Does one of the sales match this information?"u8);
ImGui.Separator(); ImGui.Separator();
ImGui.Text($"Quantity: {this.itemListing.ItemQuantity.ToString()}"); ImGui.Text($"Quantity: {this.itemListing.ItemQuantity.ToString()}");
ImGui.Text($"Price Per Unit: {this.itemListing.PricePerUnit}"); ImGui.Text($"Price Per Unit: {this.itemListing.PricePerUnit}");
ImGui.Text($"Retainer Name: {this.itemListing.RetainerName}"); ImGui.Text($"Retainer Name: {this.itemListing.RetainerName}");
ImGui.Text($"Is HQ?: {(this.itemListing.IsHq ? "Yes" : "No")}"); ImGui.Text($"Is HQ?: {(this.itemListing.IsHq ? "Yes" : "No")}");
ImGui.Separator(); ImGui.Separator();
if (ImGui.Button("Looks Correct / Skip")) if (ImGui.Button("Looks Correct / Skip"u8))
{ {
this.currentSubStep++; this.currentSubStep++;
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
{ {
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }
@ -105,23 +106,23 @@ internal class MarketBoardSelfTestStep : ISelfTestStep
case SubStep.PurchaseRequests: case SubStep.PurchaseRequests:
if (this.marketBoardPurchaseRequest == null) if (this.marketBoardPurchaseRequest == null)
{ {
ImGui.Text("Goto a Market Board. Purchase any item, the cheapest you can find."); ImGui.Text("Goto a Market Board. Purchase any item, the cheapest you can find."u8);
} }
else else
{ {
ImGui.TextWrapped("Does this information match the purchase you made? This is testing the request to the server."); ImGui.TextWrapped("Does this information match the purchase you made? This is testing the request to the server."u8);
ImGui.Separator(); ImGui.Separator();
ImGui.Text($"Quantity: {this.marketBoardPurchaseRequest.ItemQuantity.ToString()}"); ImGui.Text($"Quantity: {this.marketBoardPurchaseRequest.ItemQuantity.ToString()}");
ImGui.Text($"Item ID: {this.marketBoardPurchaseRequest.CatalogId}"); ImGui.Text($"Item ID: {this.marketBoardPurchaseRequest.CatalogId}");
ImGui.Text($"Price Per Unit: {this.marketBoardPurchaseRequest.PricePerUnit}"); ImGui.Text($"Price Per Unit: {this.marketBoardPurchaseRequest.PricePerUnit}");
ImGui.Separator(); ImGui.Separator();
if (ImGui.Button("Looks Correct / Skip")) if (ImGui.Button("Looks Correct / Skip"u8))
{ {
this.currentSubStep++; this.currentSubStep++;
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
{ {
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }
@ -131,22 +132,22 @@ internal class MarketBoardSelfTestStep : ISelfTestStep
case SubStep.Purchases: case SubStep.Purchases:
if (this.marketBoardPurchase == null) if (this.marketBoardPurchase == null)
{ {
ImGui.Text("Goto a Market Board. Purchase any item, the cheapest you can find."); ImGui.Text("Goto a Market Board. Purchase any item, the cheapest you can find."u8);
} }
else else
{ {
ImGui.TextWrapped("Does this information match the purchase you made? This is testing the response from the server."); ImGui.TextWrapped("Does this information match the purchase you made? This is testing the response from the server."u8);
ImGui.Separator(); ImGui.Separator();
ImGui.Text($"Quantity: {this.marketBoardPurchase.ItemQuantity.ToString()}"); ImGui.Text($"Quantity: {this.marketBoardPurchase.ItemQuantity.ToString()}");
ImGui.Text($"Item ID: {this.marketBoardPurchase.CatalogId}"); ImGui.Text($"Item ID: {this.marketBoardPurchase.CatalogId}");
ImGui.Separator(); ImGui.Separator();
if (ImGui.Button("Looks Correct / Skip")) if (ImGui.Button("Looks Correct / Skip"u8))
{ {
this.currentSubStep++; this.currentSubStep++;
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
{ {
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }
@ -156,11 +157,11 @@ internal class MarketBoardSelfTestStep : ISelfTestStep
case SubStep.Taxes: case SubStep.Taxes:
if (this.marketTaxRate == null) if (this.marketTaxRate == null)
{ {
ImGui.TextWrapped("Goto a Retainer Vocate and talk to then. Click the 'View market tax rates' menu item."); ImGui.TextWrapped("Goto a Retainer Vocate and talk to then. Click the 'View market tax rates' menu item."u8);
} }
else else
{ {
ImGui.Text("Does this market tax rate information look correct?"); ImGui.Text("Does this market tax rate information look correct?"u8);
ImGui.Separator(); ImGui.Separator();
ImGui.Text($"Uldah: {this.marketTaxRate.UldahTax.ToString()}"); ImGui.Text($"Uldah: {this.marketTaxRate.UldahTax.ToString()}");
ImGui.Text($"Gridania: {this.marketTaxRate.GridaniaTax.ToString()}"); ImGui.Text($"Gridania: {this.marketTaxRate.GridaniaTax.ToString()}");
@ -171,13 +172,13 @@ internal class MarketBoardSelfTestStep : ISelfTestStep
ImGui.Text($"Sharlayan: {this.marketTaxRate.SharlayanTax.ToString()}"); ImGui.Text($"Sharlayan: {this.marketTaxRate.SharlayanTax.ToString()}");
ImGui.Text($"Tuliyollal: {this.marketTaxRate.TuliyollalTax.ToString()}"); ImGui.Text($"Tuliyollal: {this.marketTaxRate.TuliyollalTax.ToString()}");
ImGui.Separator(); ImGui.Separator();
if (ImGui.Button("Looks Correct / Skip")) if (ImGui.Button("Looks Correct / Skip"u8))
{ {
this.currentSubStep++; this.currentSubStep++;
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
{ {
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }

View file

@ -1,4 +1,4 @@
using System.Collections.Generic; using System.Collections.Generic;
using Dalamud.Bindings.ImGui; using Dalamud.Bindings.ImGui;
using Dalamud.Game.Gui.NamePlate; using Dalamud.Game.Gui.NamePlate;
@ -40,14 +40,14 @@ internal class NamePlateSelfTestStep : ISelfTestStep
break; break;
case SubStep.Confirm: case SubStep.Confirm:
ImGui.Text("Click to redraw all visible nameplates"); ImGui.Text("Click to redraw all visible nameplates"u8);
if (ImGui.Button("Request redraw")) if (ImGui.Button("Request redraw"u8))
namePlateGui.RequestRedraw(); namePlateGui.RequestRedraw();
ImGui.TextUnformatted("Can you see marker icons above nameplates, and does\n" + ImGui.Text("Can you see marker icons above nameplates, and does\n" +
"the update count increase when using request redraw?"); "the update count increase when using request redraw?");
if (ImGui.Button("Yes")) if (ImGui.Button("Yes"u8))
{ {
this.CleanUp(); this.CleanUp();
return SelfTestStepResult.Pass; return SelfTestStepResult.Pass;
@ -55,7 +55,7 @@ internal class NamePlateSelfTestStep : ISelfTestStep
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
{ {
this.CleanUp(); this.CleanUp();
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;

View file

@ -225,11 +225,11 @@ internal class NounProcessorSelfTestStep : ISelfTestStep
if (e.ExpectedResult != output) if (e.ExpectedResult != output)
{ {
ImGui.TextUnformatted($"Mismatch detected (Test #{i}):"); ImGui.Text($"Mismatch detected (Test #{i}):");
ImGui.TextUnformatted($"Got: {output}"); ImGui.Text($"Got: {output}");
ImGui.TextUnformatted($"Expected: {e.ExpectedResult}"); ImGui.Text($"Expected: {e.ExpectedResult}");
if (ImGui.Button("Continue")) if (ImGui.Button("Continue"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;

View file

@ -33,7 +33,7 @@ internal class PartyFinderSelfTestStep : ISelfTestStep
return SelfTestStepResult.Pass; return SelfTestStepResult.Pass;
} }
ImGui.Text("Open Party Finder"); ImGui.Text("Open Party Finder"u8);
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
} }

View file

@ -23,26 +23,26 @@ internal class SeStringEvaluatorSelfTestStep : ISelfTestStep
switch (this.step) switch (this.step)
{ {
case 0: case 0:
ImGui.TextUnformatted("Is this the current time, and is it ticking?"); ImGui.Text("Is this the current time, and is it ticking?"u8);
// This checks that EvaluateFromAddon fetches the correct Addon row, // This checks that EvaluateFromAddon fetches the correct Addon row,
// that MacroDecoder.GetMacroTime()->SetTime() has been called // that MacroDecoder.GetMacroTime()->SetTime() has been called
// and that local and global parameters have been read correctly. // and that local and global parameters have been read correctly.
ImGui.TextUnformatted(seStringEvaluator.EvaluateFromAddon(31, [(uint)DateTimeOffset.UtcNow.ToUnixTimeSeconds()]).ExtractText()); ImGui.Text(seStringEvaluator.EvaluateFromAddon(31, [(uint)DateTimeOffset.UtcNow.ToUnixTimeSeconds()]).ExtractText());
if (ImGui.Button("Yes")) if (ImGui.Button("Yes"u8))
this.step++; this.step++;
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
break; break;
case 1: case 1:
ImGui.TextUnformatted("Checking pcname macro using the local player name..."); ImGui.Text("Checking pcname macro using the local player name..."u8);
// This makes sure that NameCache.Instance()->TryGetCharacterInfoByEntityId() has been called, // This makes sure that NameCache.Instance()->TryGetCharacterInfoByEntityId() has been called,
// that it returned the local players name by using its EntityId, // that it returned the local players name by using its EntityId,
@ -52,9 +52,9 @@ internal class SeStringEvaluatorSelfTestStep : ISelfTestStep
var localPlayer = clientState.LocalPlayer; var localPlayer = clientState.LocalPlayer;
if (localPlayer is null) if (localPlayer is null)
{ {
ImGui.TextUnformatted("You need to be logged in for this step."); ImGui.Text("You need to be logged in for this step."u8);
if (ImGui.Button("Skip")) if (ImGui.Button("Skip"u8))
return SelfTestStepResult.NotRan; return SelfTestStepResult.NotRan;
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;
@ -65,11 +65,11 @@ internal class SeStringEvaluatorSelfTestStep : ISelfTestStep
if (evaluatedPlayerName != localPlayerName) if (evaluatedPlayerName != localPlayerName)
{ {
ImGui.TextUnformatted("The player name doesn't match:"); ImGui.Text("The player name doesn't match:"u8);
ImGui.TextUnformatted($"Evaluated Player Name (got): {evaluatedPlayerName}"); ImGui.Text($"Evaluated Player Name (got): {evaluatedPlayerName}");
ImGui.TextUnformatted($"Local Player Name (expected): {localPlayerName}"); ImGui.Text($"Local Player Name (expected): {localPlayerName}");
if (ImGui.Button("Continue")) if (ImGui.Button("Continue"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;

View file

@ -102,12 +102,12 @@ internal class SheetRedirectResolverSelfTestStep : ISelfTestStep
if (utf8SheetName->ToString() != sheetName2 || rowId1 != rowId2 || colIndex1 != colIndex2 || flags1 != flags2) if (utf8SheetName->ToString() != sheetName2 || rowId1 != rowId2 || colIndex1 != colIndex2 || flags1 != flags2)
{ {
ImGui.TextUnformatted($"Mismatch detected (Test #{i}):"); ImGui.Text($"Mismatch detected (Test #{i}):");
ImGui.TextUnformatted($"Input: {redirect.SheetName}#{redirect.RowId}"); ImGui.Text($"Input: {redirect.SheetName}#{redirect.RowId}");
ImGui.TextUnformatted($"Game: {utf8SheetName->ToString()}#{rowId1}-{colIndex1} ({flags1})"); ImGui.Text($"Game: {utf8SheetName->ToString()}#{rowId1}-{colIndex1} ({flags1})");
ImGui.TextUnformatted($"Evaluated: {sheetName2}#{rowId2}-{colIndex2} ({flags2})"); ImGui.Text($"Evaluated: {sheetName2}#{rowId2}-{colIndex2} ({flags2})");
if (ImGui.Button("Continue")) if (ImGui.Button("Continue"u8))
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
return SelfTestStepResult.Waiting; return SelfTestStepResult.Waiting;

View file

@ -31,7 +31,7 @@ internal class TargetSelfTestStep : ISelfTestStep
break; break;
case 1: case 1:
ImGui.Text("Target a player..."); ImGui.Text("Target a player..."u8);
var cTarget = targetManager.Target; var cTarget = targetManager.Target;
if (cTarget is PlayerCharacter) if (cTarget is PlayerCharacter)
@ -42,7 +42,7 @@ internal class TargetSelfTestStep : ISelfTestStep
break; break;
case 2: case 2:
ImGui.Text("Focus-Target a Battle NPC..."); ImGui.Text("Focus-Target a Battle NPC..."u8);
var fTarget = targetManager.FocusTarget; var fTarget = targetManager.FocusTarget;
if (fTarget is BattleNpc) if (fTarget is BattleNpc)
@ -53,7 +53,7 @@ internal class TargetSelfTestStep : ISelfTestStep
break; break;
case 3: case 3:
ImGui.Text("Soft-Target an EventObj..."); ImGui.Text("Soft-Target an EventObj..."u8);
var sTarget = targetManager.SoftTarget; var sTarget = targetManager.SoftTarget;
if (sTarget is EventObj) if (sTarget is EventObj)

View file

@ -25,15 +25,15 @@ internal class ToastSelfTestStep : ISelfTestStep
this.sentToasts = true; this.sentToasts = true;
} }
ImGui.Text("Did you see a normal toast, a quest toast and an error toast?"); ImGui.Text("Did you see a normal toast, a quest toast and an error toast?"u8);
if (ImGui.Button("Yes")) if (ImGui.Button("Yes"u8))
{ {
return SelfTestStepResult.Pass; return SelfTestStepResult.Pass;
} }
ImGui.SameLine(); ImGui.SameLine();
if (ImGui.Button("No")) if (ImGui.Button("No"u8))
{ {
return SelfTestStepResult.Fail; return SelfTestStepResult.Fail;
} }

Some files were not shown because too many files have changed in this diff Show more