Commit graph

704 commits

Author SHA1 Message Date
Soreepeong
e1bdba06de cleanup 2024-03-03 20:41:41 +09:00
Soreepeong
c04ce36b9c Add CreateFromGameScreen 2024-03-03 20:08:52 +09:00
Soreepeong
3853191c48 More cleanup 2024-03-03 00:51:28 +09:00
Soreepeong
3415df5d40 Cleanup 2024-03-02 23:45:14 +09:00
Soreepeong
0aa75306d4 fixese 2024-03-02 07:50:37 +09:00
Soreepeong
5367d288d6 Use WIC to implement ITP.SaveAsImageFormatToStreamAsync 2024-03-02 06:57:12 +09:00
Soreepeong
1ae11440aa Add ITextureProvider.CreateFromExistingTextureAsync 2024-03-02 01:41:11 +09:00
Soreepeong
ca986b46a2 cleanup 2024-02-28 21:17:50 +09:00
Soreepeong
cc756c243c Add ITextureProvider.GetFromManifestResource(Assembly,string) 2024-02-28 21:04:57 +09:00
Soreepeong
f8492dc06b changes 2024-02-28 19:16:14 +09:00
Soreepeong
71b84bcf40 Move all texture loading functionalities from IM to TM 2024-02-28 17:43:24 +09:00
Soreepeong
3bf907002f Remove CancellationToken from GetFromRaw(Sync) 2024-02-28 17:43:24 +09:00
Soreepeong
ea633cd876 Implement texture load throttling & cancellable async loads 2024-02-28 17:43:24 +09:00
Soreepeong
e12b2f7803 Make state+texture retrieval done with one API call 2024-02-28 17:43:24 +09:00
Soreepeong
71bb02347f Update docs 2024-02-28 17:43:24 +09:00
Soreepeong
5eadfc1b4d Add state fetchers 2024-02-28 17:43:24 +09:00
Soreepeong
3fe2920e92 Update ITextureProvider 2024-02-28 17:29:23 +09:00
Soreepeong
a3217bb86d Remove InitialiationTask from interface 2024-02-21 16:34:53 +09:00
Soreepeong
c27422384f IGameConfig: fix load-time race condition
As some public properties of `IGameConfig` are being set on the first
`Framework` tick, there was a short window that those properties were
null, which goes against the interface declaration.

This commit fixes that, by making those properties block for the full
initialization of the class.

A possible side effect is that a plugin that is set to block the game
from loading until it loads will now hang the game if it tries to access
the game configuration from its constructor, instead of throwing a
`NullReferenceException`. As it would mean that the plugin was buggy at
the first place and it would have sometimes failed to load anyway, it
might as well be a non-breaking change.
2024-02-20 15:37:54 +09:00
MidoriKami
31c3c1ecc0 Fix reset and reload not working 2024-01-28 20:37:30 -08:00
goaaats
57b8a5d932
prevent double-lookup for dev plugins in non-default profiles 2024-01-19 23:42:44 +01:00
goaaats
4e95d4fe37
allow load of devPlugins in non-default profile 2024-01-19 23:32:39 +01:00
goaaats
9024c9b00c
track internal name nonetheless 2024-01-18 22:47:56 +01:00
goaaats
256f4989f7
add some validation code to catch issues 2024-01-18 22:39:18 +01:00
goaaats
b3740d0539
add Profile.RemoveByInternalNameAsync() 2024-01-18 22:03:14 +01:00
goaaats
b446fcc191
merge 2024-01-18 21:51:18 +01:00
KazWolfe
86b7c29e94
fix: Make auto-update work again, the lazy way (#1592)
* fix: Make auto-update work again, the lazy way.

- Move auto-update to run on the first `Notice` message for parity with the welcome message.
- Add some logging in a few critical places to make things nicer.

* fix overzealous IDE complaints

* code-review comments

- Remove stray imports that the IDE included
- Remove fixme to move auto-updates (for now)

* Lazy retry auto-update
2024-01-13 20:17:26 +01:00
srkizer
de53150bd3
Optional recursive dependency pulls and fallback dependency load (#1595)
* Optional recursive dependency pulls and fallback dependency load

* add api10 todo

---------

Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2024-01-03 17:28:41 +00:00
KazWolfe
01cde50a46
chore: Suppress expected load errors (#1593)
- Add new `PluginPreconditionFailedException` to track cases where a plugin could not be loaded due to a precondition not being met.
  - Make `BannedPluginException` inherit from this
- Make `PluginPreconditionFailedException`s show as warnings in the log.
2024-01-01 16:11:09 +01:00
marzent
69096c440a
Allow plugins to load Dalamud dependency assemblies (#1580) 2023-12-31 16:20:00 -08:00
srkizer
5998fc687f
Fix DataShare race condition, and add debug features (#1573) 2023-12-16 21:05:13 +01:00
goat
711d5e2859
Merge pull request #1554 from Soreepeong/GameInventory 2023-12-08 00:42:47 +01:00
srkizer
a0f4baf8fa
Less footguns in service dependency handling (#1560) 2023-12-06 21:29:46 -08:00
Soreepeong
e594d59986 Enable tracking only when there exists a subscriber 2023-12-02 12:58:55 +09:00
Soreepeong
35b0d53e80 Add typed event variants 2023-12-02 10:59:13 +09:00
Soreepeong
1039c1eb8a Cleanup 2023-12-02 10:22:07 +09:00
Soreepeong
6dd34ebda4 support merge/split events 2023-12-01 22:37:24 +09:00
Soreepeong
35f4ff5c94 wip 2023-12-01 21:51:09 +09:00
Soreepeong
34e3adb3f2 wip; needs testing and more thinking 2023-12-01 18:10:43 +09:00
MidoriKami
7c6f98dc9f Proposed API Surface 2023-11-30 22:18:33 -08:00
Soreepeong
5204bb723d Optimizations 2023-11-30 20:42:34 +09:00
MidoriKami
92f4df625f [GameInventory] Service Prototype 2023-11-30 20:22:08 +09:00
KazWolfe
13346b04db
Remove second HttpClient from PluginRepository (#1551)
Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2023-11-28 22:52:38 +01:00
srkizer
b66be84b93
Better Service dependency handling (#1535) 2023-11-28 22:20:16 +01:00
Anna
fcebd15077
Send Dalamud user-agent when downloading plugins (#1550)
Sets the user-agent on all HappyHttp requests to `Dalamud/<Version>`, and pass `Accept: application/zip` in plugin downloads.
2023-11-28 09:04:36 -08:00
goat
b73ac2f3f7
feat: show why update failed when updating a single plugin 2023-11-02 19:52:23 +01:00
goat
7f87d2a9d2
fix: don't unload plugin until update is downloaded, show proper errors 2023-11-02 19:42:32 +01:00
goat
9875a7ea31
feat: allow configuring the default page the installer opens to 2023-10-25 17:32:42 +02:00
MidoriKami
e12ec0ceff
Add FrameworkPluginScoped (#1442)
Co-authored-by: KazWolfe <KazWolfe@users.noreply.github.com>
2023-10-21 18:06:02 -07:00
MidoriKami
0f349bb3dd
IChatGui Add Readonly RegisteredLinkHandlers (#1487) 2023-10-15 12:19:14 +02:00