Remove GPose condition from timeline loading restrictions.

This commit is contained in:
Ottermandias 2023-07-06 00:28:54 +02:00
parent 869be0cb95
commit a6b929c207

View file

@ -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;