Files
AetherBags/KamiToolKit/NativeAddon/NativeAddon.Flags.cs
T
KnackAtNite 8db4ce6094
Debug Build and Test / Build against Latest Dalamud (push) Has been cancelled
Debug Build and Test / Build against Staging Dalamud (push) Has been cancelled
Initial commit: AetherBags + KamiToolKit for FC Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 14:46:31 -05:00

67 lines
2.1 KiB
C#

using KamiToolKit.Classes;
namespace KamiToolKit;
public unsafe partial class NativeAddon {
private void UpdateFlags() {
// Disable Native AddonConfig
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A2, 0x40, true);
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A1, 0x4, DisableClose);
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A2, 0x8, DisableCloseTransition);
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A2, 0x40, DisableAddonConfig);
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A3, 0x20, DisableClamping);
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A3, 0x1, EnableContextMenu);
FlagHelper.UpdateFlag(ref InternalAddon->Flags1C8, 0x800, DisableScaleContextOption);
if (IsOverlayAddon) {
SetOverlayFlags();
}
}
private void SetOverlayFlags() {
OpenWindowSoundEffectId = 0;
InternalAddon->ShowSoundEffectId = 0;
// Disable ability to focus window
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A0, 0x80, true);
// Don't load into FocusedAddons list
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A1, 0x40, true);
// Disable Controller Nav
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A2, 0x2, true);
// Disable open/close transitions
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A2, 0x8, true);
// Disable open/close sounds
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A2, 0x20, true);
// Enable ClickThrough
FlagHelper.UpdateFlag(ref InternalAddon->Flags1A3, 0x40, true);
}
public bool DisableClose { get; init; }
public bool DisableCloseTransition { get; init; }
internal bool DisableAddonConfig { get; init; } = true;
public bool EnableContextMenu { get; init; } = true;
public bool DisableClamping { get; init; } = true;
public bool DisableScaleContextOption { get; init; }
public bool RespectCloseAll { get; set; } = true;
public bool IgnoreGlobalScale { get; set; } = false;
}