Un-whether-or-not the codebase

This commit is contained in:
goaaats 2025-04-25 22:48:26 +02:00
parent f4102db488
commit 731d7e0f6e
59 changed files with 249 additions and 249 deletions

View file

@ -66,12 +66,12 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public List<string>? BadWords { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not the taskbar should flash once a duty is found.
/// Gets or sets a value indicating whether the taskbar should flash once a duty is found.
/// </summary>
public bool DutyFinderTaskbarFlash { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not a message should be sent in chat once a duty is found.
/// Gets or sets a value indicating whether a message should be sent in chat once a duty is found.
/// </summary>
public bool DutyFinderChatMessage { get; set; } = true;
@ -101,7 +101,7 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public XivChatType GeneralChatType { get; set; } = XivChatType.Debug;
/// <summary>
/// Gets or sets a value indicating whether or not plugin testing builds should be shown.
/// Gets or sets a value indicating whether plugin testing builds should be shown.
/// </summary>
public bool DoPluginTest { get; set; } = false;
@ -116,7 +116,7 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public List<ThirdPartyRepoSettings> ThirdRepoList { get; set; } = new();
/// <summary>
/// Gets or sets a value indicating whether or not a disclaimer regarding third-party repos has been dismissed.
/// Gets or sets a value indicating whether a disclaimer regarding third-party repos has been dismissed.
/// </summary>
public bool? ThirdRepoSpeedbumpDismissed { get; set; } = null;
@ -174,38 +174,38 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public float ImeStateIndicatorOpacity { get; set; } = 1f;
/// <summary>
/// Gets or sets a value indicating whether or not plugin UI should be hidden.
/// Gets or sets a value indicating whether plugin UI should be hidden.
/// </summary>
public bool ToggleUiHide { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not plugin UI should be hidden during cutscenes.
/// Gets or sets a value indicating whether plugin UI should be hidden during cutscenes.
/// </summary>
public bool ToggleUiHideDuringCutscenes { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not plugin UI should be hidden during GPose.
/// Gets or sets a value indicating whether plugin UI should be hidden during GPose.
/// </summary>
public bool ToggleUiHideDuringGpose { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not a message containing Dalamud's current version and the number of loaded plugins should be sent at login.
/// Gets or sets a value indicating whether a message containing Dalamud's current version and the number of loaded plugins should be sent at login.
/// </summary>
public bool PrintDalamudWelcomeMsg { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not a message containing detailed plugin information should be sent at login.
/// Gets or sets a value indicating whether a message containing detailed plugin information should be sent at login.
/// </summary>
public bool PrintPluginsWelcomeMsg { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not plugins should be auto-updated.
/// Gets or sets a value indicating whether plugins should be auto-updated.
/// </summary>
[Obsolete("Use AutoUpdateBehavior instead.")]
public bool AutoUpdatePlugins { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not Dalamud should add buttons to the system menu.
/// Gets or sets a value indicating whether Dalamud should add buttons to the system menu.
/// </summary>
public bool DoButtonsSystemMenu { get; set; } = true;
@ -220,12 +220,12 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public bool LogSynchronously { get; set; } = false;
/// <summary>
/// Gets or sets a value indicating whether or not the debug log should scroll automatically.
/// Gets or sets a value indicating whether the debug log should scroll automatically.
/// </summary>
public bool LogAutoScroll { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not the debug log should open at startup.
/// Gets or sets a value indicating whether the debug log should open at startup.
/// </summary>
public bool LogOpenAtStartup { get; set; }
@ -240,29 +240,29 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public List<string> LogCommandHistory { get; set; } = new();
/// <summary>
/// Gets or sets a value indicating whether or not the dev bar should open at startup.
/// Gets or sets a value indicating whether the dev bar should open at startup.
/// </summary>
public bool DevBarOpenAtStartup { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not ImGui asserts should be enabled at startup.
/// Gets or sets a value indicating whether ImGui asserts should be enabled at startup.
/// </summary>
public bool? ImGuiAssertsEnabledAtStartup { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not docking should be globally enabled in ImGui.
/// Gets or sets a value indicating whether docking should be globally enabled in ImGui.
/// </summary>
public bool IsDocking { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not plugin user interfaces should trigger sound effects.
/// Gets or sets a value indicating whether plugin user interfaces should trigger sound effects.
/// This setting is effected by the in-game "System Sounds" option and volume.
/// </summary>
[SuppressMessage("ReSharper", "InconsistentNaming", Justification = "ABI")]
public bool EnablePluginUISoundEffects { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not an additional button allowing pinning and clickthrough options should be shown
/// Gets or sets a value indicating whether an additional button allowing pinning and clickthrough options should be shown
/// on plugin title bars when using the Window System.
/// </summary>
public bool EnablePluginUiAdditionalOptions { get; set; } = true;
@ -273,17 +273,17 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public bool IsDisableViewport { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not navigation via a gamepad should be globally enabled in ImGui.
/// Gets or sets a value indicating whether navigation via a gamepad should be globally enabled in ImGui.
/// </summary>
public bool IsGamepadNavigationEnabled { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not focus management is enabled.
/// Gets or sets a value indicating whether focus management is enabled.
/// </summary>
public bool IsFocusManagementEnabled { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not the anti-anti-debug check is enabled on startup.
/// Gets or sets a value indicating whether the anti-anti-debug check is enabled on startup.
/// </summary>
public bool IsAntiAntiDebugEnabled { get; set; } = false;
@ -298,7 +298,7 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public string? DalamudBetaKind { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not any plugin should be loaded when the game is started.
/// Gets or sets a value indicating whether any plugin should be loaded when the game is started.
/// It is reset immediately when read.
/// </summary>
public bool PluginSafeMode { get; set; }
@ -310,7 +310,7 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public int? PluginWaitBeforeFree { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not crashes during shutdown should be reported.
/// Gets or sets a value indicating whether crashes during shutdown should be reported.
/// </summary>
public bool ReportShutdownCrashes { get; set; }
@ -342,12 +342,12 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public ProfileModel? DefaultProfile { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not profiles are enabled.
/// Gets or sets a value indicating whether profiles are enabled.
/// </summary>
public bool ProfilesEnabled { get; set; } = false;
/// <summary>
/// Gets or sets a value indicating whether or not the user has seen the profiles tutorial.
/// Gets or sets a value indicating whether the user has seen the profiles tutorial.
/// </summary>
public bool ProfilesHasSeenTutorial { get; set; } = false;
@ -391,7 +391,7 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
public bool? ReduceMotions { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not market board data should be uploaded.
/// Gets or sets a value indicating whether market board data should be uploaded.
/// </summary>
public bool IsMbCollect { get; set; } = true;
@ -427,7 +427,7 @@ internal sealed class DalamudConfiguration : IInternalDisposableService
}
/// <summary>
/// Gets or sets a value indicating whether or not to show info on dev bar.
/// Gets or sets a value indicating whether to show info on dev bar.
/// </summary>
public bool ShowDevBarInfo { get; set; } = true;

View file

@ -21,7 +21,7 @@ internal class EnvironmentConfiguration
public static bool DalamudForceMinHook { get; } = GetEnvironmentVariable("DALAMUD_FORCE_MINHOOK");
/// <summary>
/// Gets a value indicating whether or not Dalamud context menus should be disabled.
/// Gets a value indicating whether Dalamud context menus should be disabled.
/// </summary>
public static bool DalamudDoContextMenu { get; } = GetEnvironmentVariable("DALAMUD_ENABLE_CONTEXTMENU");

View file

@ -11,13 +11,13 @@ public interface IConsoleEntry
/// Gets the name of the entry.
/// </summary>
public string Name { get; }
/// <summary>
/// Gets the description of the entry.
/// </summary>
public string Description { get; }
}
/// <summary>
/// Interface representing a command in the console.
/// </summary>
@ -27,7 +27,7 @@ public interface IConsoleCommand : IConsoleEntry
/// Execute this command.
/// </summary>
/// <param name="arguments">Arguments to invoke the entry with.</param>
/// <returns>Whether or not execution succeeded.</returns>
/// <returns>Whether execution succeeded.</returns>
public bool Invoke(IEnumerable<object> arguments);
}

View file

@ -18,9 +18,9 @@ namespace Dalamud.Console;
internal partial class ConsoleManager : IServiceType
{
private static readonly ModuleLog Log = new("CON");
private Dictionary<string, IConsoleEntry> entries = new();
/// <summary>
/// Initializes a new instance of the <see cref="ConsoleManager"/> class.
/// </summary>
@ -29,17 +29,17 @@ internal partial class ConsoleManager : IServiceType
{
this.AddCommand("toggle", "Toggle a boolean variable.", this.OnToggleVariable);
}
/// <summary>
/// Event that is triggered when a command is processed. Return true to stop the command from being processed any further.
/// </summary>
public event Func<string, bool>? Invoke;
/// <summary>
/// Gets a read-only dictionary of console entries.
/// </summary>
public IReadOnlyDictionary<string, IConsoleEntry> Entries => this.entries;
/// <summary>
/// Add a command to the console.
/// </summary>
@ -53,13 +53,13 @@ internal partial class ConsoleManager : IServiceType
ArgumentNullException.ThrowIfNull(name);
ArgumentNullException.ThrowIfNull(description);
ArgumentNullException.ThrowIfNull(func);
if (this.FindEntry(name) != null)
throw new InvalidOperationException($"Entry '{name}' already exists.");
var command = new ConsoleCommand(name, description, func);
this.entries.Add(name, command);
return command;
}
@ -77,14 +77,14 @@ internal partial class ConsoleManager : IServiceType
ArgumentNullException.ThrowIfNull(name);
ArgumentNullException.ThrowIfNull(description);
Traits.ThrowIfTIsNullableAndNull(defaultValue);
if (this.FindEntry(name) != null)
throw new InvalidOperationException($"Entry '{name}' already exists.");
var variable = new ConsoleVariable<T>(name, description);
variable.Value = defaultValue;
this.entries.Add(name, variable);
return variable;
}
@ -98,11 +98,11 @@ internal partial class ConsoleManager : IServiceType
{
ArgumentNullException.ThrowIfNull(name);
ArgumentNullException.ThrowIfNull(alias);
var target = this.FindEntry(name);
if (target == null)
throw new EntryNotFoundException(name);
if (this.FindEntry(alias) != null)
throw new InvalidOperationException($"Entry '{alias}' already exists.");
@ -135,21 +135,21 @@ internal partial class ConsoleManager : IServiceType
public T GetVariable<T>(string name)
{
ArgumentNullException.ThrowIfNull(name);
var entry = this.FindEntry(name);
if (entry is ConsoleVariable<T> variable)
return variable.Value;
if (entry is ConsoleVariable)
throw new InvalidOperationException($"Variable '{name}' is not of type {typeof(T).Name}.");
if (entry is null)
throw new EntryNotFoundException(name);
throw new InvalidOperationException($"Command '{name}' is not a variable.");
}
/// <summary>
/// Set the value of a variable.
/// </summary>
@ -162,18 +162,18 @@ internal partial class ConsoleManager : IServiceType
{
ArgumentNullException.ThrowIfNull(name);
Traits.ThrowIfTIsNullableAndNull(value);
var entry = this.FindEntry(name);
if (entry is ConsoleVariable<T> variable)
variable.Value = value;
if (entry is ConsoleVariable)
throw new InvalidOperationException($"Variable '{name}' is not of type {typeof(T).Name}.");
if (entry is null)
throw new EntryNotFoundException(name);
throw new EntryNotFoundException(name);
throw new InvalidOperationException($"Command '{name}' is not a variable.");
}
@ -181,16 +181,16 @@ internal partial class ConsoleManager : IServiceType
/// Process a console command.
/// </summary>
/// <param name="command">The command to process.</param>
/// <returns>Whether or not the command was successfully processed.</returns>
/// <returns>Whether the command was successfully processed.</returns>
public bool ProcessCommand(string command)
{
if (this.Invoke?.Invoke(command) == true)
return true;
var matches = GetCommandParsingRegex().Matches(command);
if (matches.Count == 0)
return false;
var entryName = matches[0].Value;
if (string.IsNullOrEmpty(entryName) || entryName.Any(char.IsWhiteSpace))
{
@ -204,7 +204,7 @@ internal partial class ConsoleManager : IServiceType
Log.Error("Command {CommandName} not found", entryName);
return false;
}
var parsedArguments = new List<object>();
if (entry.ValidArguments != null)
@ -217,13 +217,13 @@ internal partial class ConsoleManager : IServiceType
PrintUsage(entry);
return false;
}
var argumentToMatch = entry.ValidArguments[i - 1];
var group = matches[i];
if (!group.Success)
continue;
var value = group.Value;
if (string.IsNullOrEmpty(value))
continue;
@ -262,15 +262,15 @@ internal partial class ConsoleManager : IServiceType
throw new Exception("Unhandled argument type.");
}
}
if (parsedArguments.Count != entry.ValidArguments.Count)
{
// Either fill in the default values or error out
for (var i = parsedArguments.Count; i < entry.ValidArguments.Count; i++)
{
var argument = entry.ValidArguments[i];
// If the default value is DBNull, we need to error out as that means it was not specified
if (argument.DefaultValue == DBNull.Value)
{
@ -281,7 +281,7 @@ internal partial class ConsoleManager : IServiceType
parsedArguments.Add(argument.DefaultValue);
}
if (parsedArguments.Count != entry.ValidArguments.Count)
{
Log.Error("Too many arguments for command {CommandName}", entryName);
@ -302,20 +302,20 @@ internal partial class ConsoleManager : IServiceType
return entry.Invoke(parsedArguments);
}
[GeneratedRegex("""("[^"]+"|[^\s"]+)""", RegexOptions.Compiled)]
private static partial Regex GetCommandParsingRegex();
private static void PrintUsage(ConsoleEntry entry, bool error = true)
{
Log.WriteLog(
error ? LogEventLevel.Error : LogEventLevel.Information,
error ? LogEventLevel.Error : LogEventLevel.Information,
"Usage: {CommandName} {Arguments}",
null,
entry.Name,
string.Join(" ", entry.ValidArguments?.Select(x => $"<{x.Type.ToString().ToLowerInvariant()}>") ?? Enumerable.Empty<string>()));
}
private ConsoleEntry? FindEntry(string name)
{
return this.entries.TryGetValue(name, out var entry) ? entry as ConsoleEntry : null;
@ -333,7 +333,7 @@ internal partial class ConsoleManager : IServiceType
return true;
}
private static class Traits
{
public static void ThrowIfTIsNullableAndNull<T>(T? argument, [CallerArgumentExpression("argument")] string? paramName = null)
@ -364,17 +364,17 @@ internal partial class ConsoleManager : IServiceType
/// <inheritdoc/>
public string Description { get; }
/// <summary>
/// Gets or sets a list of valid argument types for this console entry.
/// </summary>
public IReadOnlyList<ArgumentInfo>? ValidArguments { get; protected set; }
/// <summary>
/// Execute this command.
/// </summary>
/// <param name="arguments">Arguments to invoke the entry with.</param>
/// <returns>Whether or not execution succeeded.</returns>
/// <returns>Whether execution succeeded.</returns>
public abstract bool Invoke(IEnumerable<object> arguments);
/// <summary>
@ -388,19 +388,19 @@ internal partial class ConsoleManager : IServiceType
{
if (type == typeof(string))
return new ArgumentInfo(ConsoleArgumentType.String, defaultValue);
if (type == typeof(int))
return new ArgumentInfo(ConsoleArgumentType.Integer, defaultValue);
if (type == typeof(float))
return new ArgumentInfo(ConsoleArgumentType.Float, defaultValue);
if (type == typeof(bool))
return new ArgumentInfo(ConsoleArgumentType.Bool, defaultValue);
throw new ArgumentException($"Invalid argument type: {type.Name}");
}
public record ArgumentInfo(ConsoleArgumentType Type, object? DefaultValue);
}
@ -436,7 +436,7 @@ internal partial class ConsoleManager : IServiceType
private class ConsoleCommand : ConsoleEntry, IConsoleCommand
{
private readonly Delegate func;
/// <summary>
/// Initializes a new instance of the <see cref="ConsoleCommand"/> class.
/// </summary>
@ -447,17 +447,17 @@ internal partial class ConsoleManager : IServiceType
: base(name, description)
{
this.func = func;
if (func.Method.ReturnType != typeof(bool))
throw new ArgumentException("Console command functions must return a boolean indicating success.");
var validArguments = new List<ArgumentInfo>();
foreach (var parameterInfo in func.Method.GetParameters())
{
var paraT = parameterInfo.ParameterType;
validArguments.Add(TypeToArgument(paraT, parameterInfo.DefaultValue));
}
this.ValidArguments = validArguments;
}
@ -491,7 +491,7 @@ internal partial class ConsoleManager : IServiceType
{
this.ValidArguments = new List<ArgumentInfo> { TypeToArgument(typeof(T), null) };
}
/// <inheritdoc/>
public T Value { get; set; }
@ -507,16 +507,16 @@ internal partial class ConsoleManager : IServiceType
{
this.Value = (T)(object)!boolValue;
}
Log.WriteLog(LogEventLevel.Information, "{VariableName} = {VariableValue}", null, this.Name, this.Value);
return true;
}
if (first.GetType() != typeof(T))
throw new ArgumentException($"Console variable must be set with an argument of type {typeof(T).Name}.");
this.Value = (T)first;
return true;
}
}

View file

@ -11,7 +11,7 @@ namespace Dalamud.Game.Addon.Lifecycle;
internal class AddonSetupHook<T> : IDisposable where T : Delegate
{
private readonly Reloaded.Hooks.AsmHook asmHook;
private T? detour;
private bool activated;
@ -30,22 +30,22 @@ internal class AddonSetupHook<T> : IDisposable where T : Delegate
"use64",
$"mov r9, 0x{detourPtr:X8}",
};
var opt = new AsmHookOptions
{
PreferRelativeJump = true,
Behaviour = Reloaded.Hooks.Definitions.Enums.AsmHookBehaviour.DoNotExecuteOriginal,
MaxOpcodeSize = 5,
};
this.asmHook = new Reloaded.Hooks.AsmHook(code, (nuint)address, opt);
}
/// <summary>
/// Gets a value indicating whether or not the hook is enabled.
/// Gets a value indicating whether the hook is enabled.
/// </summary>
public bool IsEnabled => this.asmHook.IsEnabled;
/// <summary>
/// Starts intercepting a call to the function.
/// </summary>
@ -57,7 +57,7 @@ internal class AddonSetupHook<T> : IDisposable where T : Delegate
this.asmHook.Activate();
return;
}
this.asmHook.Enable();
}

View file

@ -43,7 +43,7 @@ internal partial class ChatHandlers : IServiceType
public string? LastLink { get; private set; }
/// <summary>
/// Gets a value indicating whether or not auto-updates have already completed this session.
/// Gets a value indicating whether auto-updates have already completed this session.
/// </summary>
public bool IsAutoUpdateComplete { get; private set; }

View file

@ -70,13 +70,13 @@ public interface IFate : IEquatable<IFate>
byte Progress { get; }
/// <summary>
/// Gets a value indicating whether or not this <see cref="Fate"/> has a EXP bonus.
/// Gets a value indicating whether this <see cref="Fate"/> has a EXP bonus.
/// </summary>
[Obsolete($"Use {nameof(HasBonus)} instead")]
bool HasExpBonus { get; }
/// <summary>
/// Gets a value indicating whether or not this <see cref="Fate"/> has a bonus.
/// Gets a value indicating whether this <see cref="Fate"/> has a bonus.
/// </summary>
bool HasBonus { get; }

View file

@ -45,19 +45,19 @@ public unsafe class BLMGauge : JobGaugeBase<FFXIVClientStructs.FFXIV.Client.Game
public int AstralSoulStacks => this.Struct->AstralSoulStacks;
/// <summary>
/// Gets a value indicating whether or not the player is in Umbral Ice.
/// Gets a value indicating whether the player is in Umbral Ice.
/// </summary>
/// <returns><c>true</c> or <c>false</c>.</returns>
public bool InUmbralIce => this.Struct->ElementStance < 0;
/// <summary>
/// Gets a value indicating whether or not the player is in Astral fire.
/// Gets a value indicating whether the player is in Astral fire.
/// </summary>
/// <returns><c>true</c> or <c>false</c>.</returns>
public bool InAstralFire => this.Struct->ElementStance > 0;
/// <summary>
/// Gets a value indicating whether or not Enochian is active.
/// Gets a value indicating whether Enochian is active.
/// </summary>
/// <returns><c>true</c> or <c>false</c>.</returns>
public bool IsEnochianActive => this.Struct->EnochianActive;

View file

@ -14,7 +14,7 @@ public unsafe class PCTGauge : JobGaugeBase<PictomancerGauge>
/// Initializes a new instance of the <see cref="PCTGauge"/> class.
/// </summary>
/// <param name="address">Address of the job gauge.</param>
internal PCTGauge(IntPtr address)
internal PCTGauge(IntPtr address)
: base(address)
{
}
@ -28,29 +28,29 @@ public unsafe class PCTGauge : JobGaugeBase<PictomancerGauge>
/// Gets the amount of paint the player has.
/// </summary>
public byte Paint => Struct->Paint;
/// <summary>
/// Gets a value indicating whether or not a creature motif is drawn.
/// Gets a value indicating whether a creature motif is drawn.
/// </summary>
public bool CreatureMotifDrawn => Struct->CreatureMotifDrawn;
/// <summary>
/// Gets a value indicating whether or not a weapon motif is drawn.
/// Gets a value indicating whether a weapon motif is drawn.
/// </summary>
public bool WeaponMotifDrawn => Struct->WeaponMotifDrawn;
/// <summary>
/// Gets a value indicating whether or not a landscape motif is drawn.
/// Gets a value indicating whether a landscape motif is drawn.
/// </summary>
public bool LandscapeMotifDrawn => Struct->LandscapeMotifDrawn;
/// <summary>
/// Gets a value indicating whether or not a moogle portrait is ready.
/// Gets a value indicating whether a moogle portrait is ready.
/// </summary>
public bool MooglePortraitReady => Struct->MooglePortraitReady;
/// <summary>
/// Gets a value indicating whether or not a madeen portrait is ready.
/// Gets a value indicating whether a madeen portrait is ready.
/// </summary>
public bool MadeenPortraitReady => Struct->MadeenPortraitReady;

View file

@ -42,7 +42,7 @@ public enum CustomizeIndex
HairStyle = 0x06,
/// <summary>
/// Whether or not the character has hair highlights.
/// Whether the character has hair highlights.
/// </summary>
HasHighlights = 0x07, // negative to enable, positive to disable

View file

@ -269,7 +269,7 @@ internal sealed unsafe class DtrBar : IInternalDisposableService, IDtrBar
/// Check whether an entry with the specified title exists.
/// </summary>
/// <param name="title">The title to check for.</param>
/// <returns>Whether or not an entry with that title is registered.</returns>
/// <returns>Whether an entry with that title is registered.</returns>
internal bool HasEntry(string title)
{
var found = false;

View file

@ -39,7 +39,7 @@ public interface IReadOnlyDtrBarEntry
public bool Shown { get; }
/// <summary>
/// Gets a value indicating whether or not the user has hidden this entry from view through the Dalamud settings.
/// Gets a value indicating whether the user has hidden this entry from view through the Dalamud settings.
/// </summary>
public bool UserHidden { get; }

View file

@ -75,7 +75,7 @@ internal sealed unsafe class GameGui : IInternalDisposableService, IGameGui
}
// Hooked delegates
[UnmanagedFunctionPointer(CallingConvention.ThisCall)]
private delegate char HandleImmDelegate(IntPtr framework, char a2, byte a3);
@ -259,7 +259,7 @@ internal sealed unsafe class GameGui : IInternalDisposableService, IGameGui
/// <summary>
/// Indicates if the game is in the lobby scene (title screen, chara select, chara make, aesthetician etc.).
/// </summary>
/// <returns>A value indicating whether or not the game is in the lobby scene.</returns>
/// <returns>A value indicating whether the game is in the lobby scene.</returns>
internal bool IsInLobby() => RaptureAtkModule.Instance()->CurrentUIScene.StartsWith("LobbyMain"u8);
/// <summary>

View file

@ -6,7 +6,7 @@ namespace Dalamud.Game.Gui.NamePlate;
/// A part builder for constructing and setting quoted nameplate fields (i.e. free company tag and title).
/// </summary>
/// <param name="field">The field type which should be set.</param>
/// <param name="isFreeCompany">Whether or not this is a Free Company part.</param>
/// <param name="isFreeCompany">Whether this is a Free Company part.</param>
/// <remarks>
/// This class works as a lazy writer initialized with empty parts, where an empty part signifies no change should be
/// performed. Only after all handler processing is complete does it write out any parts which were set to the

View file

@ -21,7 +21,7 @@ internal class MarketBoardItemRequest
public uint Status { get; private set; }
/// <summary>
/// Gets a value indicating whether or not this request was successful.
/// Gets a value indicating whether this request was successful.
/// </summary>
public bool Ok => this.Status == 0;

View file

@ -248,7 +248,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
/// <summary>
/// Disposes of managed and unmanaged resources.
/// </summary>
/// <param name="shouldDispose">Whether or not to execute the disposal.</param>
/// <param name="shouldDispose">Whether to execute the disposal.</param>
protected void Dispose(bool shouldDispose)
{
if (!shouldDispose)

View file

@ -31,7 +31,7 @@ public class SigScanner : IDisposable, ISigScanner
/// <summary>
/// Initializes a new instance of the <see cref="SigScanner"/> class using the main module of the current process.
/// </summary>
/// <param name="doCopy">Whether or not to copy the module upon initialization for search operations to use, as to not get disturbed by possible hooks.</param>
/// <param name="doCopy">Whether to copy the module upon initialization for search operations to use, as to not get disturbed by possible hooks.</param>
/// <param name="cacheFile">File used to cached signatures.</param>
public SigScanner(bool doCopy = false, FileInfo? cacheFile = null)
: this(Process.GetCurrentProcess().MainModule!, doCopy, cacheFile)
@ -42,7 +42,7 @@ public class SigScanner : IDisposable, ISigScanner
/// Initializes a new instance of the <see cref="SigScanner"/> class.
/// </summary>
/// <param name="module">The ProcessModule to be used for scanning.</param>
/// <param name="doCopy">Whether or not to copy the module upon initialization for search operations to use, as to not get disturbed by possible hooks.</param>
/// <param name="doCopy">Whether to copy the module upon initialization for search operations to use, as to not get disturbed by possible hooks.</param>
/// <param name="cacheFile">File used to cached signatures.</param>
public SigScanner(ProcessModule module, bool doCopy = false, FileInfo? cacheFile = null)
{

View file

@ -19,7 +19,7 @@ internal class TargetSigScanner : SigScanner, IPublicDisposableService
/// <summary>
/// Initializes a new instance of the <see cref="TargetSigScanner"/> class.
/// </summary>
/// <param name="doCopy">Whether or not to copy the module upon initialization for search operations to use, as to not get disturbed by possible hooks.</param>
/// <param name="doCopy">Whether to copy the module upon initialization for search operations to use, as to not get disturbed by possible hooks.</param>
/// <param name="cacheFile">File used to cached signatures.</param>
public TargetSigScanner(bool doCopy = false, FileInfo? cacheFile = null)
: base(Process.GetCurrentProcess().MainModule!, doCopy, cacheFile)

View file

@ -31,7 +31,7 @@ public class ItemPayload : Payload
/// Creates a payload representing an interactable item link for the specified item.
/// </summary>
/// <param name="itemId">The id of the item.</param>
/// <param name="isHq">Whether or not the link should be for the high-quality variant of the item.</param>
/// <param name="isHq">Whether the link should be for the high-quality variant of the item.</param>
/// <param name="displayNameOverride">An optional name to include in the item link. Typically this should
/// be left as null, or set to the normal item name. Actual overrides are better done with the subsequent
/// TextPayload that is a part of a full item link in chat.</param>
@ -142,7 +142,7 @@ public class ItemPayload : Payload
: (RowRef)LuminaUtils.CreateRef<Item>(this.ItemId);
/// <summary>
/// Gets a value indicating whether or not this item link is for a high-quality version of the item.
/// Gets a value indicating whether this item link is for a high-quality version of the item.
/// </summary>
[JsonProperty]
public bool IsHQ => this.Kind == ItemKind.Hq;

View file

@ -46,7 +46,7 @@ public class UIForegroundPayload : Payload
public override PayloadType Type => PayloadType.UIForeground;
/// <summary>
/// Gets a value indicating whether or not this payload represents applying a foreground color, or disabling one.
/// Gets a value indicating whether this payload represents applying a foreground color, or disabling one.
/// </summary>
public bool IsEnabled => this.ColorKey != 0;

View file

@ -64,7 +64,7 @@ public class UIGlowPayload : Payload
}
/// <summary>
/// Gets a value indicating whether or not this payload represents applying a glow color, or disabling one.
/// Gets a value indicating whether this payload represents applying a glow color, or disabling one.
/// </summary>
public bool IsEnabled => this.ColorKey != 0;

View file

@ -113,7 +113,7 @@ public class SeStringBuilder
/// Add an item link to the builder.
/// </summary>
/// <param name="itemId">The item ID.</param>
/// <param name="isHq">Whether or not the item is high quality.</param>
/// <param name="isHq">Whether the item is high quality.</param>
/// <param name="itemNameOverride">Override for the item's name.</param>
/// <returns>The current builder.</returns>
public SeStringBuilder AddItemLink(uint itemId, bool isHq, string? itemNameOverride = null) =>

View file

@ -20,7 +20,7 @@ public sealed class AsmHook : IDisposable, IDalamudHook
private bool isEnabled = false;
private DynamicMethod statsMethod;
private Guid hookId = Guid.NewGuid();
/// <summary>
@ -89,7 +89,7 @@ public sealed class AsmHook : IDisposable, IDalamudHook
}
/// <summary>
/// Gets a value indicating whether or not the hook is enabled.
/// Gets a value indicating whether the hook is enabled.
/// </summary>
public bool IsEnabled
{
@ -101,7 +101,7 @@ public sealed class AsmHook : IDisposable, IDalamudHook
}
/// <summary>
/// Gets a value indicating whether or not the hook has been disposed.
/// Gets a value indicating whether the hook has been disposed.
/// </summary>
public bool IsDisposed { get; private set; }

View file

@ -59,23 +59,23 @@ public abstract class Hook<T> : IDalamudHook where T : Delegate
=> this.IsDisposed ? Marshal.GetDelegateForFunctionPointer<T>(this.address) : this.Original;
/// <summary>
/// Gets a value indicating whether or not the hook is enabled.
/// Gets a value indicating whether the hook is enabled.
/// </summary>
public virtual bool IsEnabled => throw new NotImplementedException();
/// <summary>
/// Gets a value indicating whether or not the hook has been disposed.
/// Gets a value indicating whether the hook has been disposed.
/// </summary>
public bool IsDisposed { get; private set; }
/// <inheritdoc/>
public virtual string BackendName => throw new NotImplementedException();
/// <summary>
/// Gets the unique GUID for this hook.
/// </summary>
protected Guid HookId { get; } = Guid.NewGuid();
/// <summary>
/// Remove a hook from the current process.
/// </summary>

View file

@ -11,12 +11,12 @@ public interface IDalamudHook : IDisposable
public IntPtr Address { get; }
/// <summary>
/// Gets a value indicating whether or not the hook is enabled.
/// Gets a value indicating whether the hook is enabled.
/// </summary>
public bool IsEnabled { get; }
/// <summary>
/// Gets a value indicating whether or not the hook is disposed.
/// Gets a value indicating whether the hook is disposed.
/// </summary>
public bool IsDisposed { get; }

View file

@ -53,7 +53,7 @@ internal class CallHook<T> : IDalamudHook where T : Delegate
}
/// <summary>
/// Gets a value indicating whether or not the hook is enabled.
/// Gets a value indicating whether the hook is enabled.
/// </summary>
public bool IsEnabled => this.asmHook.IsEnabled;

View file

@ -85,12 +85,12 @@ public abstract class Easing
public TimeSpan Duration { get; set; }
/// <summary>
/// Gets a value indicating whether or not the animation is running.
/// Gets a value indicating whether the animation is running.
/// </summary>
public bool IsRunning => this.animationTimer.IsRunning;
/// <summary>
/// Gets a value indicating whether or not the animation is done.
/// Gets a value indicating whether the animation is done.
/// </summary>
public bool IsDone => this.animationTimer.ElapsedMilliseconds > this.Duration.TotalMilliseconds;

View file

@ -23,7 +23,7 @@ internal class DriveListLoader
public IReadOnlyList<DriveInfo> Drives { get; private set; }
/// <summary>
/// Gets a value indicating whether or not the loader is loading.
/// Gets a value indicating whether the loader is loading.
/// </summary>
public bool Loading { get; private set; }

View file

@ -521,7 +521,7 @@ internal class DalamudInterface : IInternalDisposableService
/// <summary>
/// Toggle the screen darkening effect used for the credits.
/// </summary>
/// <param name="status">Whether or not to turn the effect on.</param>
/// <param name="status">Whether to turn the effect on.</param>
public void SetCreditsDarkeningAnimation(bool status)
{
this.isCreditsDarkening = status;

View file

@ -212,7 +212,7 @@ internal partial class InterfaceManager : IInternalDisposableService
public IntPtr WindowHandlePtr => this.scene?.WindowHandlePtr ?? IntPtr.Zero;
/// <summary>
/// Gets or sets a value indicating whether or not the game's cursor should be overridden with the ImGui cursor.
/// Gets or sets a value indicating whether the game's cursor should be overridden with the ImGui cursor.
/// </summary>
public bool OverrideGameCursor
{
@ -231,7 +231,7 @@ internal partial class InterfaceManager : IInternalDisposableService
public bool IsReady => this.scene != null;
/// <summary>
/// Gets or sets a value indicating whether or not Draw events should be dispatched.
/// Gets or sets a value indicating whether Draw events should be dispatched.
/// </summary>
public bool IsDispatchingEvents { get; set; } = true;

View file

@ -8,7 +8,7 @@ namespace Dalamud.Interface.Internal.Windows.SelfTest.Steps;
/// Test setup for Lumina.
/// </summary>
/// <typeparam name="T">ExcelRow to run test on.</typeparam>
/// <param name="isLargeSheet">Whether or not the sheet is large. If it is large, the self test will iterate through the full sheet in one frame and benchmark the time taken.</param>
/// <param name="isLargeSheet">Whether the sheet is large. If it is large, the self test will iterate through the full sheet in one frame and benchmark the time taken.</param>
internal class LuminaSelfTestStep<T>(bool isLargeSheet) : ISelfTestStep
where T : struct, IExcelRow<T>
{

View file

@ -11,12 +11,12 @@ public abstract class SettingsEntry
public string? Name { get; protected set; }
/// <summary>
/// Gets or sets a value indicating whether or not this entry is valid.
/// Gets or sets a value indicating whether this entry is valid.
/// </summary>
public virtual bool IsValid { get; protected set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not this entry is visible.
/// Gets or sets a value indicating whether this entry is visible.
/// </summary>
public virtual bool IsVisible { get; protected set; } = true;
@ -54,7 +54,7 @@ public abstract class SettingsEntry
{
// ignored
}
/// <summary>
/// Function to be called when the tab is closed.
/// </summary>

View file

@ -14,7 +14,7 @@ namespace Dalamud.Interface;
public interface ITitleScreenMenuEntry : IReadOnlyTitleScreenMenuEntry, IComparable<TitleScreenMenuEntry>
{
/// <summary>
/// Gets or sets a value indicating whether or not this entry is internal.
/// Gets or sets a value indicating whether this entry is internal.
/// </summary>
bool IsInternal { get; set; }

View file

@ -147,7 +147,7 @@ public interface IUiBuilder
bool DisableGposeUiHide { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not the game's cursor should be overridden with the ImGui cursor.
/// Gets or sets a value indicating whether the game's cursor should be overridden with the ImGui cursor.
/// </summary>
bool OverrideGameCursor { get; set; }
@ -157,7 +157,7 @@ public interface IUiBuilder
ulong FrameCount { get; }
/// <summary>
/// Gets a value indicating whether or not a cutscene is playing.
/// Gets a value indicating whether a cutscene is playing.
/// </summary>
bool CutsceneActive { get; }
@ -177,7 +177,7 @@ public interface IUiBuilder
IFontAtlas FontAtlas { get; }
/// <summary>
/// Gets a value indicating whether or not to use "reduced motion". This usually means that you should use less
/// Gets a value indicating whether to use "reduced motion". This usually means that you should use less
/// intrusive animations, or disable them entirely.
/// </summary>
bool ShouldUseReducedMotion { get; }
@ -445,7 +445,7 @@ public sealed class UiBuilder : IDisposable, IUiBuilder
public bool DisableGposeUiHide { get; set; } = false;
/// <summary>
/// Gets or sets a value indicating whether or not the game's cursor should be overridden with the ImGui cursor.
/// Gets or sets a value indicating whether the game's cursor should be overridden with the ImGui cursor.
/// </summary>
public bool OverrideGameCursor
{
@ -459,7 +459,7 @@ public sealed class UiBuilder : IDisposable, IUiBuilder
public ulong FrameCount { get; private set; } = 0;
/// <summary>
/// Gets a value indicating whether or not a cutscene is playing.
/// Gets a value indicating whether a cutscene is playing.
/// </summary>
public bool CutsceneActive
{
@ -489,7 +489,7 @@ public sealed class UiBuilder : IDisposable, IUiBuilder
public IFontAtlas FontAtlas { get; }
/// <summary>
/// Gets a value indicating whether or not to use "reduced motion". This usually means that you should use less
/// Gets a value indicating whether to use "reduced motion". This usually means that you should use less
/// intrusive animations, or disable them entirely.
/// </summary>
public bool ShouldUseReducedMotion => Service<DalamudConfiguration>.Get().ReduceMotions ?? false;

View file

@ -150,7 +150,7 @@ public abstract class Window
public WindowSizeConstraints? SizeConstraints { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not this window is collapsed.
/// Gets or sets a value indicating whether this window is collapsed.
/// </summary>
public bool? Collapsed { get; set; }
@ -165,7 +165,7 @@ public abstract class Window
public ImGuiWindowFlags Flags { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not this ImGui window will be forced to stay inside the main game window.
/// Gets or sets a value indicating whether this ImGui window will be forced to stay inside the main game window.
/// </summary>
public bool ForceMainWindow { get; set; }
@ -175,17 +175,17 @@ public abstract class Window
public float? BgAlpha { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not this ImGui window should display a close button in the title bar.
/// Gets or sets a value indicating whether this ImGui window should display a close button in the title bar.
/// </summary>
public bool ShowCloseButton { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not this window should offer to be pinned via the window's titlebar context menu.
/// Gets or sets a value indicating whether this window should offer to be pinned via the window's titlebar context menu.
/// </summary>
public bool AllowPinning { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether or not this window should offer to be made click-through via the window's titlebar context menu.
/// Gets or sets a value indicating whether this window should offer to be made click-through via the window's titlebar context menu.
/// </summary>
public bool AllowClickthrough { get; set; } = true;
@ -199,7 +199,7 @@ public abstract class Window
public List<TitleBarButton> TitleBarButtons { get; set; } = new();
/// <summary>
/// Gets or sets a value indicating whether or not this window will stay open.
/// Gets or sets a value indicating whether this window will stay open.
/// </summary>
public bool IsOpen
{
@ -804,7 +804,7 @@ public abstract class Window
public int Priority { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not the button shall be clickable
/// Gets or sets a value indicating whether the button shall be clickable
/// when the respective window is set to clickthrough.
/// </summary>
public bool AvailableClickthrough { get; set; }

View file

@ -200,22 +200,22 @@ internal class TaskTracker : IInternalDisposableService
public StackTrace? StackTrace { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not the task was completed.
/// Gets or sets a value indicating whether the task was completed.
/// </summary>
public bool IsCompleted { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not the task faulted.
/// Gets or sets a value indicating whether the task faulted.
/// </summary>
public bool IsFaulted { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not the task was canceled.
/// Gets or sets a value indicating whether the task was canceled.
/// </summary>
public bool IsCanceled { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not the task was completed successfully.
/// Gets or sets a value indicating whether the task was completed successfully.
/// </summary>
public bool IsCompletedSuccessfully { get; set; }

View file

@ -835,7 +835,7 @@ internal static partial class NativeFunctions
SPI_GETCLIENTAREAANIMATION = 0x1042,
#pragma warning restore SA1602
}
/// <summary>
/// Retrieves or sets the value of one of the system-wide parameters. This function can also update the user profile while setting a parameter.
/// </summary>
@ -1428,18 +1428,18 @@ internal static partial class NativeFunctions
/// created with this option cannot be locked.
/// </summary>
NoSerialize = 0x00000001,
/// <summary>
/// The system raises an exception to indicate failure (for example, an out-of-memory condition) for calls to
/// HeapAlloc and HeapReAlloc instead of returning NULL.
/// </summary>
GenerateExceptions = 0x00000004,
/// <summary>
/// The allocated memory will be initialized to zero. Otherwise, the memory is not initialized to zero.
/// </summary>
ZeroMemory = 0x00000008,
/// <summary>
/// All memory blocks that are allocated from this heap allow code execution, if the hardware enforces data
/// execution prevention. Use this flag heap in applications that run code from the heap. If
@ -1701,7 +1701,7 @@ internal static partial class NativeFunctions
///
/// This value determines the initial amount of memory that is committed for the heap.
/// The value is rounded up to a multiple of the system page size. The value must be smaller than dwMaximumSize.
///
///
/// If this parameter is 0, the function commits one page. To determine the size of a page on the host computer,
/// use the GetSystemInfo function.
/// </param>
@ -1710,12 +1710,12 @@ internal static partial class NativeFunctions
/// system page size and then reserves a block of that size in the process's virtual address space for the heap.
/// If allocation requests made by the HeapAlloc or HeapReAlloc functions exceed the size specified by
/// dwInitialSize, the system commits additional pages of memory for the heap, up to the heap's maximum size.
///
///
/// If dwMaximumSize is not zero, the heap size is fixed and cannot grow beyond the maximum size. Also, the largest
/// memory block that can be allocated from the heap is slightly less than 512 KB for a 32-bit process and slightly
/// less than 1,024 KB for a 64-bit process. Requests to allocate larger blocks fail, even if the maximum size of
/// the heap is large enough to contain the block.
///
///
/// If dwMaximumSize is 0, the heap can grow in size. The heap's size is limited only by the available memory.
/// Requests to allocate memory blocks larger than the limit for a fixed-size heap do not automatically fail;
/// instead, the system calls the VirtualAlloc function to obtain the memory that is needed for large blocks.
@ -1723,12 +1723,12 @@ internal static partial class NativeFunctions
/// </param>
/// <returns>
/// If the function succeeds, the return value is a handle to the newly created heap.
///
///
/// If the function fails, the return value is NULL. To get extended error information, call GetLastError.
/// </returns>
[DllImport("kernel32.dll", SetLastError = true)]
public static extern nint HeapCreate(HeapOptions flOptions, nuint dwInitialSize, nuint dwMaximumSize);
/// <summary>
/// Allocates a block of memory from a heap. The allocated memory is not movable.
/// </summary>
@ -1756,7 +1756,7 @@ internal static partial class NativeFunctions
/// </returns>
[DllImport("kernel32.dll", SetLastError=false)]
public static extern nint HeapAlloc(nint hHeap, HeapOptions dwFlags, nuint dwBytes);
/// <summary>
/// See https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualalloc.
/// Reserves, commits, or changes the state of a region of pages in the virtual address space of the calling process.
@ -1987,7 +1987,7 @@ internal static partial class NativeFunctions
/// <param name="fInvadeProcess">
/// If this value is <see langword="true"/>, enumerates the loaded modules for the process and effectively calls the SymLoadModule64 function for each module.
/// </param>
/// <returns>Whether or not the function succeeded.</returns>
/// <returns>Whether the function succeeded.</returns>
[DllImport("dbghelp.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool SymInitialize(IntPtr hProcess, string userSearchPath, bool fInvadeProcess);
@ -1995,7 +1995,7 @@ internal static partial class NativeFunctions
/// Deallocates all resources associated with the process handle.
/// </summary>
/// <param name="hProcess">A handle to the process that was originally passed to the <seealso cref="SymInitialize"/> function.</param>
/// <returns>Whether or not the function succeeded.</returns>
/// <returns>Whether the function succeeded.</returns>
[DllImport("dbghelp.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool SymCleanup(IntPtr hProcess);
@ -2009,7 +2009,7 @@ internal static partial class NativeFunctions
/// <param name="exceptionInfo">Exception information.</param>
/// <param name="userStreamParam">User information.</param>
/// <param name="callback">Callback.</param>
/// <returns>Whether or not the minidump succeeded.</returns>
/// <returns>Whether the minidump succeeded.</returns>
[DllImport("dbghelp.dll")]
public static extern bool MiniDumpWriteDump(IntPtr hProcess, uint processId, IntPtr hFile, int dumpType, ref MinidumpExceptionInformation exceptionInfo, IntPtr userStreamParam, IntPtr callback);

View file

@ -100,7 +100,7 @@ internal sealed class DalamudPluginInterface : IDalamudPluginInterface, IDisposa
public PluginLoadReason Reason { get; }
/// <summary>
/// Gets a value indicating whether or not auto-updates have already completed this session.
/// Gets a value indicating whether auto-updates have already completed this session.
/// </summary>
public bool IsAutoUpdateComplete => Service<AutoUpdateManager>.Get().IsAutoUpdateComplete;

View file

@ -35,7 +35,7 @@ public interface IDalamudPluginInterface
/// <param name="kind">What action caused this event to be fired.</param>
/// <param name="affectedThisPlugin">If this plugin was affected by the change.</param>
public delegate void ActivePluginsChangedDelegate(PluginListInvalidationKind kind, bool affectedThisPlugin);
/// <summary>
/// Event that gets fired when loc is changed
/// </summary>
@ -52,7 +52,7 @@ public interface IDalamudPluginInterface
PluginLoadReason Reason { get; }
/// <summary>
/// Gets a value indicating whether or not auto-updates have already completed this session.
/// Gets a value indicating whether auto-updates have already completed this session.
/// </summary>
bool IsAutoUpdateComplete { get; }

View file

@ -34,12 +34,12 @@ public interface IExposedPlugin
bool IsTesting { get; }
/// <summary>
/// Gets a value indicating whether or not this plugin is orphaned(belongs to a repo) or not.
/// Gets a value indicating whether this plugin is orphaned(belongs to a repo) or not.
/// </summary>
bool IsOrphaned { get; }
/// <summary>
/// Gets a value indicating whether or not this plugin is serviced(repo still exists, but plugin no longer does).
/// Gets a value indicating whether this plugin is serviced(repo still exists, but plugin no longer does).
/// </summary>
bool IsDecommissioned { get; }

View file

@ -131,7 +131,7 @@ internal class AutoUpdateManager : IServiceType
}
/// <summary>
/// Gets a value indicating whether or not auto-updates have already completed this session.
/// Gets a value indicating whether auto-updates have already completed this session.
/// </summary>
public bool IsAutoUpdateComplete { get; private set; }

View file

@ -284,7 +284,7 @@ internal class PluginManager : IInternalDisposableService
/// Check if a manifest even has an available testing version.
/// </summary>
/// <param name="manifest">The manifest to test.</param>
/// <returns>Whether or not a testing version is available.</returns>
/// <returns>Whether a testing version is available.</returns>
public static bool HasTestingVersion(IPluginManifest manifest)
{
var av = manifest.AssemblyVersion;
@ -1037,7 +1037,7 @@ internal class PluginManager : IInternalDisposableService
/// </summary>
/// <param name="metadata">The available plugin update.</param>
/// <param name="notify">Whether to notify that installed plugins have changed afterwards.</param>
/// <param name="dryRun">Whether or not to actually perform the update, or just indicate success.</param>
/// <param name="dryRun">Whether to actually perform the update, or just indicate success.</param>
/// <returns>The status of the update.</returns>
public async Task<PluginUpdateStatus> UpdateSinglePluginAsync(AvailablePluginUpdate metadata, bool notify, bool dryRun)
{

View file

@ -24,8 +24,8 @@ internal class Profile
/// </summary>
/// <param name="manager">The manager this profile belongs to.</param>
/// <param name="model">The model this profile is tied to.</param>
/// <param name="isDefaultProfile">Whether or not this profile is the default profile.</param>
/// <param name="isBoot">Whether or not this profile was initialized during bootup.</param>
/// <param name="isDefaultProfile">Whether this profile is the default profile.</param>
/// <param name="isBoot">Whether this profile was initialized during bootup.</param>
public Profile(ProfileManager manager, ProfileModel model, bool isDefaultProfile, bool isBoot)
{
this.manager = manager;
@ -108,12 +108,12 @@ internal class Profile
public Guid Guid => this.modelV1.Guid;
/// <summary>
/// Gets a value indicating whether or not this profile is currently enabled.
/// Gets a value indicating whether this profile is currently enabled.
/// </summary>
public bool IsEnabled { get; private set; }
/// <summary>
/// Gets a value indicating whether or not this profile is the default profile.
/// Gets a value indicating whether this profile is the default profile.
/// </summary>
public bool IsDefaultProfile { get; }
@ -139,8 +139,8 @@ internal class Profile
/// Set this profile's state. This cannot be called for the default profile.
/// This will block until all states have been applied.
/// </summary>
/// <param name="enabled">Whether or not the profile is enabled.</param>
/// <param name="apply">Whether or not the current state should immediately be applied.</param>
/// <param name="enabled">Whether the profile is enabled.</param>
/// <param name="apply">Whether the current state should immediately be applied.</param>
/// <exception cref="InvalidOperationException">Thrown when an untoggleable profile is toggled.</exception>
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
public async Task SetStateAsync(bool enabled, bool apply = true)
@ -178,8 +178,8 @@ internal class Profile
/// </summary>
/// <param name="workingPluginId">The ID of the plugin.</param>
/// <param name="internalName">The internal name of the plugin, if available.</param>
/// <param name="state">Whether or not the plugin should be enabled.</param>
/// <param name="apply">Whether or not the current state should immediately be applied.</param>
/// <param name="state">Whether the plugin should be enabled.</param>
/// <param name="apply">Whether the current state should immediately be applied.</param>
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
public async Task AddOrUpdateAsync(Guid workingPluginId, string? internalName, bool state, bool apply = true)
{
@ -223,9 +223,9 @@ internal class Profile
/// This will block until all states have been applied.
/// </summary>
/// <param name="workingPluginId">The ID of the plugin.</param>
/// <param name="apply">Whether or not the current state should immediately be applied.</param>
/// <param name="apply">Whether the current state should immediately be applied.</param>
/// <param name="checkDefault">
/// Whether or not to throw when a plugin is removed from the default profile, without being in another profile.
/// Whether to throw when a plugin is removed from the default profile, without being in another profile.
/// Used to prevent orphan plugins, but can be ignored when cleaning up old entries.
/// </param>
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>

View file

@ -54,7 +54,7 @@ internal class ProfileManager : IServiceType
public IEnumerable<Profile> Profiles => this.profiles;
/// <summary>
/// Gets a value indicating whether or not the profile manager is busy enabling/disabling plugins.
/// Gets a value indicating whether the profile manager is busy enabling/disabling plugins.
/// </summary>
public bool IsBusy => this.isBusy;
@ -71,8 +71,8 @@ internal class ProfileManager : IServiceType
/// <param name="workingPluginId">The ID of the plugin.</param>
/// <param name="internalName">The internal name of the plugin, if available.</param>
/// <param name="defaultState">The state the plugin shall be in, if it needs to be added.</param>
/// <param name="addIfNotDeclared">Whether or not the plugin should be added to the default preset, if it's not present in any preset.</param>
/// <returns>Whether or not the plugin shall be enabled.</returns>
/// <param name="addIfNotDeclared">Whether the plugin should be added to the default preset, if it's not present in any preset.</param>
/// <returns>Whether the plugin shall be enabled.</returns>
public async Task<bool> GetWantStateAsync(Guid workingPluginId, string? internalName, bool defaultState, bool addIfNotDeclared = true)
{
var want = false;
@ -106,7 +106,7 @@ internal class ProfileManager : IServiceType
/// Check whether a plugin is declared in any profile.
/// </summary>
/// <param name="workingPluginId">The ID of the plugin.</param>
/// <returns>Whether or not the plugin is in any profile.</returns>
/// <returns>Whether the plugin is in any profile.</returns>
public bool IsInAnyProfile(Guid workingPluginId)
{
lock (this.profiles)
@ -118,7 +118,7 @@ internal class ProfileManager : IServiceType
/// A plugin can never be in the default profile if it is in any other profile.
/// </summary>
/// <param name="workingPluginId">The ID of the plugin.</param>
/// <returns>Whether or not the plugin is in the default profile.</returns>
/// <returns>Whether the plugin is in the default profile.</returns>
public bool IsInDefaultProfile(Guid workingPluginId)
=> this.DefaultProfile.WantsPlugin(workingPluginId) != null;

View file

@ -36,7 +36,7 @@ public class ProfileModelV1 : ProfileModel
public static string SerializedPrefix => "DP1";
/// <summary>
/// Gets or sets a value indicating whether or not this profile should always be enabled at boot.
/// Gets or sets a value indicating whether this profile should always be enabled at boot.
/// </summary>
[JsonProperty("b")]
[Obsolete("Superseded by StartupPolicy")]
@ -49,7 +49,7 @@ public class ProfileModelV1 : ProfileModel
public ProfileStartupPolicy? StartupPolicy { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not this profile is currently enabled.
/// Gets or sets a value indicating whether this profile is currently enabled.
/// </summary>
[JsonProperty("e")]
public bool IsEnabled { get; set; } = false;
@ -81,7 +81,7 @@ public class ProfileModelV1 : ProfileModel
public Guid WorkingPluginId { get; set; }
/// <summary>
/// Gets or sets a value indicating whether or not this entry is enabled.
/// Gets or sets a value indicating whether this entry is enabled.
/// </summary>
public bool IsEnabled { get; set; }
}

View file

@ -10,7 +10,7 @@ internal class ProfilePluginEntry
/// </summary>
/// <param name="internalName">The internal name of the plugin.</param>
/// <param name="workingPluginId">The ID of the plugin.</param>
/// <param name="state">A value indicating whether or not this entry is enabled.</param>
/// <param name="state">A value indicating whether this entry is enabled.</param>
public ProfilePluginEntry(string internalName, Guid workingPluginId, bool state)
{
this.InternalName = internalName;
@ -22,14 +22,14 @@ internal class ProfilePluginEntry
/// Gets the internal name of the plugin.
/// </summary>
public string InternalName { get; }
/// <summary>
/// Gets or sets an ID uniquely identifying this specific instance of a plugin.
/// </summary>
public Guid WorkingPluginId { get; set; }
/// <summary>
/// Gets a value indicating whether or not this entry is enabled.
/// Gets a value indicating whether this entry is enabled.
/// </summary>
public bool IsEnabled { get; }
}

View file

@ -178,13 +178,13 @@ internal class LocalPlugin : IAsyncDisposable
public bool IsTesting => this.manifest.IsTestingExclusive || this.manifest.Testing;
/// <summary>
/// Gets a value indicating whether or not this plugin is orphaned(belongs to a repo) or not.
/// Gets a value indicating whether this plugin is orphaned(belongs to a repo) or not.
/// </summary>
public bool IsOrphaned => !this.IsDev &&
this.GetSourceRepository() == null;
/// <summary>
/// Gets a value indicating whether or not this plugin is serviced(repo still exists, but plugin no longer does).
/// Gets a value indicating whether this plugin is serviced(repo still exists, but plugin no longer does).
/// </summary>
public bool IsDecommissioned => !this.IsDev &&
this.GetSourceRepository()?.State == PluginRepositoryState.Success &&
@ -499,7 +499,7 @@ internal class LocalPlugin : IAsyncDisposable
/// <summary>
/// Check if anything forbids this plugin from loading.
/// </summary>
/// <returns>Whether or not this plugin shouldn't load.</returns>
/// <returns>Whether this plugin shouldn't load.</returns>
public bool CheckPolicy()
{
var startInfo = Service<Dalamud>.Get().StartInfo;

View file

@ -42,7 +42,7 @@ internal record PluginManifest : IPluginManifest
public List<string>? CategoryTags { get; init; }
/// <summary>
/// Gets or sets a value indicating whether or not the plugin is hidden in the plugin installer.
/// Gets or sets a value indicating whether the plugin is hidden in the plugin installer.
/// This value comes from the plugin master and is in addition to the list of hidden names kept by Dalamud.
/// </summary>
[JsonProperty]

View file

@ -79,7 +79,7 @@ public interface IClientState
/// Gets the current Territory the player resides in.
/// </summary>
public ushort TerritoryType { get; }
/// <summary>
/// Gets the current Map the player resides in.
/// </summary>
@ -101,17 +101,17 @@ public interface IClientState
public bool IsLoggedIn { get; }
/// <summary>
/// Gets a value indicating whether or not the user is playing PvP.
/// Gets a value indicating whether the user is playing PvP.
/// </summary>
public bool IsPvP { get; }
/// <summary>
/// Gets a value indicating whether or not the user is playing PvP, excluding the Wolves' Den.
/// Gets a value indicating whether the user is playing PvP, excluding the Wolves' Den.
/// </summary>
public bool IsPvPExcludingDen { get; }
/// <summary>
/// Gets a value indicating whether the client is currently in Group Pose (GPose) mode.
/// Gets a value indicating whether the client is currently in Group Pose (GPose) mode.
/// </summary>
public bool IsGPosing { get; }

View file

@ -10,12 +10,12 @@ namespace Dalamud.Game;
public interface ISigScanner
{
/// <summary>
/// Gets a value indicating whether or not the search on this module is performed on a copy.
/// Gets a value indicating whether the search on this module is performed on a copy.
/// </summary>
public bool IsCopy { get; }
/// <summary>
/// Gets a value indicating whether or not the ProcessModule is 32-bit.
/// Gets a value indicating whether the ProcessModule is 32-bit.
/// </summary>
public bool Is32BitProcess { get; }
@ -84,7 +84,7 @@ public interface ISigScanner
/// <param name="offset">The offset from function start of the instruction using the data.</param>
/// <returns>An IntPtr to the static memory location.</returns>
public nint GetStaticAddressFromSig(string signature, int offset = 0);
/// <summary>
/// Try scanning for a .data address using a .text function.
/// This is intended to be used with IDA sigs.
@ -95,14 +95,14 @@ public interface ISigScanner
/// <param name="offset">The offset from function start of the instruction using the data.</param>
/// <returns>true if the signature was found.</returns>
public bool TryGetStaticAddressFromSig(string signature, out nint result, int offset = 0);
/// <summary>
/// Scan for a byte signature in the .data section.
/// </summary>
/// <param name="signature">The signature.</param>
/// <returns>The real offset of the found signature.</returns>
public nint ScanData(string signature);
/// <summary>
/// Try scanning for a byte signature in the .data section.
/// </summary>
@ -110,14 +110,14 @@ public interface ISigScanner
/// <param name="result">The real offset of the signature, if found.</param>
/// <returns>true if the signature was found.</returns>
public bool TryScanData(string signature, out nint result);
/// <summary>
/// Scan for a byte signature in the whole module search area.
/// </summary>
/// <param name="signature">The signature.</param>
/// <returns>The real offset of the found signature.</returns>
public nint ScanModule(string signature);
/// <summary>
/// Try scanning for a byte signature in the whole module search area.
/// </summary>
@ -125,7 +125,7 @@ public interface ISigScanner
/// <param name="result">The real offset of the signature, if found.</param>
/// <returns>true if the signature was found.</returns>
public bool TryScanModule(string signature, out nint result);
/// <summary>
/// Resolve a RVA address.
/// </summary>
@ -133,14 +133,14 @@ public interface ISigScanner
/// <param name="relOffset">The relative offset.</param>
/// <returns>The calculated offset.</returns>
public nint ResolveRelativeAddress(nint nextInstAddr, int relOffset);
/// <summary>
/// Scan for a byte signature in the .text section.
/// </summary>
/// <param name="signature">The signature.</param>
/// <returns>The real offset of the found signature.</returns>
public nint ScanText(string signature);
/// <summary>
/// Try scanning for a byte signature in the .text section.
/// </summary>

View file

@ -191,7 +191,7 @@ public interface ITextureProvider
/// <para>Caching the returned object is not recommended. Performance benefit will be minimal.</para>
/// </remarks>
ISharedImmediateTexture GetFromGameIcon(in GameIconLookup lookup);
/// <summary>Gets a shared texture corresponding to the given game resource icon specifier.</summary>
/// <remarks>
/// <para>This function does not throw exceptions.</para>
@ -200,7 +200,7 @@ public interface ITextureProvider
/// </remarks>
/// <param name="lookup">A game icon specifier.</param>
/// <param name="texture">The resulting <see cref="ISharedImmediateTexture"/>.</param>
/// <returns>Whether or not the lookup succeeded.</returns>
/// <returns>Whether the lookup succeeded.</returns>
bool TryGetFromGameIcon(in GameIconLookup lookup, [NotNullWhen(true)] out ISharedImmediateTexture? texture);
/// <summary>Gets a shared texture corresponding to the given path to a game resource.</summary>
@ -221,7 +221,7 @@ public interface ITextureProvider
/// <para>Caching the returned object is not recommended. Performance benefit will be minimal.</para>
/// </remarks>
ISharedImmediateTexture GetFromFile(string path);
/// <summary>Gets a shared texture corresponding to the given file on the filesystem.</summary>
/// <param name="file">The file on the filesystem to load.</param>
/// <returns>The shared texture that you may use to obtain the loaded texture wrap and load states.</returns>

View file

@ -25,7 +25,7 @@ public static class SafeMemory
/// <param name="address">The address to read from.</param>
/// <param name="count">The amount of bytes to read.</param>
/// <param name="buffer">The result buffer.</param>
/// <returns>Whether or not the read succeeded.</returns>
/// <returns>Whether the read succeeded.</returns>
public static bool ReadBytes(IntPtr address, int count, out byte[] buffer)
{
buffer = new byte[count <= 0 ? 0 : count];
@ -37,7 +37,7 @@ public static class SafeMemory
/// </summary>
/// <param name="address">The address to write to.</param>
/// <param name="buffer">The buffer to write.</param>
/// <returns>Whether or not the write succeeded.</returns>
/// <returns>Whether the write succeeded.</returns>
public static bool WriteBytes(IntPtr address, byte[] buffer)
{
return Imports.WriteProcessMemory(Handle, address, buffer, buffer.Length, out _);
@ -49,7 +49,7 @@ public static class SafeMemory
/// <typeparam name="T">The type of the struct.</typeparam>
/// <param name="address">The address to read from.</param>
/// <param name="result">The resulting object.</param>
/// <returns>Whether or not the read succeeded.</returns>
/// <returns>Whether the read succeeded.</returns>
public static bool Read<T>(IntPtr address, out T result) where T : struct
{
if (!ReadBytes(address, SizeCache<T>.Size, out var buffer))
@ -91,7 +91,7 @@ public static class SafeMemory
/// <typeparam name="T">The type of the struct.</typeparam>
/// <param name="address">The address to write to.</param>
/// <param name="obj">The object to write.</param>
/// <returns>Whether or not the write succeeded.</returns>
/// <returns>Whether the write succeeded.</returns>
public static bool Write<T>(IntPtr address, T obj) where T : struct
{
using var mem = new LocalMemory(SizeCache<T>.Size);
@ -105,7 +105,7 @@ public static class SafeMemory
/// <typeparam name="T">The type of the structs.</typeparam>
/// <param name="address">The address to write to.</param>
/// <param name="objArray">The array to write.</param>
/// <returns>Whether or not the write succeeded.</returns>
/// <returns>Whether the write succeeded.</returns>
public static bool Write<T>(IntPtr address, T[] objArray) where T : struct
{
if (objArray == null || objArray.Length == 0)
@ -164,7 +164,7 @@ public static class SafeMemory
/// </remarks>
/// <param name="address">The address to write to.</param>
/// <param name="str">The string to write.</param>
/// <returns>Whether or not the write succeeded.</returns>
/// <returns>Whether the write succeeded.</returns>
public static bool WriteString(IntPtr address, string str)
{
return WriteString(address, str, Encoding.UTF8);
@ -181,7 +181,7 @@ public static class SafeMemory
/// <param name="address">The address to write to.</param>
/// <param name="str">The string to write.</param>
/// <param name="encoding">The encoding to use.</param>
/// <returns>Whether or not the write succeeded.</returns>
/// <returns>Whether the write succeeded.</returns>
public static bool WriteString(IntPtr address, string str, Encoding encoding)
{
if (string.IsNullOrEmpty(str))

View file

@ -157,7 +157,7 @@ internal class ReliableFileStorage : IInternalDisposableService
/// automatically written back to disk, however.
/// </summary>
/// <param name="path">The path to read from.</param>
/// <param name="forceBackup">Whether or not the backup of the file should take priority.</param>
/// <param name="forceBackup">Whether the backup of the file should take priority.</param>
/// <param name="containerId">The container to read from.</param>
/// <returns>All text stored in this file.</returns>
/// <exception cref="FileNotFoundException">Thrown if the file does not exist on the filesystem or in the backup.</exception>
@ -171,7 +171,7 @@ internal class ReliableFileStorage : IInternalDisposableService
/// </summary>
/// <param name="path">The path to read from.</param>
/// <param name="encoding">The encoding to read with.</param>
/// <param name="forceBackup">Whether or not the backup of the file should take priority.</param>
/// <param name="forceBackup">Whether the backup of the file should take priority.</param>
/// <param name="containerId">The container to read from.</param>
/// <returns>All text stored in this file.</returns>
/// <exception cref="FileNotFoundException">Thrown if the file does not exist on the filesystem or in the backup.</exception>
@ -249,7 +249,7 @@ internal class ReliableFileStorage : IInternalDisposableService
/// automatically written back to disk, however.
/// </summary>
/// <param name="path">The path to read from.</param>
/// <param name="forceBackup">Whether or not the backup of the file should take priority.</param>
/// <param name="forceBackup">Whether the backup of the file should take priority.</param>
/// <param name="containerId">The container to read from.</param>
/// <returns>All bytes stored in this file.</returns>
/// <exception cref="FileNotFoundException">Thrown if the file does not exist on the filesystem or in the backup.</exception>

View file

@ -20,10 +20,10 @@ internal static class BugBait
/// Send feedback to Discord.
/// </summary>
/// <param name="plugin">The plugin to send feedback about.</param>
/// <param name="isTesting">Whether or not the plugin is a testing plugin.</param>
/// <param name="isTesting">Whether the plugin is a testing plugin.</param>
/// <param name="content">The content of the feedback.</param>
/// <param name="reporter">The reporter name.</param>
/// <param name="includeException">Whether or not the most recent exception to occur should be included in the report.</param>
/// <param name="includeException">Whether the most recent exception to occur should be included in the report.</param>
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
public static async Task SendFeedback(IPluginManifest plugin, bool isTesting, string content, string reporter, bool includeException)
{
@ -43,7 +43,7 @@ internal static class BugBait
{
model.Exception = Troubleshooting.LastException == null ? "Was included, but none happened" : Troubleshooting.LastException?.ToString();
}
var httpClient = Service<HappyHttpClient>.Get().SharedHttpClient;
var postContent = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");

View file

@ -14,21 +14,21 @@ internal static class NullabilityUtil
/// Check if the provided property is nullable.
/// </summary>
/// <param name="property">The property to check.</param>
/// <returns>Whether or not the property is nullable.</returns>
/// <returns>Whether the property is nullable.</returns>
internal static bool IsNullable(PropertyInfo property) => IsNullableHelper(property.PropertyType, property.DeclaringType, property.CustomAttributes);
/// <summary>
/// Check if the provided field is nullable.
/// </summary>
/// <param name="field">The field to check.</param>
/// <returns>Whether or not the field is nullable.</returns>
/// <returns>Whether the field is nullable.</returns>
internal static bool IsNullable(FieldInfo field) => IsNullableHelper(field.FieldType, field.DeclaringType, field.CustomAttributes);
/// <summary>
/// Check if the provided parameter is nullable.
/// </summary>
/// <param name="parameter">The parameter to check.</param>
/// <returns>Whether or not the parameter is nullable.</returns>
/// <returns>Whether the parameter is nullable.</returns>
internal static bool IsNullable(ParameterInfo parameter) => IsNullableHelper(parameter.ParameterType, parameter.Member, parameter.CustomAttributes);
private static bool IsNullableHelper(Type memberType, MemberInfo? declaringType, IEnumerable<CustomAttributeData> customAttributes)

View file

@ -16,7 +16,7 @@ internal interface IFieldOrPropertyInfo
Type ActualType { get; }
/// <summary>
/// Gets a value indicating whether or not the field or property is nullable.
/// Gets a value indicating whether the field or property is nullable.
/// </summary>
bool IsNullable { get; }

View file

@ -67,7 +67,7 @@ public sealed class TimingHandle : TimingEvent, IDisposable, IComparable<TimingH
public TimingHandle? Parent { get; private set; }
/// <summary>
/// Gets a value indicating whether or not this timing was started on the main thread.
/// Gets a value indicating whether this timing was started on the main thread.
/// </summary>
public bool IsMainThread { get; private set; }

View file

@ -308,7 +308,7 @@ public static class Util
/// </summary>
/// <param name="obj">The structure to show.</param>
/// <param name="addr">The address to the structure.</param>
/// <param name="autoExpand">Whether or not this structure should start out expanded.</param>
/// <param name="autoExpand">Whether this structure should start out expanded.</param>
/// <param name="path">The already followed path.</param>
public static void ShowStruct(object obj, ulong addr, bool autoExpand = false, IEnumerable<string>? path = null)
=> ShowStructInternal(obj, addr, autoExpand, path);
@ -318,7 +318,7 @@ public static class Util
/// </summary>
/// <typeparam name="T">The type of the structure.</typeparam>
/// <param name="obj">The pointer to the structure.</param>
/// <param name="autoExpand">Whether or not this structure should start out expanded.</param>
/// <param name="autoExpand">Whether this structure should start out expanded.</param>
public static unsafe void ShowStruct<T>(T* obj, bool autoExpand = false) where T : unmanaged
{
ShowStruct(*obj, (ulong)&obj, autoExpand);
@ -328,7 +328,7 @@ public static class Util
/// Show a GameObject's internal data in an ImGui-context.
/// </summary>
/// <param name="go">The GameObject to show.</param>
/// <param name="autoExpand">Whether or not the struct should start as expanded.</param>
/// <param name="autoExpand">Whether the struct should start as expanded.</param>
public static unsafe void ShowGameObjectStruct(IGameObject go, bool autoExpand = true)
{
switch (go)
@ -1031,7 +1031,7 @@ public static class Util
/// </summary>
/// <param name="obj">The structure to show.</param>
/// <param name="addr">The address to the structure.</param>
/// <param name="autoExpand">Whether or not this structure should start out expanded.</param>
/// <param name="autoExpand">Whether this structure should start out expanded.</param>
/// <param name="path">The already followed path.</param>
/// <param name="hideAddress">Do not print addresses. Use when displaying a copied value.</param>
private static void ShowStructInternal(object obj, ulong addr, bool autoExpand = false, IEnumerable<string>? path = null, bool hideAddress = false)

View file

@ -115,7 +115,7 @@
/* Defines to completely disable specific portions of miniz.c:
/* Defines to completely disable specific portions of miniz.c:
If all macros here are defined the only functionality remaining will be CRC-32, adler-32, tinfl, and tdefl. */
/* Define MINIZ_NO_STDIO to disable all usage and any functions which rely on stdio for file I/O. */
@ -138,7 +138,7 @@
/* Define MINIZ_NO_ZLIB_COMPATIBLE_NAME to disable zlib names, to prevent conflicts against stock zlib. */
/*#define MINIZ_NO_ZLIB_COMPATIBLE_NAMES */
/* Define MINIZ_NO_MALLOC to disable all calls to malloc, free, and realloc.
/* Define MINIZ_NO_MALLOC to disable all calls to malloc, free, and realloc.
Note if MINIZ_NO_MALLOC is defined then the user must always provide custom user alloc/free/realloc
callbacks to the zlib and archive API's, and a few stand-alone helper API's which don't provide custom user
functions (such as tdefl_compress_mem_to_heap() and tinfl_decompress_mem_to_heap()) won't work. */
@ -360,7 +360,7 @@ MINIZ_EXPORT mz_ulong mz_compressBound(mz_ulong source_len);
/* Initializes a decompressor. */
MINIZ_EXPORT int mz_inflateInit(mz_streamp pStream);
/* mz_inflateInit2() is like mz_inflateInit() with an additional option that controls the window size and whether or not the stream has been wrapped with a zlib header/footer: */
/* mz_inflateInit2() is like mz_inflateInit() with an additional option that controls the window size and whether the stream has been wrapped with a zlib header/footer: */
/* window_bits must be MZ_DEFAULT_WINDOW_BITS (to parse zlib header/footer) or -MZ_DEFAULT_WINDOW_BITS (raw deflate). */
MINIZ_EXPORT int mz_inflateInit2(mz_streamp pStream, int window_bits);
@ -908,7 +908,7 @@ struct tinfl_decompressor_tag
#ifdef __cplusplus
}
#endif
#pragma once