Commit graph

29 commits

Author SHA1 Message Date
goat
47f60eb391
Merge pull request #2568 from Infiziert90/ImRaii-UIDebug2
Improve UIDebug2
2026-01-09 21:39:41 +01:00
Haselnussbomber
c93f04f0e4
Code cleanup (#2439)
* Use new Lock objects

* Fix CA1513: Use ObjectDisposedException.ThrowIf

* Fix CA1860: Avoid using 'Enumerable.Any()' extension method

* Fix IDE0028: Use collection initializers or expressions

* Fix CA2263: Prefer generic overload when type is known

* Fix CA1862: Use the 'StringComparison' method overloads to perform case-insensitive string comparisons

* Fix IDE0270: Null check can be simplified

* Fix IDE0280: Use 'nameof'

* Fix IDE0009: Add '.this'

* Fix IDE0007: Use 'var' instead of explicit type

* Fix IDE0062: Make local function static

* Fix CA1859: Use concrete types when possible for improved performance

* Fix IDE0066: Use switch expression

Only applied to where it doesn't look horrendous.

* Use is over switch

* Fix CA1847: Use String.Contains(char) instead of String.Contains(string) with single characters

* Fix SYSLIB1045: Use 'GeneratedRegexAttribute' to generate the regular expression implementation at compile-time.

* Fix CA1866: Use 'string.EndsWith(char)' instead of 'string.EndsWith(string)' when you have a string with a single char

* Fix IDE0057: Substring can be simplified

* Fix IDE0059: Remove unnecessary value assignment

* Fix CA1510: Use ArgumentNullException throw helper

* Fix IDE0300: Use collection expression for array

* Fix IDE0250: Struct can be made 'readonly'

* Fix IDE0018: Inline variable declaration

* Fix CA1850: Prefer static HashData method over ComputeHash

* Fi CA1872: Prefer 'Convert.ToHexString' and 'Convert.ToHexStringLower' over call chains based on 'BitConverter.ToString'

* Update ModuleLog instantiations

* Organize usings
2026-01-06 08:36:55 -08:00
Infi
bd05f4c1a5 - Switch SeString to ReadOnlySeString
- Utf8String to ReadOnlySeString avoiding Marshal
- Remove unnecessary ImRaii checks
- Switch default to 0
2026-01-05 03:15:01 +01:00
Infi
0b1a697d4d - Comment out erroring unknown prints 2025-12-18 15:38:57 +01:00
Kaz Wolfe
fe163fbb97
fix: some minor IDE complaints 2025-11-11 08:28:14 -08:00
Haselnussbomber
58fbff7c56
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
2025-08-04 15:46:43 -07:00
Kaz Wolfe
bd52c60c6f
Merge branch 'imgui-bindings' into api13
# Conflicts:
#	Dalamud/Game/Gui/GameGui.cs
#	Dalamud/Interface/Internal/UiDebug.cs
#	Dalamud/Interface/Internal/Windows/Data/Widgets/AddonWidget.cs
#	Dalamud/Interface/Internal/Windows/SelfTest/Steps/ItemPayloadSelfTestStep.cs
2025-08-04 11:30:14 -07:00
srkizer
c69329f592
Manual overloads for ImGui functions accepting text (#2319)
* wip2

* Implement AutoUtf8Buffer

* reformat

* Work on manual bindings

* restructure

* Name scripts properly

* Update utility functions to use ImU8String

* add overloads

* Add more overloads

* Use ImGuiWindow from gen, support AddCallback

* Use LibraryImport for custom ImGuiNative functinos

* Make manual overloads for string-returning functinos

* Make all overloads with self as its first parameter extension methods

* Fix overload resolution by removing unnecessary

* in => scoped in

* Fix compilation errors
2025-08-04 11:14:00 -07:00
Haselnussbomber
57c6089fc1
[Api13] Add native wrapper structs (#2330) 2025-08-03 17:43:52 -07:00
goaaats
90e426b325 Remove ImGui.NET entirely 2025-06-22 22:21:12 +02:00
goaaats
95ec633cc5 merge 2025-06-22 21:39:38 +02:00
MidoriKami
7c4e1c44a6
Update NodeTree.Component.cs (#2291) 2025-06-07 18:55:13 +02:00
goaaats
eb34eb1023 Fix some warnings 2025-05-31 12:00:20 +02:00
MidoriKami
fe8efc9dde
UIDebug2 Timeline Labelset support (#2275)
* Add LabelSet Display

* Update TimelineTree.cs
2025-05-26 21:09:50 +02:00
MidoriKami
43ab6f6f63
UiDebug2 Misc Fixes (#2273)
* Fix incorrect type check

* Fix address calculation
2025-05-24 00:44:24 +02:00
goaaats
6858c646a2 Fix conds in Window 2025-04-14 21:06:38 +02:00
goaaats
ad3b0f0194 Fix some warnings 2025-04-08 22:21:04 +02:00
goaaats
0690cce995 wip bindings upgrade 2025-04-06 20:59:23 +02:00
Kaz Wolfe
2176b32219
chore: Bump ClientStructs and make it build again 2025-03-24 13:25:13 -07:00
srkizer
70af62885b
chore: remove [Experimental] from SeStringRenderer (#2144)
It hasn't caused problem for a while (though performance probably can be
better), and looks good enough to remove this attribute.
2024-12-17 07:31:44 -08:00
ItsBexy
c950b15a22
Minor interface adjustments (#2121)
- Further ImRaii safety in UiDebug2
- Set some mistakenly internal methods in ImGuiComponents to public
- Added SpanFullWidth flag to trees in Util.ShowStruct
2024-11-24 21:37:39 +01:00
ItsBexy
ee63f60877
Update UIDebug2, ImGuiComponents, ImGuiHelpers (#2081)
* Update ImGuiComponents & ImGuiHelpers
Took some helper functions created for `UiDebug2`, and incorporated them into `ImGuiComponents` / `ImGuiHelpers` instead

- `IconButton()` (and its various overloads) now includes an optional size parameter
- `IconButtonSelect()` has been added, allowing a row or grid of IconButtons to serve as a radio-like input
- `HelpMarker()` now includes an optional color parameter
- `ClickToCopyText()` now includes an optional color parameter, and includes the `FontAwesome.Copy` icon in the tooltip.
- Implemented ImRaii in these files

These changes are intended not to break any existing calls in plugins or within Dalamud itself.

* Fix ambiguous overloads

* UiDebug2 Updates
- Fixed XY coordinate display
- Added AtkValue table to AddonTree display
- Restored old behaviour wherein the Addon display initially only shows the Root node and a collapsed node list
- The above should also fix the Element Selector / Search behaviour, allowing it to scroll correctly to the searched node
- Now displays field offsets for any node/component whose pointer exists in the addon struct
- Tidied up node tree headers by removing memory addresses (they're still readable in the opened tree, of course)
2024-11-14 15:36:27 -08:00
Kaz Wolfe
084f8b55e7
fix cs breaks 2024-11-11 08:54:57 -08:00
goat
8956bd54a9 fix some warnings 2024-11-04 15:01:09 +01:00
goat
f39abd9dd2 fix: don't refer to CS assembly by name 2024-11-04 14:39:26 +01:00
ItsBexy
8fc93c4c52 Switch to TextUnformatted()
Plus other noodling with GUI business.

I considered adding some of the helper features I use here to `ImGuiComponents`, but it would have quickly started expanding into a separate project of its own, and I didn't really want to entangle that with this PR right now.
2024-10-24 16:37:04 -06:00
ItsBexy
552aafd70d Misc UiDebug2 Fixes
- The widget will now only check the `FFXIVClientStructs` assembly for addon type information.
- Updated ImRaii usage
- Clarified suppression in `NodeTree.Text.cs`
- Restored the original Addon Inspector in the Data window, so that both versions can coexist for the time being
2024-10-17 10:52:22 -06:00
ItsBexy
e19f9284e5 Implement ImRaii 2024-09-03 21:28:22 -06:00
ItsBexy
bf8690fc60 Update Addon Inspector
This updates the Addon Inspector with lots of new features and functionality.

- Features from Caraxi's fork of UiDebug have been incorporated, such as the Element Selector UI and address search.
- Any addon or node can now pop out into its own window.
- Revised the visual style of node field/property information.
- Color values are now visually displayed.
- Any nodes or components that are referenced by fields within the addon will now show that field name in the inspector.
- Added editors for nodes, allowing complete control over most of their properties.
- Improved texture display for Image nodes (and Image node variant types). The active part of the texture is now highlighted, and the boundaries of other parts can be shown via mouseover.
- Highlighting of node bounds onscreen is now more accurate, factoring in rotation (including when using the Element Selector).
- Display of animation timelines has been revamped, showing a table of keyframes for each animation.

A standalone SamplePlugin-based version is available here: https://github.com/ItsBexy/UiDebug2
2024-09-02 21:01:49 -06:00