public static GamePath Est(ObjectType type, EquipSlot equip, BodySlot slot) { return(type switch { ObjectType.Equipment => equip switch { EquipSlot.Body => GamePath.GenerateUnchecked("chara/xls/charadb/extra_top.est"), EquipSlot.Head => GamePath.GenerateUnchecked("chara/xls/charadb/extra_met.est"), _ => throw new NotImplementedException() },
private void DrawFileSwapTabEdit() { if (!ImGui.BeginTabItem(LabelFileSwapTab)) { return; } ImGui.SetNextItemWidth(-1); if (ImGui.BeginListBox(LabelFileSwapHeader, AutoFillSize)) { var swaps = Meta.FileSwaps.Keys.ToArray(); var arrow = $"{( char )FontAwesomeIcon.LongArrowAltRight}"; ImGui.PushFont(UiBuilder.IconFont); var arrowWidth = ImGui.CalcTextSize(arrow).X; ImGui.PopFont(); var width = (ImGui.GetWindowWidth() - arrowWidth - 4 * ImGui.GetStyle().ItemSpacing.X) / 2; for (var idx = 0; idx < swaps.Length + 1; ++idx) { var key = idx == swaps.Length ? GamePath.GenerateUnchecked("") : swaps[idx]; var value = idx == swaps.Length ? GamePath.GenerateUnchecked("") : Meta.FileSwaps[key]; string keyString = key; string valueString = value; ImGui.SetNextItemWidth(width); if (ImGui.InputTextWithHint($"##swapLhs_{idx}", "Enter new file to be replaced...", ref keyString, GamePath.MaxGamePathLength, ImGuiInputTextFlags.EnterReturnsTrue)) { var newKey = new GamePath(keyString); if (newKey.CompareTo(key) != 0) { if (idx < swaps.Length) { Meta.FileSwaps.Remove(key); } if (newKey != string.Empty) { Meta.FileSwaps[newKey] = value; } _selector.SaveCurrentMod(); if (Mod.Enabled) { _selector.ReloadCurrentMod(); } } } if (idx < swaps.Length) { ImGui.SameLine(); ImGui.PushFont(UiBuilder.IconFont); ImGui.TextUnformatted(arrow); ImGui.PopFont(); ImGui.SameLine(); ImGui.SetNextItemWidth(width); if (ImGui.InputTextWithHint($"##swapRhs_{idx}", "Enter new replacement path...", ref valueString, GamePath.MaxGamePathLength, ImGuiInputTextFlags.EnterReturnsTrue)) { var newValue = new GamePath(valueString); if (newValue.CompareTo(value) != 0) { Meta.FileSwaps[key] = newValue; _selector.SaveCurrentMod(); if (Mod.Enabled) { _selector.ReloadCurrentMod(); } } } } } ImGui.EndListBox(); } ImGui.EndTabItem(); }
public static GamePath Gmp() => GamePath.GenerateUnchecked("chara/xls/equipmentparameter/gimmickparameter.gmp");
public static GamePath Eqp() => GamePath.GenerateUnchecked("chara/xls/equipmentparameter/equipmentparameter.eqp");