Commit graph

4709 commits

Author SHA1 Message Date
karashiiro
66a04cb45d Fix edge case in GameVersion and refactor
- Test coverage has been added for the entire class, and verbose/redundant code has been refactored
- Fixes JSON serialization: JsonConstructor requires that the ctor parameters match fields/properties of the target class.
Previously, this meant that the JSON constructor would always throw an ArgumentNullException, as `Input` was not a class property.
2024-03-13 21:40:25 -07:00
KazWolfe
e50f9cda99
Merge pull request #1710 from goatcorp/net8-rollup
[net8] Rollup changes from master
2024-03-13 21:40:02 -07:00
github-actions[bot]
458e48c088 Merge remote-tracking branch 'origin/master' into net8-rollup 2024-03-14 04:35:37 +00:00
srkizer
4c18f77f51
Fix log window layout (#1706)
* Fix log window layout

Fixed custom line rendering from not advancing ImGui cursor, and move
input boxes around as log window is resized to become narower.

* Undo unused change
2024-03-13 21:35:14 -07:00
srkizer
cf4a9e3055
Easier SingleFontChooserDialog ctor, window pos/size/flags, and more docs (#1704)
* Make SingleFontChooserDialog ctor less confusing

The current constructor expects a new fresh instance of IFontAtlas,
which can be easy to miss, resulting in wasted time troubleshooting
without enough clues. New constructor is added that directly takes an
instance of UiBuilder, and the old constructor has been obsoleted and
should be changed to private on api 10.

* Add position, size, and window flags conf to SFCD

* Improve documentations

* Add test for PopupPosition/Size

---------

Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2024-03-14 00:57:30 +01:00
srkizer
a26bb58fdb
Use custom TaskScheduler for Framework.RunOnTick (#1597)
* Use custom TaskScheduler for Framework.RunOnTick

* TaskSchedulerWidget: add example
2024-03-14 00:36:38 +01:00
srkizer
666feede4c
Suppress DAssetM dispose exceptions (#1707)
Whether an asset being unavailable should be an error is decided on
Dalamud startup time. This suppresses assets unavailable exceptions on
Dispose.
2024-03-13 23:36:43 +01:00
rootdarkarchon
31227016c1
Add Object Table Cache (#1708)
Proposed improvement to object table access speeds; prevents creating objects for every plugin iterating the object table.

---------

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
Co-authored-by: Soreepeong <soreepeong@gmail.com>
2024-03-13 14:13:29 -07:00
Kaz Wolfe
6f2ebdc7a7
Upgrade ClientStructs to .NET 8 2024-03-11 09:15:45 -07:00
KazWolfe
27def97228
Merge pull request #1695 from goatcorp/net8-rollup
[net8] Rollup changes from master
2024-03-10 12:27:25 -07:00
github-actions[bot]
11c1759b60 Merge remote-tracking branch 'origin/master' into net8-rollup 2024-03-08 22:05:05 +00:00
goat
7ee20272de
Merge pull request #1699 from Soreepeong/fix/ime-perf
Fix Chinese IME lagging
2024-03-08 23:04:47 +01:00
goat
0c70d1c273
Merge pull request #1702 from Soreepeong/fix/log-racecon
ConsoleWindow racecon fix and highlight
2024-03-08 22:53:17 +01:00
Soreepeong
14a5e5b652 ConsoleWindow racecon fix and highlight
RollingList is not thread safe, but the lock around it was inconsistent,
resulting in occasional null value in the log list. Fixed by utilizing
ConcurrentQueue so that logs can be added from any thread without locks,
and reading from the queue and adding to the list from the framework
thread.

Also, added log line highlight feature.
2024-03-09 04:09:29 +09:00
Soreepeong
e7815c59d5 fix? 2024-03-09 00:19:00 +09:00
Soreepeong
637ba78956 At least make it not drop character after conversion with google IME 2024-03-09 00:01:54 +09:00
srkizer
88a8d45798
Accommodate nested AddonLifecycle event calls (#1698)
* Accommodate nested AddonLifecycle event calls

The game is free to call event handlers of another addon from one addon,
but the previous code was written under the assumption that only one
function may be called at a time. This changes the recycled addon args
into pooled args.

* Always clear addon name cache
2024-03-07 17:47:11 -08:00
bleatbot
4c0f7b7eba
Update ClientStructs (#1691)
Co-authored-by: github-actions[bot] <noreply@github.com>
2024-03-07 17:13:30 -08:00
Soreepeong
c326537f9f test 2024-03-07 00:37:46 +09:00
Asriel Camora
2cdc1f0171
Fix duty pop chat message italics (#1697) 2024-03-05 17:13:43 +00:00
Aireil
8a21fc721f
feat: add AdjustedTotalCastTime to BattleChara (#1694)
* feat: add AdjustedTotalCastTime to BattleChara

* Update Dalamud/Game/ClientState/Objects/Types/BattleChara.cs

Co-authored-by: KazWolfe <KazWolfe@users.noreply.github.com>

---------

Co-authored-by: KazWolfe <KazWolfe@users.noreply.github.com>
2024-03-04 09:51:25 -08:00
KazWolfe
324806341c
Merge pull request #1641 from goatcorp/net8-rollup
[net8] Rollup changes from master
2024-03-02 08:48:12 -08:00
github-actions[bot]
b68da56e74 Merge remote-tracking branch 'origin/master' into net8-rollup 2024-02-29 23:15:23 +00:00
Asriel Camora
5f62c703bf
Add IContextMenu service (#1682) 2024-02-29 15:15:02 -08:00
srkizer
3d59fa3da0
Sanitize PDB root name from loaded modules (#1687) 2024-02-29 15:13:33 -08:00
goat
8e5a84792e
Merge pull request #1684 from Soreepeong/feature/idtw-cloneable
Add IDalamudTextureWrap.CreateWrapSharingLowLevelResource
2024-02-27 19:43:21 +01: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
bleatbot
e6c97f0f18
Update ClientStructs (#1685)
Co-authored-by: github-actions[bot] <noreply@github.com>
2024-02-27 09:03:09 -08:00
goat
54ba0e7d1a
Merge pull request #1688 from Soreepeong/fix/misc
Miscellaneous fixes
2024-02-27 12:53:02 +01:00
Soreepeong
12e2fd3f60 Miscellaneous fixes 2024-02-27 19:49:40 +09:00
Soreepeong
9629a555be Rename to CreateWrapSharingLowLevelResource 2024-02-26 03:20:28 +09:00
goat
6116508c57
Merge pull request #1673 from Soreepeong/fix/igameconfig-racecon
IGameConfig: fix load-time race condition
2024-02-25 19:00:00 +01:00
Soreepeong
f6be80a5fb Make IDalamudTextureWrap ICloneable 2024-02-25 21:21:50 +09:00
bleatbot
c1c85e5236
[master] Update ClientStructs (#1680)
Co-authored-by: github-actions[bot] <noreply@github.com>
2024-02-25 11:23:01 +00:00
srkizer
94cf1c82c4
Synchronize DalamudStartInfo between cpp and cs (#1679)
Dalamud Boot was using BootLogPath in place of LogPath, resulting in
wrong log path.
2024-02-22 20:27:07 -08:00
bleatbot
db17a86587
Update ClientStructs (#1677)
Co-authored-by: github-actions[bot] <noreply@github.com>
2024-02-22 07:00:19 +00:00
bleatbot
bf34dd2817
Update ClientStructs (#1670)
Co-authored-by: github-actions[bot] <noreply@github.com>
2024-02-21 20:04:16 -08:00
Soreepeong
a3217bb86d Remove InitialiationTask from interface 2024-02-21 16:34:53 +09:00
AzureGem
3909fb13fa
Fix ConsoleWindow regex handling (#1674) 2024-02-20 11:19:24 -08:00
Soreepeong
da969dec5c DAssetM cleanup 2024-02-20 15:42:49 +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
bleatbot
ac59f73b59
[master] Update ClientStructs (#1669)
Co-authored-by: github-actions[bot] <noreply@github.com>
2024-02-18 19:15:55 +01:00
goat
2909c83521
build: 9.0.0.21 2024-02-18 17:16:35 +01:00
srkizer
2d8b71c647
Add SetFontScaleMode(ImFontPtr, FontScaleMode) (#1666)
* Add SetFontScaleMode(ImFontPtr, FontScaleMode)

`IgnoreGlobalScale` was advertised as "excludes the given font from
global scaling", but the intent I had in mind was "excludes the given
font from being scaled in any manner". As the latter functionality is
needed, obsoleted `IgnoreGlobalScale` and added `SetFontScaleMode`.

* Make it correct

* Name consistency
2024-02-18 15:08:07 +01:00
srkizer
7dc99c9307
Fix AddRectFilledDetour typo (#1667)
* Fix AddRectFilledDetour typo

* Skip drawing if zero opacity is specified for drawing
2024-02-18 07:03:51 +00:00
goat
7da47a8a33
build: 9.0.0.20 2024-02-17 19:07:18 +01:00
KazWolfe
c19e1f0fcd
Default Minimum/Maximum WindowSizeConstraints (#1574)
* feat: Default Minimum/Maximum WindowSizeConstraints

If `MinimumSize` or `MaximumSize` are not set when defining a `WindowSizeConstraints`, they will be effectively unbounded.

* chore: Make internal windows unbounded on max size

* Ignore max value if it's smaller than minimum in any dimension
2024-02-17 19:06:41 +01:00
goat
e21b64969f
build: 9.0.0.19 2024-02-17 15:22:27 +01:00
goat
56ff4b4c8c
Merge pull request #1665 from Soreepeong/revert-1659-feature/font-hash-warning
Revert "Warn if font files' hashes are unexpected"
2024-02-17 15:17:11 +01:00
srkizer
cdaa538e1a
Revert "Warn if font files' hashes are unexpected (#1659)"
This reverts commit 307f0fcbe8.
2024-02-17 23:07:49 +09:00