67 lines
2.1 KiB
C#
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;
|
|
}
|