maybe add ivcs support?
This commit is contained in:
@@ -196,12 +196,29 @@ public class CharacterDataFactory
|
|||||||
AddReplacementsFromTexture(new Utf8String(((HumanExt*)human)->Decal->FileName()).ToString(), cache, 0, "Decal", false);
|
AddReplacementsFromTexture(new Utf8String(((HumanExt*)human)->Decal->FileName()).ToString(), cache, 0, "Decal", false);
|
||||||
AddReplacementsFromTexture(new Utf8String(((HumanExt*)human)->LegacyBodyDecal->FileName()).ToString(), cache, 0, "Legacy Decal", false);
|
AddReplacementsFromTexture(new Utf8String(((HumanExt*)human)->LegacyBodyDecal->FileName()).ToString(), cache, 0, "Legacy Decal", false);
|
||||||
|
|
||||||
|
|
||||||
|
AddReplacementSkeleton(((HumanExt*)human)->Human.RaceSexId, cache);
|
||||||
|
|
||||||
st.Stop();
|
st.Stop();
|
||||||
Logger.Verbose("Building Character Data took " + st.Elapsed);
|
Logger.Verbose("Building Character Data took " + st.Elapsed);
|
||||||
|
|
||||||
return cache;
|
return cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AddReplacementSkeleton(ushort raceSexId, CharacterData cache)
|
||||||
|
{
|
||||||
|
string raceSexIdString = raceSexId.ToString("0000");
|
||||||
|
|
||||||
|
string skeletonPath = $"chara/human/c{raceSexIdString}/skeleton/base/b0001/skl_c{raceSexIdString}b0001.sklb";
|
||||||
|
|
||||||
|
Logger.Verbose("Adding File Replacement for Skeleton " + skeletonPath);
|
||||||
|
|
||||||
|
var replacement = CreateFileReplacement(skeletonPath, true);
|
||||||
|
cache.AddFileReplacement(replacement);
|
||||||
|
|
||||||
|
DebugPrint(replacement, "Skeleton", "SKLB", 0);
|
||||||
|
}
|
||||||
|
|
||||||
private FileReplacement CreateFileReplacement(string path, bool doNotReverseResolve = false)
|
private FileReplacement CreateFileReplacement(string path, bool doNotReverseResolve = false)
|
||||||
{
|
{
|
||||||
var fileReplacement = new FileReplacement(_ipcManager.PenumbraModDirectory()!);
|
var fileReplacement = new FileReplacement(_ipcManager.PenumbraModDirectory()!);
|
||||||
@@ -214,7 +231,7 @@ public class CharacterDataFactory
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
fileReplacement.GamePaths = new List<string> { path };
|
fileReplacement.GamePaths = new List<string> { path };
|
||||||
fileReplacement.SetResolvedPath(_ipcManager.PenumbraResolvePath(path, _dalamudUtil.PlayerName)!);
|
fileReplacement.SetResolvedPath(_ipcManager.PenumbraResolvePath(path)!);
|
||||||
}
|
}
|
||||||
|
|
||||||
return fileReplacement;
|
return fileReplacement;
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ namespace MareSynchronos.Managers
|
|||||||
_penumbraRemoveTemporaryCollection.InvokeFunc(characterName);
|
_penumbraRemoveTemporaryCollection.InvokeFunc(characterName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string? PenumbraResolvePath(string path, string characterName)
|
public string? PenumbraResolvePath(string path)
|
||||||
{
|
{
|
||||||
if (!CheckPenumbraApi()) return null;
|
if (!CheckPenumbraApi()) return null;
|
||||||
var resolvedPath = _penumbraResolvePlayer!.InvokeFunc(path);
|
var resolvedPath = _penumbraResolvePlayer!.InvokeFunc(path);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Authors></Authors>
|
<Authors></Authors>
|
||||||
<Company></Company>
|
<Company></Company>
|
||||||
<Version>0.1.11.0</Version>
|
<Version>0.1.12.0</Version>
|
||||||
<Description></Description>
|
<Description></Description>
|
||||||
<Copyright></Copyright>
|
<Copyright></Copyright>
|
||||||
<PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl>
|
||||||
|
|||||||
Reference in New Issue
Block a user