chore: convert Dalamud to file-scoped namespaces

This commit is contained in:
goat 2022-10-29 15:23:22 +02:00
parent b093323acc
commit 987ff8dc8f
No known key found for this signature in database
GPG key ID: 49E2AA8C6A76498B
368 changed files with 55081 additions and 55450 deletions

View file

@ -1,10 +1,10 @@
namespace Dalamud
namespace Dalamud;
/// <summary>
/// Enum describing the language the game loads in.
/// </summary>
public enum ClientLanguage
{
/// <summary>
/// Enum describing the language the game loads in.
/// </summary>
public enum ClientLanguage
{
/// <summary>
/// Indicating a Japanese game client.
/// </summary>
@ -24,5 +24,4 @@ namespace Dalamud
/// Indicating a French game client.
/// </summary>
French,
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud
namespace Dalamud;
/// <summary>
/// Extension methods for the <see cref="ClientLanguage"/> class.
/// </summary>
public static class ClientLanguageExtensions
{
/// <summary>
/// Extension methods for the <see cref="ClientLanguage"/> class.
/// </summary>
public static class ClientLanguageExtensions
{
/// <summary>
/// Converts a Dalamud ClientLanguage to the corresponding Lumina variant.
/// </summary>
@ -23,5 +23,4 @@ namespace Dalamud
_ => throw new ArgumentOutOfRangeException(nameof(language)),
};
}
}
}

View file

@ -1,13 +1,12 @@
namespace Dalamud.Configuration
namespace Dalamud.Configuration;
/// <summary>
/// Configuration to store settings for a dalamud plugin.
/// </summary>
public interface IPluginConfiguration
{
/// <summary>
/// Configuration to store settings for a dalamud plugin.
/// </summary>
public interface IPluginConfiguration
{
/// <summary>
/// Gets or sets configuration version.
/// </summary>
int Version { get; set; }
}
}

View file

@ -10,14 +10,14 @@ using Newtonsoft.Json;
using Serilog;
using Serilog.Events;
namespace Dalamud.Configuration.Internal
namespace Dalamud.Configuration.Internal;
/// <summary>
/// Class containing Dalamud settings.
/// </summary>
[Serializable]
internal sealed class DalamudConfiguration : IServiceType
{
/// <summary>
/// Class containing Dalamud settings.
/// </summary>
[Serializable]
internal sealed class DalamudConfiguration : IServiceType
{
private static readonly JsonSerializerSettings SerializerSettings = new()
{
TypeNameHandling = TypeNameHandling.All,
@ -373,5 +373,4 @@ namespace Dalamud.Configuration.Internal
File.WriteAllText(this.configPath, JsonConvert.SerializeObject(this, SerializerSettings));
this.DalamudConfigurationSaved?.Invoke(this);
}
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Configuration
namespace Dalamud.Configuration;
/// <summary>
/// Additional locations to load dev plugins from.
/// </summary>
internal sealed class DevPluginLocationSettings
{
/// <summary>
/// Additional locations to load dev plugins from.
/// </summary>
internal sealed class DevPluginLocationSettings
{
/// <summary>
/// Gets or sets the dev pluign path.
/// </summary>
@ -20,5 +20,4 @@ namespace Dalamud.Configuration
/// </summary>
/// <returns>A shallow copy of this object.</returns>
public DevPluginLocationSettings Clone() => this.MemberwiseClone() as DevPluginLocationSettings;
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Configuration.Internal
namespace Dalamud.Configuration.Internal;
/// <summary>
/// Settings for DevPlugins.
/// </summary>
internal sealed class DevPluginSettings
{
/// <summary>
/// Settings for DevPlugins.
/// </summary>
internal sealed class DevPluginSettings
{
/// <summary>
/// Gets or sets a value indicating whether this plugin should automatically start when Dalamud boots up.
/// </summary>
@ -14,5 +14,4 @@ namespace Dalamud.Configuration.Internal
/// Gets or sets a value indicating whether this plugin should automatically reload on file change.
/// </summary>
public bool AutomaticReloading { get; set; } = false;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Configuration.Internal
namespace Dalamud.Configuration.Internal;
/// <summary>
/// Environmental configuration settings.
/// </summary>
internal class EnvironmentConfiguration
{
/// <summary>
/// Environmental configuration settings.
/// </summary>
internal class EnvironmentConfiguration
{
/// <summary>
/// Gets a value indicating whether the XL_WINEONLINUX setting has been enabled.
/// </summary>
@ -34,5 +34,4 @@ namespace Dalamud.Configuration.Internal
private static bool GetEnvironmentVariable(string name)
=> bool.Parse(Environment.GetEnvironmentVariable(name) ?? "false");
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Configuration
namespace Dalamud.Configuration;
/// <summary>
/// Third party repository for dalamud plugins.
/// </summary>
internal sealed class ThirdPartyRepoSettings
{
/// <summary>
/// Third party repository for dalamud plugins.
/// </summary>
internal sealed class ThirdPartyRepoSettings
{
/// <summary>
/// Gets or sets the third party repo url.
/// </summary>
@ -25,5 +25,4 @@ namespace Dalamud.Configuration
/// </summary>
/// <returns>A shallow copy of this object.</returns>
public ThirdPartyRepoSettings Clone() => this.MemberwiseClone() as ThirdPartyRepoSettings;
}
}

View file

@ -2,13 +2,13 @@ using System.IO;
using Newtonsoft.Json;
namespace Dalamud.Configuration
namespace Dalamud.Configuration;
/// <summary>
/// Configuration to store settings for a dalamud plugin.
/// </summary>
public sealed class PluginConfigurations
{
/// <summary>
/// Configuration to store settings for a dalamud plugin.
/// </summary>
public sealed class PluginConfigurations
{
private readonly DirectoryInfo configDirectory;
/// <summary>
@ -146,5 +146,4 @@ namespace Dalamud.Configuration
}
private DirectoryInfo GetDirectoryPath(string pluginName) => new(Path.Combine(this.configDirectory.FullName, pluginName));
}
}

View file

@ -19,13 +19,13 @@ using Serilog;
[assembly: InternalsVisibleTo("Dalamud.Test")]
[assembly: InternalsVisibleTo("Dalamud.DevHelpers")]
namespace Dalamud
namespace Dalamud;
/// <summary>
/// The main Dalamud class containing all subsystems.
/// </summary>
internal sealed class Dalamud : IServiceType
{
/// <summary>
/// The main Dalamud class containing all subsystems.
/// </summary>
internal sealed class Dalamud : IServiceType
{
#region Internals
private readonly ManualResetEvent unloadSignal;
@ -145,5 +145,4 @@ namespace Dalamud
var oldFilter = NativeFunctions.SetUnhandledExceptionFilter(releaseFilter);
Log.Debug("Reset ExceptionFilter, old: {0}", oldFilter);
}
}
}

View file

@ -4,14 +4,14 @@ using System.Collections.Generic;
using Dalamud.Game;
using Newtonsoft.Json;
namespace Dalamud
namespace Dalamud;
/// <summary>
/// Struct containing information needed to initialize Dalamud.
/// </summary>
[Serializable]
public record DalamudStartInfo : IServiceType
{
/// <summary>
/// Struct containing information needed to initialize Dalamud.
/// </summary>
[Serializable]
public record DalamudStartInfo : IServiceType
{
/// <summary>
/// Initializes a new instance of the <see cref="DalamudStartInfo"/> class.
/// </summary>
@ -166,5 +166,4 @@ namespace Dalamud
/// Gets or sets a value indicating whether to show crash handler console window.
/// </summary>
public bool CrashHandlerShow { get; set; }
}
}

View file

@ -19,16 +19,16 @@ using Lumina.Excel;
using Newtonsoft.Json;
using Serilog;
namespace Dalamud.Data
namespace Dalamud.Data;
/// <summary>
/// This class provides data for Dalamud-internal features, but can also be used by plugins if needed.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class DataManager : IDisposable, IServiceType
{
/// <summary>
/// This class provides data for Dalamud-internal features, but can also be used by plugins if needed.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class DataManager : IDisposable, IServiceType
{
private const string IconFileFormat = "ui/icon/{0:D3}000/{1}{2:D6}.tex";
private readonly Thread luminaResourceThread;
@ -345,5 +345,4 @@ namespace Dalamud.Data
{
this.luminaCancellationTokenSource.Cancel();
}
}
}

View file

@ -18,13 +18,13 @@ using Serilog.Events;
using static Dalamud.NativeFunctions;
namespace Dalamud
namespace Dalamud;
/// <summary>
/// The main entrypoint for the Dalamud system.
/// </summary>
public sealed class EntryPoint
{
/// <summary>
/// The main entrypoint for the Dalamud system.
/// </summary>
public sealed class EntryPoint
{
/// <summary>
/// Log level switch for runtime log level change.
/// </summary>
@ -354,5 +354,4 @@ namespace Dalamud
if (!args.Observed)
Log.Error(args.Exception, "Unobserved exception in Task.");
}
}
}

View file

@ -5,13 +5,13 @@ using System.Runtime.InteropServices;
using JetBrains.Annotations;
namespace Dalamud.Game
namespace Dalamud.Game;
/// <summary>
/// Base memory address resolver.
/// </summary>
public abstract class BaseAddressResolver
{
/// <summary>
/// Base memory address resolver.
/// </summary>
public abstract class BaseAddressResolver
{
/// <summary>
/// Gets a list of memory addresses that were found, to list in /xldata.
/// </summary>
@ -114,5 +114,4 @@ namespace Dalamud.Game
{
// Do nothing
}
}
}

View file

@ -20,16 +20,16 @@ using Dalamud.Plugin.Internal;
using Dalamud.Utility;
using Serilog;
namespace Dalamud.Game
namespace Dalamud.Game;
/// <summary>
/// Chat events and public helper functions.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public class ChatHandlers : IServiceType
{
/// <summary>
/// Chat events and public helper functions.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public class ChatHandlers : IServiceType
{
// private static readonly Dictionary<string, string> UnicodeToDiscordEmojiDict = new()
// {
// { "", "<:ffxive071:585847382210642069>" },
@ -329,5 +329,4 @@ namespace Dalamud.Game
}
});
}
}
}

View file

@ -1,13 +1,13 @@
using Dalamud.Game.ClientState.Resolvers;
using FFXIVClientStructs.FFXIV.Client.Game.UI;
namespace Dalamud.Game.ClientState.Aetherytes
namespace Dalamud.Game.ClientState.Aetherytes;
/// <summary>
/// This class represents an entry in the Aetheryte list.
/// </summary>
public sealed class AetheryteEntry
{
/// <summary>
/// This class represents an entry in the Aetheryte list.
/// </summary>
public sealed class AetheryteEntry
{
private readonly TeleportInfo data;
/// <summary>
@ -68,5 +68,4 @@ namespace Dalamud.Game.ClientState.Aetherytes
/// Gets the Aetheryte data related to this aetheryte.
/// </summary>
public ExcelResolver<Lumina.Excel.GeneratedSheets.Aetheryte> AetheryteData => new(this.AetheryteId);
}
}

View file

@ -7,16 +7,16 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.ClientState.Aetherytes
namespace Dalamud.Game.ClientState.Aetherytes;
/// <summary>
/// This collection represents the list of available Aetherytes in the Teleport window.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class AetheryteList : IServiceType
{
/// <summary>
/// This collection represents the list of available Aetherytes in the Teleport window.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class AetheryteList : IServiceType
{
[ServiceManager.ServiceDependency]
private readonly ClientState clientState = Service<ClientState>.Get();
private readonly ClientStateAddressResolver address;
@ -83,13 +83,13 @@ namespace Dalamud.Game.ClientState.Aetherytes
this.updateAetheryteListFunc(this.address.Telepo, 0);
}
}
}
/// <summary>
/// This collection represents the list of available Aetherytes in the Teleport window.
/// </summary>
public sealed partial class AetheryteList : IReadOnlyCollection<AetheryteEntry>
{
/// <summary>
/// This collection represents the list of available Aetherytes in the Teleport window.
/// </summary>
public sealed partial class AetheryteList : IReadOnlyCollection<AetheryteEntry>
{
/// <inheritdoc/>
public int Count => this.Length;
@ -107,5 +107,4 @@ namespace Dalamud.Game.ClientState.Aetherytes
{
return this.GetEnumerator();
}
}
}

View file

@ -7,17 +7,17 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.ClientState.Buddy
namespace Dalamud.Game.ClientState.Buddy;
/// <summary>
/// This collection represents the buddies present in your squadron or trust party.
/// It does not include the local player.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class BuddyList : IServiceType
{
/// <summary>
/// This collection represents the buddies present in your squadron or trust party.
/// It does not include the local player.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class BuddyList : IServiceType
{
private const uint InvalidObjectID = 0xE0000000;
[ServiceManager.ServiceDependency]
@ -160,13 +160,13 @@ namespace Dalamud.Game.ClientState.Buddy
return buddy;
}
}
}
/// <summary>
/// This collection represents the buddies present in your squadron or trust party.
/// </summary>
public sealed partial class BuddyList : IReadOnlyCollection<BuddyMember>
{
/// <summary>
/// This collection represents the buddies present in your squadron or trust party.
/// </summary>
public sealed partial class BuddyList : IReadOnlyCollection<BuddyMember>
{
/// <inheritdoc/>
int IReadOnlyCollection<BuddyMember>.Count => this.Length;
@ -181,5 +181,4 @@ namespace Dalamud.Game.ClientState.Buddy
/// <inheritdoc/>
IEnumerator IEnumerable.GetEnumerator() => this.GetEnumerator();
}
}

View file

@ -4,13 +4,13 @@ using Dalamud.Game.ClientState.Objects;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Game.ClientState.Resolvers;
namespace Dalamud.Game.ClientState.Buddy
namespace Dalamud.Game.ClientState.Buddy;
/// <summary>
/// This class represents a buddy such as the chocobo companion, summoned pets, squadron groups and trust parties.
/// </summary>
public unsafe class BuddyMember
{
/// <summary>
/// This class represents a buddy such as the chocobo companion, summoned pets, squadron groups and trust parties.
/// </summary>
public unsafe class BuddyMember
{
[ServiceManager.ServiceDependency]
private readonly ObjectTable objectTable = Service<ObjectTable>.Get();
@ -72,5 +72,4 @@ namespace Dalamud.Game.ClientState.Buddy
public ExcelResolver<Lumina.Excel.GeneratedSheets.DawnGrowMember> TrustData => new(this.DataID);
private FFXIVClientStructs.FFXIV.Client.Game.UI.Buddy.BuddyMember* Struct => (FFXIVClientStructs.FFXIV.Client.Game.UI.Buddy.BuddyMember*)this.Address;
}
}

View file

@ -13,16 +13,16 @@ using Dalamud.Utility;
using FFXIVClientStructs.FFXIV.Client.Game;
using Serilog;
namespace Dalamud.Game.ClientState
namespace Dalamud.Game.ClientState;
/// <summary>
/// This class represents the state of the game client at the time of access.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class ClientState : IDisposable, IServiceType
{
/// <summary>
/// This class represents the state of the game client at the time of access.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class ClientState : IDisposable, IServiceType
{
private readonly ClientStateAddressResolver address;
private readonly Hook<SetupTerritoryTypeDelegate> setupTerritoryTypeHook;
@ -202,5 +202,4 @@ namespace Dalamud.Game.ClientState
}
}
}
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState
namespace Dalamud.Game.ClientState;
/// <summary>
/// Client state memory address resolver.
/// </summary>
public sealed class ClientStateAddressResolver : BaseAddressResolver
{
/// <summary>
/// Client state memory address resolver.
/// </summary>
public sealed class ClientStateAddressResolver : BaseAddressResolver
{
// Static offsets
/// <summary>
@ -124,5 +124,4 @@ namespace Dalamud.Game.ClientState
this.UpdateAetheryteList = sig.ScanText("E8 ?? ?? ?? ?? 48 89 46 68 4C 8D 45 50");
}
}
}

View file

@ -4,16 +4,16 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.ClientState.Conditions
namespace Dalamud.Game.ClientState.Conditions;
/// <summary>
/// Provides access to conditions (generally player state). You can check whether a player is in combat, mounted, etc.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class Condition : IServiceType
{
/// <summary>
/// Provides access to conditions (generally player state). You can check whether a player is in combat, mounted, etc.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class Condition : IServiceType
{
/// <summary>
/// The current max number of conditions. You can get this just by looking at the condition sheet and how many rows it has.
/// </summary>
@ -113,13 +113,13 @@ namespace Dalamud.Game.ClientState.Conditions
}
}
}
}
}
/// <summary>
/// Provides access to conditions (generally player state). You can check whether a player is in combat, mounted, etc.
/// </summary>
public sealed partial class Condition : IDisposable
{
/// <summary>
/// Provides access to conditions (generally player state). You can check whether a player is in combat, mounted, etc.
/// </summary>
public sealed partial class Condition : IDisposable
{
private bool isDisposed;
/// <summary>
@ -151,5 +151,4 @@ namespace Dalamud.Game.ClientState.Conditions
this.isDisposed = true;
}
}
}

View file

@ -1,13 +1,13 @@
namespace Dalamud.Game.ClientState.Conditions
namespace Dalamud.Game.ClientState.Conditions;
/// <summary>
/// Possible state flags (or conditions as they're called internally) that can be set on the local client.
///
/// These come from LogMessage (somewhere) and directly map to each state field managed by the client. As of 5.25, it maps to
/// LogMessage row 7700 and onwards, which can be checked by looking at the Condition sheet and looking at what column 2 maps to.
/// </summary>
public enum ConditionFlag
{
/// <summary>
/// Possible state flags (or conditions as they're called internally) that can be set on the local client.
///
/// These come from LogMessage (somewhere) and directly map to each state field managed by the client. As of 5.25, it maps to
/// LogMessage row 7700 and onwards, which can be checked by looking at the Condition sheet and looking at what column 2 maps to.
/// </summary>
public enum ConditionFlag
{
/// <summary>
/// Unused.
/// </summary>
@ -464,5 +464,4 @@ namespace Dalamud.Game.ClientState.Conditions
/// Unable to execute command while recruiting for a non-cross-world party.
/// </summary>
RecruitingWorldOnly = 98,
}
}

