mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 18:27:24 +01:00
Fix unknown animations not counting for changed items.
This commit is contained in:
parent
878395e164
commit
78e772dad9
1 changed files with 24 additions and 28 deletions
|
|
@ -50,14 +50,13 @@ internal sealed class ObjectIdentification : DataSharer, IObjectIdentifier
|
|||
{
|
||||
if (path.EndsWith(".pap", StringComparison.OrdinalIgnoreCase) || path.EndsWith(".tmb", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
IdentifyVfx(set, path);
|
||||
if (IdentifyVfx(set, path))
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
var info = GamePathParser.GetFileInfo(path);
|
||||
IdentifyParsed(set, info);
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, object?> Identify(string path)
|
||||
{
|
||||
|
|
@ -161,24 +160,22 @@ internal sealed class ObjectIdentification : DataSharer, IObjectIdentifier
|
|||
|
||||
private void IdentifyParsed(IDictionary<string, object?> set, GameObjectInfo info)
|
||||
{
|
||||
switch (info.ObjectType)
|
||||
{
|
||||
case ObjectType.Unknown:
|
||||
switch (info.FileType)
|
||||
{
|
||||
case FileType.Sound:
|
||||
AddCounterString(set, FileType.Sound.ToString());
|
||||
break;
|
||||
return;
|
||||
case FileType.Animation:
|
||||
case FileType.Pap:
|
||||
AddCounterString(set, FileType.Animation.ToString());
|
||||
break;
|
||||
return;
|
||||
case FileType.Shader:
|
||||
AddCounterString(set, FileType.Shader.ToString());
|
||||
break;
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
switch (info.ObjectType)
|
||||
{
|
||||
case ObjectType.LoadingScreen:
|
||||
case ObjectType.Map:
|
||||
case ObjectType.Interface:
|
||||
|
|
@ -235,19 +232,18 @@ internal sealed class ObjectIdentification : DataSharer, IObjectIdentifier
|
|||
}
|
||||
|
||||
break;
|
||||
|
||||
default: throw new InvalidEnumArgumentException();
|
||||
}
|
||||
}
|
||||
|
||||
private void IdentifyVfx(IDictionary<string, object?> set, string path)
|
||||
private bool IdentifyVfx(IDictionary<string, object?> set, string path)
|
||||
{
|
||||
var key = GamePathParser.VfxToKey(path);
|
||||
if (key.Length == 0 || !Actions.TryGetValue(key, out var actions))
|
||||
return;
|
||||
if (key.Length == 0 || !Actions.TryGetValue(key, out var actions) || actions.Count == 0)
|
||||
return false;
|
||||
|
||||
foreach (var action in actions)
|
||||
set[$"Action: {action.Name}"] = action;
|
||||
return true;
|
||||
}
|
||||
|
||||
private IReadOnlyList<IReadOnlyList<(string Name, ObjectKind Kind)>> CreateModelObjects(ActorManager.ActorManagerData actors,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue