Commit graph

204 commits

Author SHA1 Message Date
goat
2265b389b1 config: rename ReShade handling mode property to force new default 2024-07-25 21:36:53 +02:00
Soreepeong
d8861ec7da write code 2024-07-25 21:07:49 +09:00
Soreepeong
3215b6dddf Add optional vtable swapchain hook mode 2024-07-23 10:57:09 +09:00
Soreepeong
d71fbc52fb Add reshade unwrapping options 2024-07-22 20:29:26 +09:00
srkizer
19d182546c
Always specify TypeNameHandling for types under Dalamud assembly (#1910)
LoadForType{T} intentionally does not specify TypeNameHandling which
seemingly is required for handling inheritance for nested properties.
Added a custom JsonConverter that will force TypeNameHandling=Objects
for types under Dalamud assembly, as a quick workaround for forcing font
related types to be correctly handled during deserialization.
2024-07-09 22:03:45 +02:00
goat
c2d52cc6b0 remove built-in RMT filtering 2024-06-29 00:10:00 +02:00
github-actions[bot]
263610c9e7 Merge remote-tracking branch 'origin/master' into apiX-rollup 2024-06-15 22:45:08 +00:00
goat
08a411728c use a map to track ftue levels per-feature instead 2024-06-15 22:08:30 +02:00
goat
8d18940108 initial implementation of new auto-update UX 2024-06-15 01:00:50 +02:00
goat
9fdc704834 add missing history property to config 2024-06-10 21:23:45 +02:00
github-actions[bot]
4e331b1d85 Merge remote-tracking branch 'origin/master' into apiX-rollup 2024-06-08 23:34:08 +00:00
goat
31e541fae5 deps: upgrade StyleCop, fix warnings
...fixes new array initializer expression
2024-06-07 21:19:16 +02:00
Soreepeong
0d7c0a0375 Merge remote-tracking branch 'upstream/apiX' into feature/itextureprovider-updates 2024-06-04 23:54:38 +09:00
srkizer
0a219fcd82
Add IME state indicator opacity setting (#1811) 2024-05-21 08:41:25 +02:00
Soreepeong
8c7771bf7d Merge branch 'apiX' into feature/itextureprovider-updates 2024-05-12 22:17:32 +09:00
meoiswa
00311b4dca
DalamudPluginInterface functions for opening Settings and DevMenu (#1795)
* Add functions for plugins to open the Developer Menu and Dalamud Settings windows

* Do not break ABI by instead declaring a new method OpenPluginsInstallerTo
Replace OpenDalamudSettings with OpenDalamudSettingsTo
2024-04-30 00:30:09 +02:00
goat
448b0d16ea
Add "loading dialog" for service init, unify blocking logic (#1779)
* wip

* hacky fix for overlapping event text in profiler

* move IsResumeGameAfterPluginLoad logic to PluginManager

* fix some warnings

* handle exceptions properly

* remove ability to cancel, rename button to "hide" instead

* undo Dalamud.Service refactor for now

* warnings

* add explainer, show which plugins are still loading

* add some text if loading takes more than 3 minutes

* undo wrong CS merge
2024-04-21 17:28:37 +02:00
goaaats
b2df6e2a2b pi: allow "dismissing" validation problems 2024-03-27 21:10:21 +01:00
goaaats
f9847398d2 settings: get "reduced motion" setting from WinApi 2024-03-20 22:14:24 +01:00
srkizer
95defa200f
Add Reduced Motion for Notifications (#1732)
When Reduced Motion configuration is on, the expiry progressbar is
removed, and instead a pie on top right is shown, and relative time
update interval increases to 15 seconds. Progress wave animation also is
suppressed.
2024-03-20 21:53:20 +01:00
srkizer
87b9edb448
Add IInternal/PublicDisposableService (#1696)
* Add IInternal/PublicDisposableService

Plugins are exposed interfaces that are not inherited from
`IDisposable`, but services implementing plugin interfaces often
implement `IDisposable`. Some plugins may try to call
`IDisposable.Dispose` on everything provided, and it also is possible to
use `using` clause too eagerly while working on Dalamud itself, such as
writing `using var smth = await Service<SomeService>.GetAsync();`. Such
behaviors often lead to a difficult-to-debug errors, and making those
services either not an `IDisposable` or making `IDisposable.Dispose` do
nothing if the object has been loaded would prevent such errors. As
`ServiceManager` must be the only class dealing with construction and
disposal of services, `IInternalDisposableService` has been added to
limit who can dispose the object. `IPublicDisposableService` also has
been added to classes that can be constructed and accessed directly by
plugins; for those, `Dispose` will be ignored if the instance is a
service instance, and only `DisposeService` will respond.

In addition, `DalamudPluginInterface` and `UiBuilder` also have been
changed so that their `IDisposable.Dispose` no longer respond, and
instead, internal functions have been added to only allow disposal from
Dalamud.

* Cleanup

* Postmerge fixes

* More explanation on RunOnFrameworkThread(ClearHooks)

* Mark ReliableFileStorage public ctor obsolete

---------

Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2024-03-16 15:58:05 +00:00
Soreepeong
6a0f774625 Add texture leak tracker 2024-03-05 01:06:02 +09:00
AzureGem
0651c643b1
Limit console log lines held in memory (#1683)
* Add AG.Collections.RollingList

* Use RollingList for logs + Adaption changes

* Create Dalamud.Utility.ThrowHelper

* Create Dalamud.Utility.RollingList

* ConsoleWindow: Remove dependency

* Remove NuGet Dependency

* Add Log Lines Limit configuration

* Use Log Lines Limit configuration and handle changes

* Make log lines limit configurable
2024-02-27 19:15:11 +01:00
srkizer
34daa73612
Implement FontChooserDialog (#1637)
* Implement FontChooserDialog

* Minor fixes

* Fixes 2

* Add Reset default font button

* Add failsafe

* reduce uninteresting exception message

* Add remarks to use AttachExtraGlyphsForDalamudLanguage

* Support advanced font configuration options

* fixes

* Shift ui elements

* more fixes

* Add To(Localized)String for IFontSpec

* Untie GlobalFontScale from default font size

* Layout fixes

* Make UiBuilder.DefaultFontSize point to user configured value

* Update example for NewDelegateFontHandle

* Font interfaces: write notes on not intended for plugins to implement

* Update default gamma to 1.7 to match closer to prev behavior (1.4**2)

* Fix console window layout
2024-02-13 20:09:46 +00:00
Soreepeong
63b16bcc7c Reapply "IFontAtlas: font atlas per plugin"
This reverts commit b5696afe94.
2024-01-19 07:26:56 +09:00
goat
b5696afe94 Revert "IFontAtlas: font atlas per plugin" 2024-01-18 12:51:58 -08:00
Soreepeong
e86c5458a2 Remove font gamma configuration 2024-01-03 23:37:00 +09:00
srkizer
b66be84b93
Better Service dependency handling (#1535) 2023-11-28 22:20:16 +01:00
srkizer
7a0de45f87
Miscellaneous improvements (#1537) 2023-11-26 22:58:26 +01:00
goat
5daef60422
chore: rename config key for title bar options, move to experimental tab 2023-11-14 18:48:10 +01:00
goat
3939731cb0
chore: make window additional options opt-in for now 2023-11-11 14:19:24 +01:00
goat
f10a597566
feat: add title bar buttons API to Window, make clickthrough/pinning window a title bar button 2023-11-06 23:10:55 +01:00
goat
9875a7ea31
feat: allow configuring the default page the installer opens to 2023-10-25 17:32:42 +02:00
goat
bef5e7c3f5
fix: we need ReliableFileStorage still when disposing config 2023-10-01 22:13:29 +02:00
goat
4a1b220d4a
fix: register interfaces for provided services 2023-09-30 01:09:25 +02:00
goat
f027b684ed
fix: specify WorkingPluginId when saving 2023-09-27 23:27:51 +02:00
goat
1d8b579b04
feat: also use reliable storage for plugin configs 2023-09-27 22:39:09 +02:00
goat
125034155b
feat: first pass at ReliableFileStorage service 2023-09-27 22:10:21 +02:00
goat
979a5463ca
fix: dev plugins always need to retain their WorkingPluginId, even throughout reloads 2023-09-19 23:14:50 +02:00
goat
8a267e51bf
feat: improve custom repo disclaimer a bit 2023-08-30 23:53:24 +02:00
goat
b4c24305f2
chore: add pre-filled FTUE level to config, so that existing users will not get a FTUE once we add it 2023-08-08 18:42:23 +02:00
MidoriKami
e52f7696ba
Add Open/Close SFX to Window (#1298)
Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2023-07-05 21:21:49 +00:00
goat
1443c751f5
feat: add a tutorial for profiles 2023-06-26 10:30:56 +02:00
goat
bcdbe06e3f
disable profiles by default 2023-06-12 20:31:34 +02:00
goat
fe6196d0ad
merge master into profiles 2023-05-28 16:06:05 +02:00
goat
eb06636290
enable profiles by default 2023-04-12 21:43:12 +02:00
goat
642e8bf6d3
Profiles (#1178) 2023-04-10 19:17:00 +02:00
Sowce
f649183e08 Adding the option to not display Dalamud's welcome message on signin 2023-04-01 01:42:41 +02:00
goat
ec0f52b7c3
chore: don't report crashes when shutting down the game, if no devplugin is loaded 2023-03-20 20:16:01 +01:00
goat
8781183eaa
fix: also use safe overwrite for plugin configs 2023-03-19 13:15:49 +01:00