Commit graph

26 commits

Author SHA1 Message Date
Haselnussbomber
2d096d9b33
Properly initialize GameInventoryItems (#2504)
Some checks failed
Rollup changes to next version / check (api14) (push) Failing after 20s
Tag Build / Tag Build (push) Successful in 5s
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-12-13 14:05:03 +10:00
Haselnussbomber
8fd49f261a
Unify agent update events into AgentUpdate 2025-11-08 11:31:10 +01:00
Haselnussbomber
0b6f3b8bcf
Add events based on AgentUpdateFlag 2025-10-19 16:51:47 +02:00
Haselnussbomber
0d9eca1877
Fix GameInventoryItem array initialization (#2222) 2025-03-28 18:32:23 +00:00
Haselnussbomber
6160252418
Update GameInventoryItem (#2219)
* Update GameInventoryItem

- Resolve symbolic InventoryItem, used in HandIn
- Harden Materia/MateriaGrade/Stains results
- Make sure GameInventoryItem is constructed correctly

* Remove some duplicate code from InventoryWidget

* Fix null check
2025-03-28 09:00:14 -07:00
Haselnussbomber
2a9ee760c6
Add IGameInventory.GetInventoryItems (#2008) 2024-11-04 16:28:06 +01:00
KazWolfe
0c8c4bfdbf
chore: Remove the [InterfaceVersion] attribute (#1844) 2024-06-16 13:01:17 +02:00
aers
d823db7930
[apiX] first pass update for new clientstructs (#1818)
* first pass update for new clientstructs

* track latest clientstructs & fix compilation errors

* fix GameInventory hook bug
rename Appartment
2024-05-31 09:09:28 -07:00
Soreepeong
7f5ef03917 Use EarlyLoadedService for anything that is not mandatory for kicking off plugin loader 2024-04-07 21:53:23 +09: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
ba5e3407d6 Permaenable raptureAtkModuleUpdateHook 2023-12-02 13:53:00 +09:00
Soreepeong
841c47e186 Use RaptureAtkModule.Update as a cue for checking inventory changes 2023-12-02 13:44:28 +09:00
Soreepeong
e594d59986 Enable tracking only when there exists a subscriber 2023-12-02 12:58:55 +09:00
Soreepeong
6b4094d89a Fix missing event handler registration 2023-12-02 11:06:11 +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
f8dff15fe0 fix bugs 2023-12-01 22:02:08 +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
MidoriKami
40575e1a88 Use ReadOnlySpan 2023-11-30 21:28:37 -08:00
Soreepeong
000d16c553 Assume the size of inventory does not change once it's set 2023-12-01 13:15:19 +09:00
Soreepeong
5204bb723d Optimizations 2023-11-30 20:42:34 +09:00
MidoriKami
805615d9f4 Fix incorrect equality operator 2023-11-30 20:22:08 +09:00
MidoriKami
92f4df625f [GameInventory] Service Prototype 2023-11-30 20:22:08 +09:00