mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 18:27:24 +01:00
Remove GPose condition from timeline loading restrictions.
This commit is contained in:
parent
869be0cb95
commit
a6b929c207
1 changed files with 6 additions and 5 deletions
|
|
@ -4,6 +4,7 @@ using Dalamud.Game.ClientState.Conditions;
|
||||||
using Dalamud.Game.ClientState.Objects;
|
using Dalamud.Game.ClientState.Objects;
|
||||||
using Dalamud.Hooking;
|
using Dalamud.Hooking;
|
||||||
using Dalamud.Utility.Signatures;
|
using Dalamud.Utility.Signatures;
|
||||||
|
using FFXIVClientStructs.FFXIV.Client.Game.Event;
|
||||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||||
using Penumbra.Collections;
|
using Penumbra.Collections;
|
||||||
using Penumbra.GameData;
|
using Penumbra.GameData;
|
||||||
|
|
@ -59,13 +60,13 @@ public unsafe class AnimationHookService : IDisposable
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case ResourceType.Scd:
|
case ResourceType.Scd:
|
||||||
if (_characterSoundData.IsValueCreated && _characterSoundData.Value.Valid)
|
if (_characterSoundData is { IsValueCreated: true, Value.Valid: true })
|
||||||
{
|
{
|
||||||
resolveData = _characterSoundData.Value;
|
resolveData = _characterSoundData.Value;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_animationLoadData.IsValueCreated && _animationLoadData.Value.Valid)
|
if (_animationLoadData is { IsValueCreated: true, Value.Valid: true })
|
||||||
{
|
{
|
||||||
resolveData = _animationLoadData.Value;
|
resolveData = _animationLoadData.Value;
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -76,7 +77,7 @@ public unsafe class AnimationHookService : IDisposable
|
||||||
case ResourceType.Pap:
|
case ResourceType.Pap:
|
||||||
case ResourceType.Avfx:
|
case ResourceType.Avfx:
|
||||||
case ResourceType.Atex:
|
case ResourceType.Atex:
|
||||||
if (_animationLoadData.IsValueCreated && _animationLoadData.Value.Valid)
|
if (_animationLoadData is { IsValueCreated: true, Value.Valid: true })
|
||||||
{
|
{
|
||||||
resolveData = _animationLoadData.Value;
|
resolveData = _animationLoadData.Value;
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -124,7 +125,7 @@ public unsafe class AnimationHookService : IDisposable
|
||||||
var last = _characterSoundData.Value;
|
var last = _characterSoundData.Value;
|
||||||
_characterSoundData.Value = _collectionResolver.IdentifyCollection((GameObject*)character, true);
|
_characterSoundData.Value = _collectionResolver.IdentifyCollection((GameObject*)character, true);
|
||||||
var ret = _loadCharacterSoundHook.Original(character, unk1, unk2, unk3, unk4, unk5, unk6, unk7);
|
var ret = _loadCharacterSoundHook.Original(character, unk1, unk2, unk3, unk4, unk5, unk6, unk7);
|
||||||
_characterSoundData.Value = last;
|
_characterSoundData.Value = last;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -141,7 +142,7 @@ public unsafe class AnimationHookService : IDisposable
|
||||||
{
|
{
|
||||||
using var performance = _performance.Measure(PerformanceType.TimelineResources);
|
using var performance = _performance.Measure(PerformanceType.TimelineResources);
|
||||||
// Do not check timeline loading in cutscenes.
|
// Do not check timeline loading in cutscenes.
|
||||||
if (_conditions[ConditionFlag.OccupiedInCutSceneEvent] || _conditions[ConditionFlag.WatchingCutscene] || _conditions[ConditionFlag.WatchingCutscene78])
|
if (_conditions[ConditionFlag.OccupiedInCutSceneEvent] || _conditions[ConditionFlag.WatchingCutscene78])
|
||||||
return _loadTimelineResourcesHook.Original(timeline);
|
return _loadTimelineResourcesHook.Original(timeline);
|
||||||
|
|
||||||
var last = _animationLoadData.Value;
|
var last = _animationLoadData.Value;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue