* Made DalamudAsset-to-something tables into arrays from dictionaries.
Number of items in the DalamudAsset enum aren't many, and the numbers
are small enough that implementing lookup tables as arrays aren't
wasting much memory space.
* Removed locking from asset accessors, while still guaranteeing that
the load operation happens only once per asset.
* ISharedImmediateTexture: made it not even access assets if textures
are available.
ServiceScope.Dispose was not waiting for scoped services to complete
disposing. This had an effect of letting a new plugin instance register
a DtrBar entry before previous plugin instance's entry got unregistered.
This change also cleans up unloading procedure in LocalPlugin.
* prelim uld data display
* change uld list to a string array
* fix some uld parts not having their texture id set.
* update uld browser to use themes and get locations from sig scanning
* undo ClientStructs change during rebase
* fix capitalization during rebase
UIColor sheet has color sets per theme. Updated `UIColorWidget` to
reflect that, and added `SeStringDrawParams.ThemeIndex` to let users
choose which theme color set to use while drawing SeString from Dalamud.
* TextureManager: cleanup shared textures off main thread periodically
The cleanup function was already written in a threadsafe way. This
commit moves that functionality to a background low priority thread, and
does that every 60 frames.
* fix
The function makes an assumption that there exists 1 font atlas texture,
so that `ImDrawList._Data->TexIdCommon` ==
`ImDrawList._CmdHeader.TextureId`. Since we support multiple font atlas
textures, that assumption is no longer true and
`ImDrawList::AddConvexPolyFilled` will create a new draw command as
needed, giving `ImGui::ShadeVertsLinearUV` a clean draw command to work
with.
This workaround forcefully sets *the* font atlas texture to be the
texture the user is trying to draw for the duration of drawing polygons
and shading those vertices again, so that no draw command change
happens. Once the operation is done, font atlas texture is reverted back
to what it was.
This fix is done without thread safety concerns, but an `ImDrawList`
should not be touched from multiple threads at a single time, so this is
fine.
* Add coloring options
* Add link support
* simplify
* fixes
* Prevent EncodeString from causing crashes
* Fix link range application and add link example
* Fix test widget
* Make DalamudLinkPayload backward compatible
* make it better to use
* make it better to use
* Mark SeString rendering functions experimental via comments
* rename
* Simplify
* Make sestring draw functions take in draw params
* Improvements