View file

@ -6,13 +6,13 @@ using Dalamud.Game.ClientState.Resolvers;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Memory;
namespace Dalamud.Game.ClientState.Fates
namespace Dalamud.Game.ClientState.Fates;
/// <summary>
/// This class represents an FFXIV Fate.
/// </summary>
public unsafe partial class Fate : IEquatable<Fate>
{
/// <summary>
/// This class represents an FFXIV Fate.
/// </summary>
public unsafe partial class Fate : IEquatable<Fate>
{
/// <summary>
/// Initializes a new instance of the <see cref="Fate"/> class.
/// </summary>
@ -71,13 +71,13 @@ namespace Dalamud.Game.ClientState.Fates
/// <inheritdoc/>
public override int GetHashCode() => this.FateId.GetHashCode();
}
}
/// <summary>
/// This class represents an FFXIV Fate.
/// </summary>
public unsafe partial class Fate
{
/// <summary>
/// This class represents an FFXIV Fate.
/// </summary>
public unsafe partial class Fate
{
/// <summary>
/// Gets the Fate ID of this <see cref="Fate" />.
/// </summary>
@ -132,5 +132,4 @@ namespace Dalamud.Game.ClientState.Fates
/// Gets the territory this <see cref="Fate"/> is located in.
/// </summary>
public ExcelResolver<Lumina.Excel.GeneratedSheets.TerritoryType> TerritoryType => new(this.Struct->TerritoryId);
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.Fates
namespace Dalamud.Game.ClientState.Fates;
/// <summary>
/// This represents the state of a single Fate.
/// </summary>
public enum FateState : byte
{
/// <summary>
/// This represents the state of a single Fate.
/// </summary>
public enum FateState : byte
{
/// <summary>
/// The Fate is active.
/// </summary>
@ -29,5 +29,4 @@ namespace Dalamud.Game.ClientState.Fates
/// The Fate is preparing to end.
/// </summary>
WaitingForEnd = 0x08,
}
}

View file

@ -6,16 +6,16 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.ClientState.Fates
namespace Dalamud.Game.ClientState.Fates;
/// <summary>
/// This collection represents the currently available Fate events.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class FateTable : IServiceType
{
/// <summary>
/// This collection represents the currently available Fate events.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class FateTable : IServiceType
{
private readonly ClientStateAddressResolver address;
[ServiceManager.ServiceConstructor]
@ -117,13 +117,13 @@ namespace Dalamud.Game.ClientState.Fates
return new Fate(offset);
}
}
}
/// <summary>
/// This collection represents the currently available Fate events.
/// </summary>
public sealed partial class FateTable : IReadOnlyCollection<Fate>
{
/// <summary>
/// This collection represents the currently available Fate events.
/// </summary>
public sealed partial class FateTable : IReadOnlyCollection<Fate>
{
/// <inheritdoc/>
int IReadOnlyCollection<Fate>.Count => this.Length;
@ -138,5 +138,4 @@ namespace Dalamud.Game.ClientState.Fates
/// <inheritdoc/>
IEnumerator IEnumerable.GetEnumerator() => this.GetEnumerator();
}
}

View file

@ -1,13 +1,13 @@
using System;
namespace Dalamud.Game.ClientState.GamePad
namespace Dalamud.Game.ClientState.GamePad;
/// <summary>
/// Bitmask of the Button ushort used by the game.
/// </summary>
[Flags]
public enum GamepadButtons : ushort
{
/// <summary>
/// Bitmask of the Button ushort used by the game.
/// </summary>
[Flags]
public enum GamepadButtons : ushort
{
/// <summary>
/// No buttons pressed.
/// </summary>
@ -92,5 +92,4 @@ namespace Dalamud.Game.ClientState.GamePad
/// Button on the left inner side of the controller. ??? on PS, Back on Xbox.
/// </summary>
Select = 0x4000,
}
}

View file

@ -1,18 +1,18 @@
using System.Runtime.InteropServices;
namespace Dalamud.Game.ClientState.GamePad
namespace Dalamud.Game.ClientState.GamePad;
/// <summary>
/// Struct which gets populated by polling the gamepads.
///
/// Has an array of gamepads, among many other things (here not mapped).
/// All we really care about is the final data which the game uses to determine input.
///
/// The size is definitely bigger than only the following fields but I do not know how big.
/// </summary>
[StructLayout(LayoutKind.Explicit)]
public struct GamepadInput
{
/// <summary>
/// Struct which gets populated by polling the gamepads.
///
/// Has an array of gamepads, among many other things (here not mapped).
/// All we really care about is the final data which the game uses to determine input.
///
/// The size is definitely bigger than only the following fields but I do not know how big.
/// </summary>
[StructLayout(LayoutKind.Explicit)]
public struct GamepadInput
{
/// <summary>
/// Left analogue stick's horizontal value, -99 for left, 99 for right.
/// </summary>
@ -72,5 +72,4 @@ namespace Dalamud.Game.ClientState.GamePad
/// </remarks>
[FieldOffset(0xA4)]
public ushort ButtonsRepeat;
}
}

View file

@ -6,18 +6,18 @@ using Dalamud.IoC.Internal;
using ImGuiNET;
using Serilog;
namespace Dalamud.Game.ClientState.GamePad
namespace Dalamud.Game.ClientState.GamePad;
/// <summary>
/// Exposes the game gamepad state to dalamud.
///
/// Will block game's gamepad input if <see cref="ImGuiConfigFlags.NavEnableGamepad"/> is set.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public unsafe class GamepadState : IDisposable, IServiceType
{
/// <summary>
/// Exposes the game gamepad state to dalamud.
///
/// Will block game's gamepad input if <see cref="ImGuiConfigFlags.NavEnableGamepad"/> is set.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public unsafe class GamepadState : IDisposable, IServiceType
{
private readonly Hook<ControllerPoll> gamepadPoll;
private bool isDisposed;
@ -250,5 +250,4 @@ namespace Dalamud.Game.ClientState.GamePad
this.isDisposed = true;
}
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// MNK Beast Chakra types.
/// </summary>
public enum BeastChakra : byte
{
/// <summary>
/// MNK Beast Chakra types.
/// </summary>
public enum BeastChakra : byte
{
/// <summary>
/// No card.
/// </summary>
@ -24,5 +24,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// The Raptor chakra.
/// </summary>
RAPTOR = 3,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// AST Arcanum (card) types.
/// </summary>
public enum CardType : byte
{
/// <summary>
/// AST Arcanum (card) types.
/// </summary>
public enum CardType : byte
{
/// <summary>
/// No card.
/// </summary>
@ -49,5 +49,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// The Lady of Crowns card.
/// </summary>
LADY = 0x80,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// SCH Dismissed fairy types.
/// </summary>
public enum DismissedFairy : byte
{
/// <summary>
/// SCH Dismissed fairy types.
/// </summary>
public enum DismissedFairy : byte
{
/// <summary>
/// Dismissed fairy is Eos.
/// </summary>
@ -14,5 +14,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// Dismissed fairy is Selene.
/// </summary>
SELENE = 7,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// SAM Kaeshi types.
/// </summary>
public enum Kaeshi : byte
{
/// <summary>
/// SAM Kaeshi types.
/// </summary>
public enum Kaeshi : byte
{
/// <summary>
/// No Kaeshi is active.
/// </summary>
@ -29,5 +29,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// Kaeshi: Namikiri type.
/// </summary>
NAMIKIRI = 4,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// NIN Mudra types.
/// </summary>
public enum Mudras : byte
{
/// <summary>
/// NIN Mudra types.
/// </summary>
public enum Mudras : byte
{
/// <summary>
/// Ten mudra.
/// </summary>
@ -19,5 +19,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// Jin mudra.
/// </summary>
JIN = 3,
}
}

View file

@ -1,13 +1,13 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// MNK Nadi types.
/// </summary>
[Flags]
public enum Nadi : byte
{
/// <summary>
/// MNK Nadi types.
/// </summary>
[Flags]
public enum Nadi : byte
{
/// <summary>
/// No card.
/// </summary>
@ -22,5 +22,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// The Solar nadi.
/// </summary>
SOLAR = 4,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// SMN summoned pet glam types.
/// </summary>
public enum PetGlam : byte
{
/// <summary>
/// SMN summoned pet glam types.
/// </summary>
public enum PetGlam : byte
{
/// <summary>
/// No pet glam.
/// </summary>
@ -44,5 +44,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// Garuda Egi pet glam.
/// </summary>
GARUDA = 7,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// AST Divination seal types.
/// </summary>
public enum SealType : byte
{
/// <summary>
/// AST Divination seal types.
/// </summary>
public enum SealType : byte
{
/// <summary>
/// No seal.
/// </summary>
@ -24,5 +24,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// Celestial seal.
/// </summary>
CELESTIAL = 3,
}
}

View file

@ -1,13 +1,13 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// Samurai Sen types.
/// </summary>
[Flags]
public enum Sen : byte
{
/// <summary>
/// Samurai Sen types.
/// </summary>
[Flags]
public enum Sen : byte
{
/// <summary>
/// No Sen.
/// </summary>
@ -27,5 +27,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// Ka Sen type.
/// </summary>
KA = 1 << 2,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// BRD Song types.
/// </summary>
public enum Song : byte
{
/// <summary>
/// BRD Song types.
/// </summary>
public enum Song : byte
{
/// <summary>
/// No song is active type.
/// </summary>
@ -24,5 +24,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// The Wanderer's Minuet type.
/// </summary>
WANDERER = 3,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.JobGauge.Enums
namespace Dalamud.Game.ClientState.JobGauge.Enums;
/// <summary>
/// SMN summoned pet types.
/// </summary>
public enum SummonPet : byte
{
/// <summary>
/// SMN summoned pet types.
/// </summary>
public enum SummonPet : byte
{
/// <summary>
/// No pet.
/// </summary>
@ -14,5 +14,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Enums
/// The summoned pet Carbuncle.
/// </summary>
CARBUNCLE = 23,
}
}

View file

@ -7,16 +7,16 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.ClientState.JobGauge
namespace Dalamud.Game.ClientState.JobGauge;
/// <summary>
/// This class converts in-memory Job gauge data to structs.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public class JobGauges : IServiceType
{
/// <summary>
/// This class converts in-memory Job gauge data to structs.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public class JobGauges : IServiceType
{
private Dictionary<Type, JobGaugeBase> cache = new();
[ServiceManager.ServiceConstructor]
@ -48,5 +48,4 @@ namespace Dalamud.Game.ClientState.JobGauge
return (T)gauge;
}
}
}

View file

@ -3,13 +3,13 @@ using System.Linq;
using Dalamud.Game.ClientState.JobGauge.Enums;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory AST job gauge.
/// </summary>
public unsafe class ASTGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.AstrologianGauge>
{
/// <summary>
/// In-memory AST job gauge.
/// </summary>
public unsafe class ASTGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.AstrologianGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="ASTGauge"/> class.
/// </summary>
@ -42,5 +42,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// <param name="seal">The <see cref="SealType"/> to check for.</param>
/// <returns>If the given Seal is currently divined.</returns>
public unsafe bool ContainsSeal(SealType seal) => this.Seals.Contains(seal);
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory BLM job gauge.
/// </summary>
public unsafe class BLMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.BlackMageGauge>
{
/// <summary>
/// In-memory BLM job gauge.
/// </summary>
public unsafe class BLMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.BlackMageGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="BLMGauge"/> class.
/// </summary>
@ -69,5 +69,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// </summary>
/// <returns><c>true</c> or <c>false</c>.</returns>
public bool IsParadoxActive => this.Struct->ParadoxActive;
}
}

View file

@ -3,13 +3,13 @@ using System;
using Dalamud.Game.ClientState.JobGauge.Enums;
using FFXIVClientStructs.FFXIV.Client.Game.Gauge;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory BRD job gauge.
/// </summary>
public unsafe class BRDGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.BardGauge>
{
/// <summary>
/// In-memory BRD job gauge.
/// </summary>
public unsafe class BRDGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.BardGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="BRDGauge"/> class.
/// </summary>
@ -92,5 +92,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
};
}
}
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory DNC job gauge.
/// </summary>
public unsafe class DNCGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.DancerGauge>
{
/// <summary>
/// In-memory DNC job gauge.
/// </summary>
public unsafe class DNCGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.DancerGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="DNCGauge"/> class.
/// </summary>
@ -56,5 +56,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// </summary>
/// <returns><c>true</c> or <c>false</c>.</returns>
public bool IsDancing => this.Struct->DanceSteps[0] != 0;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory DRG job gauge.
/// </summary>
public unsafe class DRGGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.DragoonGauge>
{
/// <summary>
/// In-memory DRG job gauge.
/// </summary>
public unsafe class DRGGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.DragoonGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="DRGGauge"/> class.
/// </summary>
@ -35,5 +35,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the amount of Firstminds' Focus available.
/// </summary>
public byte FirstmindsFocusCount => this.Struct->FirstmindsFocusCount;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory DRK job gauge.
/// </summary>
public unsafe class DRKGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.DarkKnightGauge>
{
/// <summary>
/// In-memory DRK job gauge.
/// </summary>
public unsafe class DRKGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.DarkKnightGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="DRKGauge"/> class.
/// </summary>
@ -36,5 +36,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// </summary>
/// <returns><c>true</c> or <c>false</c>.</returns>
public bool HasDarkArts => this.Struct->DarkArtsState > 0;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory GNB job gauge.
/// </summary>
public unsafe class GNBGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.GunbreakerGauge>
{
/// <summary>
/// In-memory GNB job gauge.
/// </summary>
public unsafe class GNBGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.GunbreakerGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="GNBGauge"/> class.
/// </summary>
@ -30,5 +30,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the current step of the Gnashing Fang combo.
/// </summary>
public byte AmmoComboStep => this.Struct->AmmoComboStep;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// Base job gauge class.
/// </summary>
public abstract unsafe class JobGaugeBase
{
/// <summary>
/// Base job gauge class.
/// </summary>
public abstract unsafe class JobGaugeBase
{
/// <summary>
/// Initializes a new instance of the <see cref="JobGaugeBase"/> class.
/// </summary>
@ -20,5 +20,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the address of this job gauge in memory.
/// </summary>
public IntPtr Address { get; }
}
}

View file

@ -1,13 +1,13 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// Base job gauge class.
/// </summary>
/// <typeparam name="T">The underlying FFXIVClientStructs type.</typeparam>
public unsafe class JobGaugeBase<T> : JobGaugeBase where T : unmanaged
{
/// <summary>
/// Base job gauge class.
/// </summary>
/// <typeparam name="T">The underlying FFXIVClientStructs type.</typeparam>
public unsafe class JobGaugeBase<T> : JobGaugeBase where T : unmanaged
{
/// <summary>
/// Initializes a new instance of the <see cref="JobGaugeBase{T}"/> class.
/// </summary>
@ -21,5 +21,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets an unsafe struct pointer of this job gauge.
/// </summary>
private protected T* Struct => (T*)this.Address;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory MCH job gauge.
/// </summary>
public unsafe class MCHGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.MachinistGauge>
{
/// <summary>
/// In-memory MCH job gauge.
/// </summary>
public unsafe class MCHGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.MachinistGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="MCHGauge"/> class.
/// </summary>
@ -52,5 +52,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// </summary>
/// <returns><c>true</c> or <c>false</c>.</returns>
public bool IsRobotActive => (this.Struct->TimerActive & 2) != 0;
}
}

View file

@ -3,13 +3,13 @@ using System.Linq;
using Dalamud.Game.ClientState.JobGauge.Enums;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory MNK job gauge.
/// </summary>
public unsafe class MNKGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.MonkGauge>
{
/// <summary>
/// In-memory MNK job gauge.
/// </summary>
public unsafe class MNKGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.MonkGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="MNKGauge"/> class.
/// </summary>
@ -41,5 +41,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the time remaining that Blitz is active.
/// </summary>
public ushort BlitzTimeRemaining => this.Struct->BlitzTimeRemaining;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory NIN job gauge.
/// </summary>
public unsafe class NINGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.NinjaGauge>
{
/// <summary>
/// In-memory NIN job gauge.
/// </summary>
public unsafe class NINGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.NinjaGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="NINGauge"/> class.
/// </summary>
@ -30,5 +30,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the number of times Huton has been cast manually.
/// </summary>
public byte HutonManualCasts => this.Struct->HutonManualCasts;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory PLD job gauge.
/// </summary>
public unsafe class PLDGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.PaladinGauge>
{
/// <summary>
/// In-memory PLD job gauge.
/// </summary>
public unsafe class PLDGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.PaladinGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="PLDGauge"/> class.
/// </summary>
@ -20,5 +20,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the current level of the Oath gauge.
/// </summary>
public byte OathGauge => this.Struct->OathGauge;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory RDM job gauge.
/// </summary>
public unsafe class RDMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.RedMageGauge>
{
/// <summary>
/// In-memory RDM job gauge.
/// </summary>
public unsafe class RDMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.RedMageGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="RDMGauge"/> class.
/// </summary>
@ -30,5 +30,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the amount of mana stacks.
/// </summary>
public byte ManaStacks => this.Struct->ManaStacks;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory RPR job gauge.
/// </summary>
public unsafe class RPRGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.ReaperGauge>
{
/// <summary>
/// In-memory RPR job gauge.
/// </summary>
public unsafe class RPRGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.ReaperGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="RPRGauge"/> class.
/// </summary>
@ -40,5 +40,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the amount of Void Shroud available.
/// </summary>
public byte VoidShroud => this.Struct->VoidShroud;
}
}

View file

@ -2,13 +2,13 @@ using System;
using Dalamud.Game.ClientState.JobGauge.Enums;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory SAM job gauge.
/// </summary>
public unsafe class SAMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.SamuraiGauge>
{
/// <summary>
/// In-memory SAM job gauge.
/// </summary>
public unsafe class SAMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.SamuraiGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="SAMGauge"/> class.
/// </summary>
@ -55,5 +55,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// </summary>
/// <returns><c>true</c> or <c>false</c>.</returns>
public bool HasKa => (this.Sen & Sen.KA) != 0;
}
}

View file

@ -2,13 +2,13 @@ using System;
using Dalamud.Game.ClientState.JobGauge.Enums;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory SCH job gauge.
/// </summary>
public unsafe class SCHGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.ScholarGauge>
{
/// <summary>
/// In-memory SCH job gauge.
/// </summary>
public unsafe class SCHGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.ScholarGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="SCHGauge"/> class.
/// </summary>
@ -37,5 +37,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the last dismissed fairy.
/// </summary>
public DismissedFairy DismissedFairy => (DismissedFairy)this.Struct->DismissedFairy;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory SGE job gauge.
/// </summary>
public unsafe class SGEGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.SageGauge>
{
/// <summary>
/// In-memory SGE job gauge.
/// </summary>
public unsafe class SGEGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.SageGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="SGEGauge"/> class.
/// </summary>
@ -36,5 +36,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets a value indicating whether Eukrasia is activated.
/// </summary>
public bool Eukrasia => this.Struct->Eukrasia == 1;
}
}

View file

@ -3,13 +3,13 @@ using System;
using Dalamud.Game.ClientState.JobGauge.Enums;
using FFXIVClientStructs.FFXIV.Client.Game.Gauge;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory SMN job gauge.
/// </summary>
public unsafe class SMNGauge : JobGaugeBase<SummonerGauge>
{
/// <summary>
/// In-memory SMN job gauge.
/// </summary>
public unsafe class SMNGauge : JobGaugeBase<SummonerGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="SMNGauge"/> class.
/// </summary>
@ -110,5 +110,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the amount of Aetherflow available.
/// </summary>
public byte AetherflowStacks => (byte)(this.AetherFlags & AetherFlags.Aetherflow);
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory WAR job gauge.
/// </summary>
public unsafe class WARGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.WarriorGauge>
{
/// <summary>
/// In-memory WAR job gauge.
/// </summary>
public unsafe class WARGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.WarriorGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="WARGauge"/> class.
/// </summary>
@ -20,5 +20,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the amount of wrath in the Beast gauge.
/// </summary>
public byte BeastGauge => this.Struct->BeastGauge;
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.ClientState.JobGauge.Types
namespace Dalamud.Game.ClientState.JobGauge.Types;
/// <summary>
/// In-memory WHM job gauge.
/// </summary>
public unsafe class WHMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.WhiteMageGauge>
{
/// <summary>
/// In-memory WHM job gauge.
/// </summary>
public unsafe class WHMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game.Gauge.WhiteMageGauge>
{
/// <summary>
/// Initializes a new instance of the <see cref="WHMGauge"/> class.
/// </summary>
@ -30,5 +30,4 @@ namespace Dalamud.Game.ClientState.JobGauge.Types
/// Gets the number of times the blood lily has been nourished.
/// </summary>
public byte BloodLily => this.Struct->BloodLily;
}
}

View file

@ -6,25 +6,25 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.ClientState.Keys
namespace Dalamud.Game.ClientState.Keys;
/// <summary>
/// Wrapper around the game keystate buffer, which contains the pressed state for all keyboard keys, indexed by virtual vkCode.
/// </summary>
/// <remarks>
/// The stored key state is actually a combination field, however the below ephemeral states are consumed each frame. Setting
/// the value may be mildly useful, however retrieving the value is largely pointless. In testing, it wasn't possible without
/// setting the statue manually.
/// index &amp; 0 = key pressed.
/// index &amp; 1 = key down (ephemeral).
/// index &amp; 2 = key up (ephemeral).
/// index &amp; 3 = short key press (ephemeral).
/// </remarks>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public class KeyState : IServiceType
{
/// <summary>
/// Wrapper around the game keystate buffer, which contains the pressed state for all keyboard keys, indexed by virtual vkCode.
/// </summary>
/// <remarks>
/// The stored key state is actually a combination field, however the below ephemeral states are consumed each frame. Setting
/// the value may be mildly useful, however retrieving the value is largely pointless. In testing, it wasn't possible without
/// setting the statue manually.
/// index &amp; 0 = key pressed.
/// index &amp; 1 = key down (ephemeral).
/// index &amp; 2 = key up (ephemeral).
/// index &amp; 3 = short key press (ephemeral).
/// </remarks>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public class KeyState : IServiceType
{
// The array is accessed in a way that this limit doesn't appear to exist
// but there is other state data past this point, and keys beyond here aren't
// generally valid for most things anyway
@ -154,5 +154,4 @@ namespace Dalamud.Game.ClientState.Keys
return ref *(int*)(this.bufferBase + (4 * vkCode));
}
}
}

View file

@ -1,13 +1,13 @@
namespace Dalamud.Game.ClientState.Keys
namespace Dalamud.Game.ClientState.Keys;
/// <summary>
/// Virtual-key codes.
/// </summary>
/// <remarks>
/// Defined in winuser.h from Windows SDK v6.1.
/// </remarks>
public enum VirtualKey : ushort
{
/// <summary>
/// Virtual-key codes.
/// </summary>
/// <remarks>
/// Defined in winuser.h from Windows SDK v6.1.
/// </remarks>
public enum VirtualKey : ushort
{
/// <summary>
/// This is an addendum to use on functions in which you have to pass a zero value to represent no key code.
/// </summary>
@ -1243,5 +1243,4 @@ namespace Dalamud.Game.ClientState.Keys
/// </summary>
[VirtualKey("Clear")]
OEM_CLEAR = 254,
}
}

View file

@ -1,13 +1,13 @@
using System;
namespace Dalamud.Game.ClientState.Keys
namespace Dalamud.Game.ClientState.Keys;
/// <summary>
/// Attribute describing a VirtualKey.
/// </summary>
[AttributeUsage(AttributeTargets.Field)]
internal sealed class VirtualKeyAttribute : Attribute
{
/// <summary>
/// Attribute describing a VirtualKey.
/// </summary>
[AttributeUsage(AttributeTargets.Field)]
internal sealed class VirtualKeyAttribute : Attribute
{
/// <summary>
/// Initializes a new instance of the <see cref="VirtualKeyAttribute"/> class.
/// </summary>
@ -21,5 +21,4 @@ namespace Dalamud.Game.ClientState.Keys
/// Gets the fancy name of this virtual key.
/// </summary>
public string FancyName { get; init; }
}
}

View file

@ -1,12 +1,12 @@
using Dalamud.Utility;
namespace Dalamud.Game.ClientState.Keys
namespace Dalamud.Game.ClientState.Keys;
/// <summary>
/// Extension methods for <see cref="VirtualKey"/>.
/// </summary>
public static class VirtualKeyExtensions
{
/// <summary>
/// Extension methods for <see cref="VirtualKey"/>.
/// </summary>
public static class VirtualKeyExtensions
{
/// <summary>
/// Get the fancy name associated with this key.
/// </summary>
@ -16,5 +16,4 @@ namespace Dalamud.Game.ClientState.Keys
{
return key.GetAttribute<VirtualKeyAttribute>().FancyName;
}
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.Objects.Enums
namespace Dalamud.Game.ClientState.Objects.Enums;
/// <summary>
/// An Enum describing possible BattleNpc kinds.
/// </summary>
public enum BattleNpcSubKind : byte
{
/// <summary>
/// An Enum describing possible BattleNpc kinds.
/// </summary>
public enum BattleNpcSubKind : byte
{
/// <summary>
/// Invalid BattleNpc.
/// </summary>
@ -24,5 +24,4 @@ namespace Dalamud.Game.ClientState.Objects.Enums
/// BattleNpc representing a standard enemy.
/// </summary>
Enemy = 5,
}
}

View file

@ -1,11 +1,11 @@
namespace Dalamud.Game.ClientState.Objects.Enums
namespace Dalamud.Game.ClientState.Objects.Enums;
/// <summary>
/// This enum describes the indices of the Customize array.
/// </summary>
// TODO: This may need some rework since it may not be entirely accurate (stolen from Sapphire)
public enum CustomizeIndex
{
/// <summary>
/// This enum describes the indices of the Customize array.
/// </summary>
// TODO: This may need some rework since it may not be entirely accurate (stolen from Sapphire)
public enum CustomizeIndex
{
/// <summary>
/// The race of the character.
/// </summary>
@ -135,5 +135,4 @@ namespace Dalamud.Game.ClientState.Objects.Enums
/// The face paint color of the character.
/// </summary>
FacepaintColor = 0x19,
}
}

View file

@ -1,10 +1,10 @@
namespace Dalamud.Game.ClientState.Objects.Enums
namespace Dalamud.Game.ClientState.Objects.Enums;
/// <summary>
/// Enum describing possible entity kinds.
/// </summary>
public enum ObjectKind : byte
{
/// <summary>
/// Enum describing possible entity kinds.
/// </summary>
public enum ObjectKind : byte
{
/// <summary>
/// Invalid character.
/// </summary>
@ -79,5 +79,4 @@ namespace Dalamud.Game.ClientState.Objects.Enums
/// Objects representing card stand objects.
/// </summary>
CardStand = 0x0E,
}
}

View file

@ -1,13 +1,13 @@
using System;
namespace Dalamud.Game.ClientState.Objects.Enums
namespace Dalamud.Game.ClientState.Objects.Enums;
/// <summary>
/// Enum describing possible status flags.
/// </summary>
[Flags]
public enum StatusFlags : byte
{
/// <summary>
/// Enum describing possible status flags.
/// </summary>
[Flags]
public enum StatusFlags : byte
{
/// <summary>
/// No status flags set.
/// </summary>
@ -52,5 +52,4 @@ namespace Dalamud.Game.ClientState.Objects.Enums
/// Character is casting.
/// </summary>
IsCasting = 128,
}
}

View file

@ -9,16 +9,16 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.ClientState.Objects
namespace Dalamud.Game.ClientState.Objects;
/// <summary>
/// This collection represents the currently spawned FFXIV game objects.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class ObjectTable : IServiceType
{
/// <summary>
/// This collection represents the currently spawned FFXIV game objects.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed partial class ObjectTable : IServiceType
{
private const int ObjectTableLength = 596;
private readonly ClientStateAddressResolver address;
@ -116,13 +116,13 @@ namespace Dalamud.Game.ClientState.Objects
_ => new GameObject(address),
};
}
}
}
/// <summary>
/// This collection represents the currently spawned FFXIV game objects.
/// </summary>
public sealed partial class ObjectTable : IReadOnlyCollection<GameObject>
{
/// <summary>
/// This collection represents the currently spawned FFXIV game objects.
/// </summary>
public sealed partial class ObjectTable : IReadOnlyCollection<GameObject>
{
/// <inheritdoc/>
int IReadOnlyCollection<GameObject>.Count => this.Length;
@ -142,5 +142,4 @@ namespace Dalamud.Game.ClientState.Objects
/// <inheritdoc/>
IEnumerator IEnumerable.GetEnumerator() => this.GetEnumerator();
}
}

View file

@ -2,13 +2,13 @@ using System;
using Dalamud.Game.ClientState.Objects.Enums;
namespace Dalamud.Game.ClientState.Objects.Types
namespace Dalamud.Game.ClientState.Objects.Types;
/// <summary>
/// This class represents a battle NPC.
/// </summary>
public unsafe class BattleNpc : BattleChara
{
/// <summary>
/// This class represents a battle NPC.
/// </summary>
public unsafe class BattleNpc : BattleChara
{
/// <summary>
/// Initializes a new instance of the <see cref="BattleNpc"/> class.
/// Set up a new BattleNpc with the provided memory representation.
@ -26,5 +26,4 @@ namespace Dalamud.Game.ClientState.Objects.Types
/// <inheritdoc/>
public override uint TargetObjectId => this.Struct->Character.TargetObjectID;
}
}

View file

@ -2,13 +2,13 @@ using System;
using Dalamud.Game.ClientState.Objects.Types;
namespace Dalamud.Game.ClientState.Objects.SubKinds
namespace Dalamud.Game.ClientState.Objects.SubKinds;
/// <summary>
/// This class represents an EventObj.
/// </summary>
public unsafe class EventObj : GameObject
{
/// <summary>
/// This class represents an EventObj.
/// </summary>
public unsafe class EventObj : GameObject
{
/// <summary>
/// Initializes a new instance of the <see cref="EventObj"/> class.
/// Set up a new EventObj with the provided memory representation.
@ -18,5 +18,4 @@ namespace Dalamud.Game.ClientState.Objects.SubKinds
: base(address)
{
}
}
}

View file

@ -2,13 +2,13 @@ using System;
using Dalamud.Game.ClientState.Objects.Types;
namespace Dalamud.Game.ClientState.Objects.SubKinds
namespace Dalamud.Game.ClientState.Objects.SubKinds;
/// <summary>
/// This class represents a NPC.
/// </summary>
public unsafe class Npc : Character
{
/// <summary>
/// This class represents a NPC.
/// </summary>
public unsafe class Npc : Character
{
/// <summary>
/// Initializes a new instance of the <see cref="Npc"/> class.
/// Set up a new NPC with the provided memory representation.
@ -18,5 +18,4 @@ namespace Dalamud.Game.ClientState.Objects.SubKinds
: base(address)
{
}
}
}

View file

@ -3,13 +3,13 @@ using System;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Game.ClientState.Resolvers;
namespace Dalamud.Game.ClientState.Objects.SubKinds
namespace Dalamud.Game.ClientState.Objects.SubKinds;
/// <summary>
/// This class represents a player character.
/// </summary>
public unsafe class PlayerCharacter : BattleChara
{
/// <summary>
/// This class represents a player character.
/// </summary>
public unsafe class PlayerCharacter : BattleChara
{
/// <summary>
/// Initializes a new instance of the <see cref="PlayerCharacter"/> class.
/// This represents a player character.
@ -34,5 +34,4 @@ namespace Dalamud.Game.ClientState.Objects.SubKinds
/// Gets the target actor ID of the PlayerCharacter.
/// </summary>
public override uint TargetObjectId => this.Struct->Character.PlayerTargetObjectID;
}
}

View file

@ -4,16 +4,16 @@ using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.IoC;
using Dalamud.IoC.Internal;
namespace Dalamud.Game.ClientState.Objects
namespace Dalamud.Game.ClientState.Objects;
/// <summary>
/// Get and set various kinds of targets for the player.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed unsafe class TargetManager : IServiceType
{
/// <summary>
/// Get and set various kinds of targets for the player.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed unsafe class TargetManager : IServiceType
{
[ServiceManager.ServiceDependency]
private readonly ClientState clientState = Service<ClientState>.Get();
@ -164,5 +164,4 @@ namespace Dalamud.Game.ClientState.Objects
/// Clears the soft target.
/// </summary>
public void ClearSoftTarget() => this.SetSoftTarget(IntPtr.Zero);
}
}

View file

@ -2,13 +2,13 @@ using System;
using Dalamud.Game.ClientState.Statuses;
namespace Dalamud.Game.ClientState.Objects.Types
namespace Dalamud.Game.ClientState.Objects.Types;
/// <summary>
/// This class represents the battle characters.
/// </summary>
public unsafe class BattleChara : Character
{
/// <summary>
/// This class represents the battle characters.
/// </summary>
public unsafe class BattleChara : Character
{
/// <summary>
/// Initializes a new instance of the <see cref="BattleChara"/> class.
/// This represents a battle character.
@ -63,5 +63,4 @@ namespace Dalamud.Game.ClientState.Objects.Types
/// Gets the underlying structure.
/// </summary>
protected internal new FFXIVClientStructs.FFXIV.Client.Game.Character.BattleChara* Struct => (FFXIVClientStructs.FFXIV.Client.Game.Character.BattleChara*)this.Address;
}
}

View file

@ -6,13 +6,13 @@ using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Memory;
using Lumina.Excel.GeneratedSheets;
namespace Dalamud.Game.ClientState.Objects.Types
namespace Dalamud.Game.ClientState.Objects.Types;
/// <summary>
/// This class represents the base for non-static entities.
/// </summary>
public unsafe class Character : GameObject
{
/// <summary>
/// This class represents the base for non-static entities.
/// </summary>
public unsafe class Character : GameObject
{
/// <summary>
/// Initializes a new instance of the <see cref="Character"/> class.
/// This represents a non-static entity.
@ -108,5 +108,4 @@ namespace Dalamud.Game.ClientState.Objects.Types
/// Gets the underlying structure.
/// </summary>
protected internal new FFXIVClientStructs.FFXIV.Client.Game.Character.Character* Struct => (FFXIVClientStructs.FFXIV.Client.Game.Character.Character*)this.Address;
}
}

View file

@ -5,13 +5,13 @@ using Dalamud.Game.ClientState.Objects.Enums;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Memory;
namespace Dalamud.Game.ClientState.Objects.Types
namespace Dalamud.Game.ClientState.Objects.Types;
/// <summary>
/// This class represents a GameObject in FFXIV.
/// </summary>
public unsafe partial class GameObject : IEquatable<GameObject>
{
/// <summary>
/// This class represents a GameObject in FFXIV.
/// </summary>
public unsafe partial class GameObject : IEquatable<GameObject>
{
/// <summary>
/// IDs of non-networked GameObjects.
/// </summary>
@ -86,13 +86,13 @@ namespace Dalamud.Game.ClientState.Objects.Types
/// <inheritdoc/>
public override int GetHashCode() => this.ObjectId.GetHashCode();
}
}
/// <summary>
/// This class represents a basic actor (GameObject) in FFXIV.
/// </summary>
public unsafe partial class GameObject
{
/// <summary>
/// This class represents a basic actor (GameObject) in FFXIV.
/// </summary>
public unsafe partial class GameObject
{
/// <summary>
/// Gets the name of this <see cref="GameObject" />.
/// </summary>
@ -171,5 +171,4 @@ namespace Dalamud.Game.ClientState.Objects.Types
/// <inheritdoc/>
public override string ToString() => $"{this.ObjectId:X}({this.Name.TextValue} - {this.ObjectKind}) at {this.Address:X}";
}
}

View file

@ -7,16 +7,16 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.ClientState.Party
namespace Dalamud.Game.ClientState.Party;
/// <summary>
/// This collection represents the actors present in your party or alliance.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed unsafe partial class PartyList : IServiceType
{
/// <summary>
/// This collection represents the actors present in your party or alliance.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed unsafe partial class PartyList : IServiceType
{
private const int GroupLength = 8;
private const int AllianceLength = 20;
@ -155,13 +155,13 @@ namespace Dalamud.Game.ClientState.Party
return new PartyMember(address);
}
}
}
/// <summary>
/// This collection represents the party members present in your party or alliance.
/// </summary>
public sealed partial class PartyList : IReadOnlyCollection<PartyMember>
{
/// <summary>
/// This collection represents the party members present in your party or alliance.
/// </summary>
public sealed partial class PartyList : IReadOnlyCollection<PartyMember>
{
/// <inheritdoc/>
int IReadOnlyCollection<PartyMember>.Count => this.Length;
@ -182,5 +182,4 @@ namespace Dalamud.Game.ClientState.Party
/// <inheritdoc/>
IEnumerator IEnumerable.GetEnumerator() => this.GetEnumerator();
}
}

View file

@ -8,13 +8,13 @@ using Dalamud.Game.ClientState.Statuses;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Memory;
namespace Dalamud.Game.ClientState.Party
namespace Dalamud.Game.ClientState.Party;
/// <summary>
/// This class represents a party member in the group manager.
/// </summary>
public unsafe class PartyMember
{
/// <summary>
/// This class represents a party member in the group manager.
/// </summary>
public unsafe class PartyMember
{
/// <summary>
/// Initializes a new instance of the <see cref="PartyMember"/> class.
/// </summary>
@ -108,5 +108,4 @@ namespace Dalamud.Game.ClientState.Party
public byte Level => this.Struct->Level;
private FFXIVClientStructs.FFXIV.Client.Game.Group.PartyMember* Struct => (FFXIVClientStructs.FFXIV.Client.Game.Group.PartyMember*)this.Address;
}
}

View file

@ -1,14 +1,14 @@
using Dalamud.Data;
using Lumina.Excel;
namespace Dalamud.Game.ClientState.Resolvers
namespace Dalamud.Game.ClientState.Resolvers;
/// <summary>
/// This object resolves a rowID within an Excel sheet.
/// </summary>
/// <typeparam name="T">The type of Lumina sheet to resolve.</typeparam>
public class ExcelResolver<T> where T : ExcelRow
{
/// <summary>
/// This object resolves a rowID within an Excel sheet.
/// </summary>
/// <typeparam name="T">The type of Lumina sheet to resolve.</typeparam>
public class ExcelResolver<T> where T : ExcelRow
{
/// <summary>
/// Initializes a new instance of the <see cref="ExcelResolver{T}"/> class.
/// </summary>
@ -34,5 +34,4 @@ namespace Dalamud.Game.ClientState.Resolvers
/// <param name="language">The language.</param>
/// <returns>The ExcelRow in the specified language.</returns>
public T? GetWithLanguage(ClientLanguage language) => Service<DataManager>.Get().GetExcelSheet<T>(language)?.GetRow(this.Id);
}
}

View file

@ -4,13 +4,13 @@ using Dalamud.Game.ClientState.Objects;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Game.ClientState.Resolvers;
namespace Dalamud.Game.ClientState.Statuses
namespace Dalamud.Game.ClientState.Statuses;
/// <summary>
/// This class represents a status effect an actor is afflicted by.
/// </summary>
public unsafe class Status
{
/// <summary>
/// This class represents a status effect an actor is afflicted by.
/// </summary>
public unsafe class Status
{
/// <summary>
/// Initializes a new instance of the <see cref="Status"/> class.
/// </summary>
@ -64,5 +64,4 @@ namespace Dalamud.Game.ClientState.Statuses
public GameObject? SourceObject => Service<ObjectTable>.Get().SearchById(this.SourceId);
private FFXIVClientStructs.FFXIV.Client.Game.Status* Struct => (FFXIVClientStructs.FFXIV.Client.Game.Status*)this.Address;
}
}

View file

@ -3,13 +3,13 @@ using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace Dalamud.Game.ClientState.Statuses
namespace Dalamud.Game.ClientState.Statuses;
/// <summary>
/// This collection represents the status effects an actor is afflicted by.
/// </summary>
public sealed unsafe partial class StatusList
{
/// <summary>
/// This collection represents the status effects an actor is afflicted by.
/// </summary>
public sealed unsafe partial class StatusList
{
private const int StatusListLength = 30;
/// <summary>
@ -112,13 +112,13 @@ namespace Dalamud.Game.ClientState.Statuses
return (IntPtr)(this.Struct->Status + (index * StatusSize));
}
}
}
/// <summary>
/// This collection represents the status effects an actor is afflicted by.
/// </summary>
public sealed partial class StatusList : IReadOnlyCollection<Status>, ICollection
{
/// <summary>
/// This collection represents the status effects an actor is afflicted by.
/// </summary>
public sealed partial class StatusList : IReadOnlyCollection<Status>, ICollection
{
/// <inheritdoc/>
int IReadOnlyCollection<Status>.Count => this.Length;
@ -157,5 +157,4 @@ namespace Dalamud.Game.ClientState.Statuses
index++;
}
}
}
}

View file

@ -1,13 +1,13 @@
using System.Runtime.InteropServices;
namespace Dalamud.Game.ClientState.Structs
namespace Dalamud.Game.ClientState.Structs;
/// <summary>
/// Native memory representation of a FFXIV status effect.
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct StatusEffect
{
/// <summary>
/// Native memory representation of a FFXIV status effect.
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct StatusEffect
{
/// <summary>
/// The effect ID.
/// </summary>
@ -32,5 +32,4 @@ namespace Dalamud.Game.ClientState.Structs
/// The ID of the actor that caused this effect.
/// </summary>
public int OwnerId;
}
}

View file

@ -1,12 +1,12 @@
using System.Reflection;
namespace Dalamud.Game.Command
namespace Dalamud.Game.Command;
/// <summary>
/// This class describes a registered command.
/// </summary>
public sealed class CommandInfo
{
/// <summary>
/// This class describes a registered command.
/// </summary>
public sealed class CommandInfo
{
/// <summary>
/// Initializes a new instance of the <see cref="CommandInfo"/> class.
/// Create a new CommandInfo with the provided handler.
@ -44,5 +44,4 @@ namespace Dalamud.Game.Command
/// Gets or sets the name of the assembly responsible for this command.
/// </summary>
internal string LoaderAssemblyName { get; set; } = string.Empty;
}
}

View file

@ -10,16 +10,16 @@ using Dalamud.IoC;
using Dalamud.IoC.Internal;
using Serilog;
namespace Dalamud.Game.Command
namespace Dalamud.Game.Command;
/// <summary>
/// This class manages registered in-game slash commands.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class CommandManager : IServiceType, IDisposable
{
/// <summary>
/// This class manages registered in-game slash commands.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class CommandManager : IServiceType, IDisposable
{
private readonly Dictionary<string, CommandInfo> commandMap = new();
private readonly Regex commandRegexEn = new(@"^The command (?<command>.+) does not exist\.$", RegexOptions.Compiled);
private readonly Regex commandRegexJp = new(@"^そのコマンドはありません。: (?<command>.+)$", RegexOptions.Compiled);
@ -179,5 +179,4 @@ namespace Dalamud.Game.Command
}
}
}
}
}

View file

@ -15,16 +15,16 @@ using Dalamud.IoC.Internal;
using Dalamud.Utility;
using Serilog;
namespace Dalamud.Game
namespace Dalamud.Game;
/// <summary>
/// This class represents the Framework of the native game client and grants access to various subsystems.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class Framework : IDisposable, IServiceType
{
/// <summary>
/// This class represents the Framework of the native game client and grants access to various subsystems.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class Framework : IDisposable, IServiceType
{
private static Stopwatch statsStopwatch = new();
private readonly Stopwatch updateStopwatch = new();
@ -550,5 +550,4 @@ namespace Dalamud.Game
this.TaskCompletionSource.SetCanceled();
}
}
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game
namespace Dalamud.Game;
/// <summary>
/// The address resolver for the <see cref="Framework"/> class.
/// </summary>
public sealed unsafe class FrameworkAddressResolver : BaseAddressResolver
{
/// <summary>
/// The address resolver for the <see cref="Framework"/> class.
/// </summary>
public sealed unsafe class FrameworkAddressResolver : BaseAddressResolver
{
/// <summary>
/// Gets the base address of the Framework object.
/// </summary>
@ -45,5 +45,4 @@ namespace Dalamud.Game
this.TickAddress =
scanner.ScanText("40 53 48 83 EC 20 FF 81 ?? ?? ?? ?? 48 8B D9 48 8D 4C 24 ??");
}
}
}

View file

@ -5,20 +5,20 @@ using System.Text;
using Newtonsoft.Json;
namespace Dalamud.Game
namespace Dalamud.Game;
/// <summary>
/// A GameVersion object contains give hierarchical numeric components: year, month,
/// day, major and minor. All components may be unspecified, which is represented
/// internally as a -1. By definition, an unspecified component matches anything
/// (both unspecified and specified), and an unspecified component is "less than" any
/// specified component. It will also equal the string "any" if all components are
/// unspecified. The value can be retrieved from the ffxivgame.ver file in your game
/// installation directory.
/// </summary>
[Serializable]
public sealed class GameVersion : ICloneable, IComparable, IComparable<GameVersion>, IEquatable<GameVersion>
{
/// <summary>
/// A GameVersion object contains give hierarchical numeric components: year, month,
/// day, major and minor. All components may be unspecified, which is represented
/// internally as a -1. By definition, an unspecified component matches anything
/// (both unspecified and specified), and an unspecified component is "less than" any
/// specified component. It will also equal the string "any" if all components are
/// unspecified. The value can be retrieved from the ffxivgame.ver file in your game
/// installation directory.
/// </summary>
[Serializable]
public sealed class GameVersion : ICloneable, IComparable, IComparable<GameVersion>, IEquatable<GameVersion>
{
private static readonly GameVersion AnyVersion = new();
/// <summary>
@ -405,5 +405,4 @@ namespace Dalamud.Game
.Append(string.Format("{0:D4}", this.Minor == -1 ? 0 : this.Minor))
.ToString();
}
}
}

View file

@ -2,13 +2,13 @@ using System;
using Newtonsoft.Json;
namespace Dalamud.Game
namespace Dalamud.Game;
/// <summary>
/// Converts a <see cref="GameVersion"/> to and from a string (e.g. <c>"2010.01.01.1234.5678"</c>).
/// </summary>
public sealed class GameVersionConverter : JsonConverter
{
/// <summary>
/// Converts a <see cref="GameVersion"/> to and from a string (e.g. <c>"2010.01.01.1234.5678"</c>).
/// </summary>
public sealed class GameVersionConverter : JsonConverter
{
/// <summary>
/// Writes the JSON representation of the object.
/// </summary>
@ -76,5 +76,4 @@ namespace Dalamud.Game
{
return objectType == typeof(GameVersion);
}
}
}

View file

@ -14,16 +14,16 @@ using Dalamud.IoC.Internal;
using Dalamud.Utility;
using Serilog;
namespace Dalamud.Game.Gui
namespace Dalamud.Game.Gui;
/// <summary>
/// This class handles interacting with the native chat UI.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class ChatGui : IDisposable, IServiceType
{
/// <summary>
/// This class handles interacting with the native chat UI.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class ChatGui : IDisposable, IServiceType
{
private readonly ChatGuiAddressResolver address;
private readonly Queue<XivChatEntry> chatQueue = new();
@ -455,5 +455,4 @@ namespace Dalamud.Game.Gui
Log.Error(ex, "Exception on InteractableLinkClicked hook");
}
}
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.Gui
namespace Dalamud.Game.Gui;
/// <summary>
/// The address resolver for the <see cref="ChatGui"/> class.
/// </summary>
public sealed class ChatGuiAddressResolver : BaseAddressResolver
{
/// <summary>
/// The address resolver for the <see cref="ChatGui"/> class.
/// </summary>
public sealed class ChatGuiAddressResolver : BaseAddressResolver
{
/// <summary>
/// Gets the address of the native PrintMessage method.
/// </summary>
@ -100,5 +100,4 @@ namespace Dalamud.Game.Gui
this.InteractableLinkClicked = sig.ScanText("E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 80 BB ?? ?? ?? ?? ?? 0F 85 ?? ?? ?? ?? 80 BB") + 9;
}
}
}

View file

@ -10,16 +10,16 @@ using FFXIVClientStructs.FFXIV.Client.System.Memory;
using FFXIVClientStructs.FFXIV.Component.GUI;
using Serilog;
namespace Dalamud.Game.Gui.Dtr
namespace Dalamud.Game.Gui.Dtr;
/// <summary>
/// Class used to interface with the server info bar.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed unsafe class DtrBar : IDisposable, IServiceType
{
/// <summary>
/// Class used to interface with the server info bar.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed unsafe class DtrBar : IDisposable, IServiceType
{
private const uint BaseNodeId = 1000;
[ServiceManager.ServiceDependency]
@ -319,5 +319,4 @@ namespace Dalamud.Game.Gui.Dtr
return newTextNode;
}
}
}

View file

@ -3,13 +3,13 @@
using Dalamud.Game.Text.SeStringHandling;
using FFXIVClientStructs.FFXIV.Component.GUI;
namespace Dalamud.Game.Gui.Dtr
namespace Dalamud.Game.Gui.Dtr;
/// <summary>
/// Class representing an entry in the server info bar.
/// </summary>
public sealed unsafe class DtrBarEntry : IDisposable
{
/// <summary>
/// Class representing an entry in the server info bar.
/// </summary>
public sealed unsafe class DtrBarEntry : IDisposable
{
private bool shownBacking = true;
private SeString? textBacking = null;
@ -89,5 +89,4 @@ namespace Dalamud.Game.Gui.Dtr
{
this.Remove();
}
}
}

View file

@ -9,16 +9,16 @@ using Dalamud.IoC.Internal;
using Dalamud.Memory;
using Serilog;
namespace Dalamud.Game.Gui.FlyText
namespace Dalamud.Game.Gui.FlyText;
/// <summary>
/// This class facilitates interacting with and creating native in-game "fly text".
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class FlyTextGui : IDisposable, IServiceType
{
/// <summary>
/// This class facilitates interacting with and creating native in-game "fly text".
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed class FlyTextGui : IDisposable, IServiceType
{
/// <summary>
/// The native function responsible for adding fly text to the UI. See <see cref="FlyTextGuiAddressResolver.AddFlyText"/>.
/// </summary>
@ -307,5 +307,4 @@ namespace Dalamud.Game.Gui.FlyText
return retVal;
}
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.Gui.FlyText
namespace Dalamud.Game.Gui.FlyText;
/// <summary>
/// An address resolver for the <see cref="FlyTextGui"/> class.
/// </summary>
public class FlyTextGuiAddressResolver : BaseAddressResolver
{
/// <summary>
/// An address resolver for the <see cref="FlyTextGui"/> class.
/// </summary>
public class FlyTextGuiAddressResolver : BaseAddressResolver
{
/// <summary>
/// Gets the address of the native AddFlyText method, which occurs
/// when the game adds fly text elements to the UI. Multiple fly text
@ -28,5 +28,4 @@ namespace Dalamud.Game.Gui.FlyText
this.AddFlyText = sig.ScanText("E8 ?? ?? ?? ?? FF C7 41 D1 C7");
this.CreateFlyText = sig.ScanText("48 89 74 24 ?? 48 89 7C 24 ?? 41 56 48 83 EC 40 48 63 FA");
}
}
}

View file

@ -1,11 +1,11 @@
namespace Dalamud.Game.Gui.FlyText
namespace Dalamud.Game.Gui.FlyText;
/// <summary>
/// Enum of FlyTextKind values. Members suffixed with
/// a number seem to be a duplicate, or perform duplicate behavior.
/// </summary>
public enum FlyTextKind : int
{
/// <summary>
/// Enum of FlyTextKind values. Members suffixed with
/// a number seem to be a duplicate, or perform duplicate behavior.
/// </summary>
public enum FlyTextKind : int
{
/// <summary>
/// Val1 in serif font, Text2 in sans-serif as subtitle.
/// Used for autos and incoming DoTs.
@ -294,5 +294,4 @@ namespace Dalamud.Game.Gui.FlyText
/// Does a large bounce effect on appearance. Does not scroll up or down the screen.
/// </summary>
CriticalDirectHit2 = 54,
}
}

View file

@ -14,16 +14,16 @@ using FFXIVClientStructs.FFXIV.Component.GUI;
using ImGuiNET;
using Serilog;
namespace Dalamud.Game.Gui
namespace Dalamud.Game.Gui;
/// <summary>
/// A class handling many aspects of the in-game UI.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed unsafe class GameGui : IDisposable, IServiceType
{
/// <summary>
/// A class handling many aspects of the in-game UI.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
[ServiceManager.BlockingEarlyLoadedService]
public sealed unsafe class GameGui : IDisposable, IServiceType
{
private readonly GameGuiAddressResolver address;
private readonly GetMatrixSingletonDelegate getMatrixSingleton;
@ -572,5 +572,4 @@ namespace Dalamud.Game.Gui
return thisPtr; // this function shouldn't need to return but the original asm moves this into rax before returning so be safe?
}
}
}

View file

@ -1,12 +1,12 @@
using System;
namespace Dalamud.Game.Gui
namespace Dalamud.Game.Gui;
/// <summary>
/// The address resolver for the <see cref="GameGui"/> class.
/// </summary>
internal sealed class GameGuiAddressResolver : BaseAddressResolver
{
/// <summary>
/// The address resolver for the <see cref="GameGui"/> class.
/// </summary>
internal sealed class GameGuiAddressResolver : BaseAddressResolver
{
/// <summary>
/// Gets the base address of the native GuiManager class.
/// </summary>
@ -76,5 +76,4 @@ namespace Dalamud.Game.Gui
this.ToggleUiHide = sig.ScanText("48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 0F B6 B9 ?? ?? ?? ?? B8 ?? ?? ?? ??");
this.Utf8StringFromSequence = sig.ScanText("48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 48 8D 41 22 66 C7 41 ?? ?? ?? 48 89 01 49 8B D8");
}
}
}

Some files were not shown because too many files have changed in this diff Show more