mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
Merge remote-tracking branch 'origin/master' into api14-rollup
This commit is contained in:
commit
5ea8ae7941
7 changed files with 70 additions and 8 deletions
|
|
@ -487,6 +487,14 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
|
|||
/// </summary>
|
||||
public Vector2 NotificationAnchorPosition { get; set; } = new(1f, 1f);
|
||||
|
||||
#pragma warning disable SA1600
|
||||
#pragma warning disable SA1516
|
||||
// XLCore/XoM compatibility until they move it out
|
||||
public string? DalamudBetaKey { get; set; } = null;
|
||||
public string? DalamudBetaKind { get; set; }
|
||||
#pragma warning restore SA1516
|
||||
#pragma warning restore SA1600
|
||||
|
||||
/// <summary>
|
||||
/// Load a configuration from the provided path.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<PropertyGroup Label="Feature">
|
||||
<Description>XIV Launcher addon framework</Description>
|
||||
<DalamudVersion>13.0.0.11</DalamudVersion>
|
||||
<DalamudVersion>13.0.0.12</DalamudVersion>
|
||||
<AssemblyVersion>$(DalamudVersion)</AssemblyVersion>
|
||||
<Version>$(DalamudVersion)</Version>
|
||||
<FileVersion>$(DalamudVersion)</FileVersion>
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ internal unsafe class PlayerState : IServiceType, IPlayerState
|
|||
public RowRef<ClassJob> ClassJob => this.IsLoaded ? LuminaUtils.CreateRef<ClassJob>(CSPlayerState.Instance()->CurrentClassJobId) : default;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public short Level => this.IsLoaded ? CSPlayerState.Instance()->CurrentLevel : default;
|
||||
public short Level => this.IsLoaded && this.ClassJob.IsValid ? this.GetClassJobLevel(this.ClassJob.Value) : this.EffectiveLevel;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool IsLevelSynced => this.IsLoaded && CSPlayerState.Instance()->IsLevelSynced;
|
||||
|
|
|
|||
|
|
@ -60,8 +60,8 @@ internal record struct NounParams()
|
|||
/// </summary>
|
||||
public readonly int ColumnOffset => this.SheetName switch
|
||||
{
|
||||
// See "E8 ?? ?? ?? ?? 44 8B 6B 08"
|
||||
nameof(LSheets.BeastTribe) => 10,
|
||||
// See "E8 ?? ?? ?? ?? 44 8B 66 ?? 8B E8"
|
||||
nameof(LSheets.BeastTribe) => 11,
|
||||
nameof(LSheets.DeepDungeonItem) => 1,
|
||||
nameof(LSheets.DeepDungeonEquipment) => 1,
|
||||
nameof(LSheets.DeepDungeonMagicStone) => 1,
|
||||
|
|
|
|||
|
|
@ -191,6 +191,29 @@ internal class NounProcessorSelfTestStep : ISelfTestStep
|
|||
new(nameof(LSheets.Item), 44348, ClientLanguage.French, 2, (int)FrenchArticleType.PossessiveFirstPerson, 1, "mes mémoquartz inhabituels fantasmagoriques"),
|
||||
new(nameof(LSheets.Item), 44348, ClientLanguage.French, 2, (int)FrenchArticleType.PossessiveSecondPerson, 1, "tes mémoquartz inhabituels fantasmagoriques"),
|
||||
new(nameof(LSheets.Item), 44348, ClientLanguage.French, 2, (int)FrenchArticleType.PossessiveThirdPerson, 1, "ses mémoquartz inhabituels fantasmagoriques"),
|
||||
|
||||
// ColumnOffset tests
|
||||
|
||||
new(nameof(LSheets.BeastTribe), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Indefinite, 1, "a Amalj'aa"),
|
||||
new(nameof(LSheets.BeastTribe), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Definite, 1, "the Amalj'aa"),
|
||||
|
||||
new(nameof(LSheets.DeepDungeonEquipment), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Indefinite, 1, "an aetherpool arm"),
|
||||
new(nameof(LSheets.DeepDungeonEquipment), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Definite, 1, "the aetherpool arm"),
|
||||
|
||||
new(nameof(LSheets.DeepDungeonItem), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Indefinite, 1, "a pomander of safety"),
|
||||
new(nameof(LSheets.DeepDungeonItem), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Definite, 1, "the pomander of safety"),
|
||||
|
||||
new(nameof(LSheets.DeepDungeonMagicStone), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Indefinite, 1, "a splinter of Inferno magicite"),
|
||||
new(nameof(LSheets.DeepDungeonMagicStone), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Definite, 1, "the splinter of Inferno magicite"),
|
||||
|
||||
new(nameof(LSheets.DeepDungeonDemiclone), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Indefinite, 1, "an Unei demiclone"),
|
||||
new(nameof(LSheets.DeepDungeonDemiclone), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Definite, 1, "the Unei demiclone"),
|
||||
|
||||
new(nameof(LSheets.Glasses), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Indefinite, 1, "a pair of oval spectacles"),
|
||||
new(nameof(LSheets.Glasses), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Definite, 1, "the pair of oval spectacles"),
|
||||
|
||||
new(nameof(LSheets.GlassesStyle), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Indefinite, 1, "a shaded spectacles"),
|
||||
new(nameof(LSheets.GlassesStyle), 1, ClientLanguage.English, 1, (int)EnglishArticleType.Definite, 1, "the shaded spectacles"),
|
||||
];
|
||||
|
||||
private enum GermanCases
|
||||
|
|
|
|||
|
|
@ -425,8 +425,17 @@ public abstract class Window
|
|||
UIGlobals.PlaySoundEffect(this.OnOpenSfxId);
|
||||
}
|
||||
|
||||
this.PreDraw();
|
||||
this.ApplyConditionals();
|
||||
var isErrorStylePushed = false;
|
||||
if (!this.hasError)
|
||||
{
|
||||
this.PreDraw();
|
||||
this.ApplyConditionals();
|
||||
}
|
||||
else
|
||||
{
|
||||
Style.StyleModelV1.DalamudStandard.Push();
|
||||
isErrorStylePushed = true;
|
||||
}
|
||||
|
||||
if (this.ForceMainWindow)
|
||||
ImGuiHelpers.ForceNextWindowMainViewport();
|
||||
|
|
@ -448,10 +457,22 @@ public abstract class Window
|
|||
var flags = this.Flags;
|
||||
|
||||
if (this.internalIsPinned || this.internalIsClickthrough)
|
||||
{
|
||||
flags |= ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoResize;
|
||||
}
|
||||
|
||||
if (this.internalIsClickthrough)
|
||||
{
|
||||
flags |= ImGuiWindowFlags.NoInputs | ImGuiWindowFlags.NoNav | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoScrollWithMouse | ImGuiWindowFlags.NoMouseInputs;
|
||||
}
|
||||
|
||||
// If we have an error, reset all flags to default, and unlock window size.
|
||||
if (this.hasError)
|
||||
{
|
||||
flags = ImGuiWindowFlags.None;
|
||||
ImGui.SetNextWindowCollapsed(false, ImGuiCond.Once);
|
||||
ImGui.SetNextWindowSizeConstraints(Vector2.Zero, Vector2.PositiveInfinity);
|
||||
}
|
||||
|
||||
if (this.CanShowCloseButton ? ImGui.Begin(this.WindowName, ref this.internalIsOpen, flags) : ImGui.Begin(this.WindowName, flags))
|
||||
{
|
||||
|
|
@ -670,7 +691,17 @@ public abstract class Window
|
|||
Task.FromResult<IDalamudTextureWrap>(tex));
|
||||
}
|
||||
|
||||
this.PostDraw();
|
||||
if (!this.hasError)
|
||||
{
|
||||
this.PostDraw();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isErrorStylePushed)
|
||||
{
|
||||
Style.StyleModelV1.DalamudStandard.Pop();
|
||||
}
|
||||
}
|
||||
|
||||
this.PostHandlePreset(persistence);
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ public interface IPlayerState : IDalamudService
|
|||
bool IsLevelSynced { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the effective level of the local character.
|
||||
/// Gets the effective level of the local character, taking level sync into account.
|
||||
/// </summary>
|
||||
short EffectiveLevel { get; }
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue