Commit graph

71 commits

Author SHA1 Message Date
goat
93adea0ac9 rethrow Lumina setup exception 2024-04-21 17:12:46 +02:00
srkizer
8a516ff6bc
Enable Lumina GameData StreamPool (#1783) 2024-04-21 15:52:46 +02:00
Haselnussbomber
7280744def
Update Lumina to 3.17.0 (#1780)
* Update Lumina to 3.17.0

* Dispose GameData in DataManager

* Update Microsoft.Extensions.ObjectPool
2024-04-21 15:22:25 +02:00
Soreepeong
7f5ef03917 Use EarlyLoadedService for anything that is not mandatory for kicking off plugin loader 2024-04-07 21:53:23 +09:00
goaaats
3b0d4a6068 remove lazy debug msgbox 2024-03-21 00:14:22 +01:00
goaaats
0bfb1d5b50 datamanager: don't assume bad integrity status if there isn't one 2024-03-21 00:12:16 +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
KazWolfe
2083ccda00
Remove internal dependencies on opcodes (#1464)
- Removes the opcode lists from internal API entirely
- Move NetworkHandlers to use packet handler sigs
- Remove opcode data from NetworkMonitorWidget
2023-10-05 17:01:03 +00:00
goat
f44c6794e7
chore: tidy-up, move files shared between dalamud and injector into separate assembly 2023-09-30 16:11:52 +02:00
goat
a61e181bde
fix warning in DataManager 2023-09-19 19:28:31 +02:00
goat
5809cf5d7c
chore: make all services with interfaces internal 2023-09-17 21:09:00 +02:00
goat
02e1f2502e
refactor: move Dalamud.Interface utils into main assembly, warnings pass 2023-08-04 19:36:09 +02:00
goat
758ae7c097
Remove texture-related IDataManager functions 2023-08-03 20:33:04 +02:00
github-actions[bot]
b5dd771843 Merge remote-tracking branch 'origin/master' into v9-rollup 2023-08-03 18:27:09 +00:00
goat
933eb9fa96
merge 2023-08-03 12:52:44 +02:00
srkizer
b1211fe5d1
DataManager.GetImGuiTexture: skip converting to bgra8888 when possible (#1333) 2023-08-03 12:50:17 +02:00
goat
3d0d5e9bc0
feat: deprecate all DataManager texture funcs 2023-08-02 18:51:01 +02:00
Haselnussbomber
c991e1f1d3 refactor: make IsDataReady internal 2023-07-29 21:09:07 +02:00
MidoriKami
40aa70d05f
Add IDataManager (#1292) 2023-07-02 18:12:41 +02:00
MidoriKami
895c4ae443
Add functions to get High Resolution icons (#1259)
Add new methods to retrieve high resolution icons (`_hr1`) from game files.
2023-06-23 17:25:37 -07:00
goat
d6b5f6c225
chore: never panic on cheet checksum mismatches for now 2023-01-23 23:54:01 +01:00
goat
09c4828a9e
chore: clean up file-scoped namespace fallout 2022-10-29 15:54:24 +02:00
goat
02f90899a3
feat: add GameData.HasModifiedGameDataFiles 2022-10-29 15:28:19 +02:00
goat
987ff8dc8f
chore: convert Dalamud to file-scoped namespaces 2022-10-29 15:23:22 +02:00
kizer
3369f569fb
Add call-on-services-ready attribute for service methods, and fix scene nullability (#900) 2022-06-26 18:49:34 +02:00
kizer
8e7f370ddd
Load services asynchronously whenever possible (#893) 2022-06-24 22:12:51 +02:00
goaaats
fba8c7163c
feat: set Lumina LoadMultithreaded 2022-06-24 14:16:35 +02:00
goaaats
c72581d3bb
chore: add some timings for Tier 2 init 2022-06-21 21:52:44 +02:00
goaaats
2d90598b70
refactor: make all PluginInterface classes explicitly disposable 2022-01-08 03:00:56 +01:00
goat
1561fbac00
Revert "refactor(Dalamud): switch to file-scoped namespaces"
This reverts commit b5f34c3199.
2021-11-18 15:23:40 +01:00
goat
b5f34c3199
refactor(Dalamud): switch to file-scoped namespaces 2021-11-17 19:42:32 +01:00
Raymond
14934a890c Expose DataManager.GameData
Why not?
2021-08-27 08:55:30 -04:00
goat
ac722a0309
fix: nullable annotation in DataManager.cs 2021-08-23 08:28:07 +02:00
Raymond
ff1d7f2829 Implement service locator 2021-08-21 14:03:06 -04:00
Raymond
3c5f6271ce GetIcon should be uint, add more overloads for HQ icons
Apparently "hq" is a language internally.
2021-08-09 17:34:31 -04:00
Raymond
47ac918e46 ClientLanguageExtensions and usage 2021-08-09 17:34:26 -04:00
Raymond
16266f9636 Utility class and namespace 2021-08-09 17:33:04 -04:00
Raymond Lynch
658eedca37 Magic the magic happen 2021-07-11 16:32:32 -04:00
Raymond Lynch
595fd3f1e4 StyleCop: everything else 2021-05-30 07:15:47 -04:00
goat
d6cd69508a
feat: add some helpers for texture loading 2021-04-19 22:21:08 +02:00
kalilistic
8b4635ee5f refactor: new code style in Data 2021-04-10 16:15:03 -04:00
goat
5e0c65ed14
fix: remove old hardcoded Completion and PetMirage sheets 2021-04-09 14:57:41 +02:00
kalilistic
09e651b3ab refactor: change client language to internal 2021-04-04 08:21:01 -04:00
goat
8024538588 fix: don't error on build for obsolete transients 2021-04-01 00:15:10 +02:00
goat
c50eb069d4 fix: update transient sheets to new Lumina 2021-04-01 00:06:49 +02:00
goat
2e6397d30b deps: update Lumina & Lumina.Excel 2021-04-01 00:04:01 +02:00
goat
dc35fc6c3f refactor: new code style in DataManager.cs 2021-03-31 23:58:27 +02:00
goat
e27ae3fd0c refactor: remove need for AssetManager, pass asset dir via StartInfo 2021-01-16 18:57:16 +01:00
aers
3866ac75fe Add wrapper for Lumina's FileExists. 2020-12-21 16:26:38 -08:00
goat
7dbfd830da fix: add workaround for CPU usage issue 2020-08-24 21:04:28 +02:00