mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-13 12:14:17 +01:00
Maybe fix other issue with left rings and resource trees.
This commit is contained in:
parent
69971c12af
commit
7e6ea5008c
2 changed files with 6 additions and 6 deletions
|
|
@ -1 +1 @@
|
||||||
Subproject commit e9fc5930a9c035c1e1e3c87ee9bcc4f05eb3015b
|
Subproject commit e39a04c83b67246580492677414888357b5ebed8
|
||||||
|
|
@ -36,17 +36,16 @@ internal partial record ResolveContext
|
||||||
private Utf8GamePath ResolveEquipmentModelPath()
|
private Utf8GamePath ResolveEquipmentModelPath()
|
||||||
{
|
{
|
||||||
var path = IsEquipmentSlot(SlotIndex)
|
var path = IsEquipmentSlot(SlotIndex)
|
||||||
? GamePaths.Equipment.Mdl.Path(Equipment.Set, ResolveModelRaceCode(), Slot.ToSlot())
|
? GamePaths.Equipment.Mdl.Path(Equipment.Set, ResolveModelRaceCode(), SlotIndex.ToEquipSlot())
|
||||||
: GamePaths.Accessory.Mdl.Path(Equipment.Set, ResolveModelRaceCode(), SlotIndex.ToEquipSlot());
|
: GamePaths.Accessory.Mdl.Path(Equipment.Set, ResolveModelRaceCode(), SlotIndex.ToEquipSlot());
|
||||||
return Utf8GamePath.FromString(path, out var gamePath) ? gamePath : Utf8GamePath.Empty;
|
return Utf8GamePath.FromString(path, out var gamePath) ? gamePath : Utf8GamePath.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
private GenderRace ResolveModelRaceCode()
|
private GenderRace ResolveModelRaceCode()
|
||||||
=> ResolveEqdpRaceCode(Slot.ToSlot(), Equipment.Set);
|
=> ResolveEqdpRaceCode(SlotIndex, Equipment.Set);
|
||||||
|
|
||||||
private unsafe GenderRace ResolveEqdpRaceCode(EquipSlot slot, PrimaryId primaryId)
|
private unsafe GenderRace ResolveEqdpRaceCode(uint slotIndex, PrimaryId primaryId)
|
||||||
{
|
{
|
||||||
var slotIndex = slot.ToIndex();
|
|
||||||
if (!IsEquipmentOrAccessorySlot(slotIndex) || ModelType != ModelType.Human)
|
if (!IsEquipmentOrAccessorySlot(slotIndex) || ModelType != ModelType.Human)
|
||||||
return GenderRace.MidlanderMale;
|
return GenderRace.MidlanderMale;
|
||||||
|
|
||||||
|
|
@ -61,6 +60,7 @@ internal partial record ResolveContext
|
||||||
var metaCache = Global.Collection.MetaCache;
|
var metaCache = Global.Collection.MetaCache;
|
||||||
var entry = metaCache?.GetEqdpEntry(characterRaceCode, accessory, primaryId)
|
var entry = metaCache?.GetEqdpEntry(characterRaceCode, accessory, primaryId)
|
||||||
?? ExpandedEqdpFile.GetDefault(Global.MetaFileManager, characterRaceCode, accessory, primaryId);
|
?? ExpandedEqdpFile.GetDefault(Global.MetaFileManager, characterRaceCode, accessory, primaryId);
|
||||||
|
var slot = slotIndex.ToEquipSlot();
|
||||||
if (entry.ToBits(slot).Item2)
|
if (entry.ToBits(slot).Item2)
|
||||||
return characterRaceCode;
|
return characterRaceCode;
|
||||||
|
|
||||||
|
|
@ -272,7 +272,7 @@ internal partial record ResolveContext
|
||||||
{
|
{
|
||||||
var human = (Human*)CharacterBase;
|
var human = (Human*)CharacterBase;
|
||||||
var equipment = ((CharacterArmor*)&human->Head)[slot.ToIndex()];
|
var equipment = ((CharacterArmor*)&human->Head)[slot.ToIndex()];
|
||||||
return ResolveHumanExtraSkeletonData(ResolveEqdpRaceCode(slot, equipment.Set), type, equipment.Set);
|
return ResolveHumanExtraSkeletonData(ResolveEqdpRaceCode(slot.ToIndex(), equipment.Set), type, equipment.Set);
|
||||||
}
|
}
|
||||||
|
|
||||||
private (GenderRace RaceCode, string Slot, PrimaryId Set) ResolveHumanExtraSkeletonData(GenderRace raceCode, EstType type,
|
private (GenderRace RaceCode, string Slot, PrimaryId Set) ResolveHumanExtraSkeletonData(GenderRace raceCode, EstType type,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue