mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2025-12-12 10:17:23 +01:00
Fix some bonus item related things.
This commit is contained in:
parent
530166b81a
commit
87d8876972
4 changed files with 17 additions and 6 deletions
|
|
@ -112,7 +112,7 @@ public unsafe struct DesignData
|
|||
=> slot switch
|
||||
{
|
||||
// @formatter:off
|
||||
BonusItemFlag.Glasses => EquipItem.FromIds(_bonusIds[0], _iconIds[12], _bonusModelIds[0], 0, _bonusVariants[0], FullEquipType.Glasses, 0, _nameGlasses),
|
||||
BonusItemFlag.Glasses => EquipItem.FromBonusIds(_bonusIds[0], _iconIds[12], _bonusModelIds[0], _bonusVariants[0], BonusItemFlag.Glasses, _nameGlasses),
|
||||
_ => EquipItem.BonusItemNothing(slot),
|
||||
// @formatter:on
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ using OtterGui;
|
|||
using OtterGui.Raii;
|
||||
using Penumbra.GameData.Enums;
|
||||
using Penumbra.GameData.Gui.Debug;
|
||||
using FFXIVClientStructs.FFXIV.Shader;
|
||||
|
||||
namespace Glamourer.Gui.Tabs.DebugTab;
|
||||
|
||||
|
|
@ -67,7 +66,13 @@ public class ActiveStatePanel(StateManager _stateManager, ObjectManager _objectM
|
|||
static string ItemString(in DesignData data, EquipSlot slot)
|
||||
{
|
||||
var item = data.Item(slot);
|
||||
return $"{item.Name} ({item.PrimaryId.Id}{(item.SecondaryId != 0 ? $"-{item.SecondaryId.Id}" : string.Empty)}-{item.Variant})";
|
||||
return $"{item.Name} ({item.Id.ToDiscriminatingString()} {item.PrimaryId.Id}{(item.SecondaryId != 0 ? $"-{item.SecondaryId.Id}" : string.Empty)}-{item.Variant})";
|
||||
}
|
||||
|
||||
static string BonusItemString(in DesignData data, BonusItemFlag slot)
|
||||
{
|
||||
var item = data.BonusItem(slot);
|
||||
return $"{item.Name} ({item.Id.ToDiscriminatingString()} {item.PrimaryId.Id}{(item.SecondaryId != 0 ? $"-{item.SecondaryId.Id}" : string.Empty)}-{item.Variant})";
|
||||
}
|
||||
|
||||
PrintRow("Model ID", state.BaseData.ModelId, state.ModelData.ModelId, state.Sources[MetaIndex.ModelId]);
|
||||
|
|
@ -93,6 +98,12 @@ public class ActiveStatePanel(StateManager _stateManager, ObjectManager _objectM
|
|||
ImGuiUtil.DrawTableColumn(state.Sources[slot, true].ToString());
|
||||
}
|
||||
|
||||
foreach (var slot in BonusExtensions.AllFlags)
|
||||
{
|
||||
PrintRow(slot.ToName(), BonusItemString(state.BaseData, slot), BonusItemString(state.ModelData, slot), state.Sources[slot]);
|
||||
ImGui.TableNextRow();
|
||||
}
|
||||
|
||||
foreach (var type in Enum.GetValues<CustomizeIndex>())
|
||||
{
|
||||
PrintRow(type.ToDefaultName(), state.BaseData.Customize[type].Value, state.ModelData.Customize[type].Value,
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ public class ItemManager
|
|||
public EquipItem Resolve(BonusItemFlag slot, CustomItemId id)
|
||||
{
|
||||
// Only from early designs as migration.
|
||||
if (!id.IsBonusItem)
|
||||
if (!id.IsBonusItem || id.Id == 0)
|
||||
{
|
||||
IsBonusItemValid(slot, (BonusItemId)id.Id, out var item);
|
||||
return item;
|
||||
|
|
@ -207,7 +207,7 @@ public class ItemManager
|
|||
if (itemId.Id != 0)
|
||||
return DictBonusItems.TryGetValue(itemId, out item) && slot == item.Type.ToBonus();
|
||||
|
||||
item = new EquipItem(Nothing, (BonusItemId)0, 0, 0, 0, 0, slot.ToEquipType(), 0, 0, 0);
|
||||
item = EquipItem.BonusItemNothing(slot);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 63cbf824178b5b1f91fd9edc22a6c2bbc2e1cd23
|
||||
Subproject commit 554e28a3d1fca9394a20fd9856f6387e2a5e4a57
|
||||
Loading…
Add table
Add a link
Reference in a new issue