Commit graph

1398 commits

Author SHA1 Message Date
Haselnussbomber
a8b8bce628
Fix IDE0028: Use collection initializers or expressions 2025-11-20 19:32:33 +01:00
Haselnussbomber
d060db3ca4
Fix CA1860: Avoid using 'Enumerable.Any()' extension method 2025-11-20 19:32:33 +01:00
Haselnussbomber
6bdc785273
Use new Lock objects 2025-11-20 19:32:32 +01:00
goaaats
20041be27c Convert ReliableFileStorage to async 2025-11-18 00:44:04 +01:00
goat
05f31265eb
Merge pull request #2422 from Haselnussbomber/playerstate-service
Add IPlayerState service
2025-11-17 20:28:01 +01:00
Haselnussbomber
64d4f7061a
Rename namespace PlayerState to Player 2025-11-17 19:29:48 +01:00
goaaats
fea7b3676f Start correct XL binary through branch switcher, add build branch to metadata
Some checks failed
Build Dalamud / Build on Windows (push) Waiting to run
Build Dalamud / Check API Compatibility (push) Blocked by required conditions
Build Dalamud / Deploy dalamud-distrib staging (push) Blocked by required conditions
Rollup changes to next version / check (api14) (push) Failing after 5s
Tag Build / Tag Build (push) Successful in 2s
2025-11-15 01:08:23 +01:00
goaaats
f6cd6d31ff Adjust branch switcher to XL 7, pass beta kind and key as arguments 2025-11-11 20:29:06 +01:00
Kaz Wolfe
fe163fbb97
fix: some minor IDE complaints 2025-11-11 08:28:14 -08:00
Haselnussbomber
af03e292ba
Pass down SelfTestRegistry to SelfTestWindow 2025-11-11 09:09:29 +01:00
goat
832edaf005
Merge pull request #2377 from KazWolfe/assert-blame
Some checks failed
Tag Build / Tag Build (push) Successful in 4s
Build Dalamud / Build on Windows (push) Has been cancelled
Build Dalamud / Check API Compatibility (push) Has been cancelled
Build Dalamud / Deploy dalamud-distrib staging (push) Has been cancelled
feat: Identify the plugin causing an assertion failure
2025-11-04 21:44:38 +01:00
goat
32e04458c6
Merge pull request #2416 from Haselnussbomber/fix-testing-api-level
Fix for testing plugins with older stable releases
2025-11-04 20:36:49 +01:00
GrittyFrog
ae777000e2 Plugin-registerable self tests
The goal of this change is to let plugins register their own self-tests. 

We do this through the `ISelfTestRegistry` interface. For a plugin it
would look like this:

```csharp
[PluginService]
public ISelfTestRegistry SelfTestRegistry

// Somewhere that gets called by your plugin
SelfTestRegistry.RegisterTestSteps([
  new MySelfTestStep(),
  new MyOtherSelfTestStep()
])
```

Where `MySelfTest` and `MyOtherSelfTest` are instances of
the existing `ISelfTestStep` interface.

The biggest changes are to `SelfTestWindow` and the introduction of
`SelfTestWithResults`. I wanted to make sure test state wasn't lost when
changing the dropdown state and I was finding it a bit annoying to work
with the Dictionary now that we can't just rely on the index of the
item.

To fix this I moved all the "test run" state into `SelfTestWithResults`,
most of the changes to `SelfTestWindow` are derived from that, other
then the addition of the combo box.

The documentation for this service is a bit sparse, but I wanted to put
it up for review first before I invest a bunch of time making nice
documentation. 

I'm keen to hear if we think this is useful or if any changes are
needed.
2025-10-13 19:04:08 +11:00
Haselnussbomber
4422622e1e
Add IPlayerState service 2025-10-05 13:49:25 +02:00
Haselnussbomber
d61a35b81f
Update Settings Window (#2400)
* Load new localization before firing change event

* Update texts in SettingsWindow when locale changes

* Localize settings search

* Update settings search input

- Disable when Credits are scrolling,
so Search Results aren't shown instead
- Select all on single click, as usual for a search bar

* Remove unused IsVisible property

* Fix General tab being unselected on language change

* Fix search results throwing, oops

* Missed using LocRef in EnumSettingsEntry

* Set CultureInfo before loading locs

* Change it to LazyLoc instead

So CheapLoc can export localizations...
2025-09-29 09:08:25 -07:00
Haselnussbomber
efaff769b5
Rename Id fields to match CS names (#2405)
* Rename DataId to BaseId

* Fix obsoletes

* Inherit documentation
2025-09-29 09:06:28 -07:00
Haselnussbomber
87adb2dfb7
More expressive code 2025-09-28 16:00:09 +02:00
Haselnussbomber
d1fbee2829
Remove manifest API filter in installer
The API is already checked in `PluginManager.IsManifestEligible`,
so a plugin not matching it doesn't even get here.
2025-09-28 15:39:36 +02:00
Haselnussbomber
191aa8d696
Move IsAvailableForTesting to IPluginManifest 2025-09-28 15:31:46 +02:00
Haselnussbomber
dceeccb242
Load valid sheets for AddFromSheetPopup asynchronously 2025-09-22 23:56:28 +02:00
Haselnussbomber
2625f51021
Fix missing macro strings in AddFromSheetPopup 2025-09-22 23:55:16 +02:00
Haselnussbomber
69a8bdd638
Update GlobalParameters list 2025-09-22 23:49:57 +02:00
Haselnussbomber
9447708058
Fix Copy MacroString button 2025-09-22 23:36:39 +02:00
Haselnussbomber
e2e3a01cc3
Fix SeString Creator input length cutting off long macro strings 2025-09-22 23:33:30 +02:00
Haselnussbomber
374f9fcbd0
Add some AutoTranslatePayload.Text self-tests 2025-09-21 03:10:00 +02:00
MidoriKami
e3498f1b9c
Fix entries yeeting themselves out of existance when scrolled off (#2392)
Some checks failed
Tag Build / Tag Build (push) Successful in 2s
Build Dalamud / Build on Windows (push) Has been cancelled
Build Dalamud / Check API Compatibility (push) Has been cancelled
Build Dalamud / Deploy dalamud-distrib staging (push) Has been cancelled
2025-08-30 12:59:05 +02:00
Kaz Wolfe
0c9176a8b6
feat: Reword message overview
- Removes extra lines from stack trace
- Use clearer-ish wording for messaging
2025-08-19 12:44:34 -07:00
Kaz Wolfe
9e405b26d2
feat: include line numbers/file info in stacktrace 2025-08-19 12:16:34 -07:00
Kaz Wolfe
32cb6e2127
feat: Identify the plugin causing an assertion failure 2025-08-19 11:07:14 -07:00
MidoriKami
ef688c09e2
Now with more child labor (#2374) 2025-08-15 15:38:04 +00:00
srkizer
9092e36b33
Reduce usage of exceptions from Boot (#2373)
* wip

* make pretty

* Remove CRT version check from IM

* fix

* Simplify IsDebuggerPresent hook
2025-08-15 00:02:32 -07:00
srkizer
8fcf633f02
Check if CRT version is at least 14.40.33816.0 (#2361)
* Check if CRT version is at least 14.40.33816.0

* Fix ULD path

* Remove debugging code
2025-08-10 16:56:22 +02:00
Soreepeong
5fee90085c Revert "Fix SeStringRendererTestWidget example"
This reverts commit 12f099a57e.
2025-08-09 08:23:38 +09:00
Soreepeong
3e2a6ec9cb Work around ActiveIdUsingKeyInputMask having a wrong type 2025-08-09 08:23:37 +09:00
Haselnussbomber
b3dcdb4539
Fix ImGui.MenuItem calls (again) (#2358) 2025-08-08 15:32:55 -07:00
Soreepeong
20842a64e2 Temporarily fix IME 2025-08-07 13:45:42 +09:00
srkizer
1f06006cc0
Fix combobox callback impl (#2347)
* Fix combobox callback impl

* Make ImGuiBackend delegates public

* Release ImGui focus when the game window loses focus
2025-08-06 19:18:40 -07:00
Soreepeong
75a1742af9 Remove dupe code 2025-08-07 08:24:09 +09:00
Soreepeong
12f099a57e Fix SeStringRendererTestWidget example 2025-08-07 07:51:20 +09:00
Kaz Wolfe
69b4ed941f
fix: cs bump breaks 2025-08-05 23:32:58 -07:00
Kaz Wolfe
dc28194ade
fix: addonargs name 2025-08-05 12:34:38 -07:00
Haselnussbomber
094fcc86d4
Add support for SheetSub payload (#2283) 2025-08-04 23:12:18 -07:00
Asriel
d6aa6b8b64
[API 13] Add Lumina.Excel as submodule (#2332)
* WIP on excel-submodule

* Add Lumina.Excel to build

* Fix sheet changes
2025-08-04 23:11:59 -07:00
Kaz Wolfe
ff36f08d0c
bump cs, fix warnings 2025-08-04 21:11:06 -07:00
Kaz Wolfe
d3bd5f1dce
fix: web merging is bad idea 2025-08-04 16:08:12 -07:00
Ottermandias
d28a164d8c
Add events for certain style changes from within Dalamud. (#2277)
* Add events for certain style changes from within Dalamud.

* Capture reset changes in events too.

* Add non-static versions of events to IUiBuilder, add remarks about timing to events.

* Move statics to InterfaceManager members and make plugin events local.

---------

Co-authored-by: KazWolfe <KazWolfe@users.noreply.github.com>
2025-08-04 15:52:13 -07: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
0c63541864
Fix disabled MenuItems (#2318) 2025-08-04 11:13:34 -07:00