Skip to content

Commit 011c253

Browse files
committed
NPC Appearance force
1 parent 1e28bf1 commit 011c253

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

Brio/Game/Actor/ActorRedrawService.cs

+10-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
using System.Runtime.InteropServices;
1010
using System;
1111
using DrawObjectObject = FFXIVClientStructs.FFXIV.Client.Graphics.Scene.Object;
12-
12+
using Brio.Config;
1313

1414
namespace Brio.Game.Actor;
1515

@@ -95,10 +95,17 @@ public unsafe RedrawResult Redraw(GameObject gameObject, RedrawType redrawType)
9595
return RedrawResult.Failed;
9696
}
9797

98+
var wasNpcHack = RenderHookService.Instance.ApplyNPCOverride;
99+
if(redrawType.HasFlag(RedrawType.ForceAllowNPCAppearance))
100+
RenderHookService.Instance.ApplyNPCOverride = true;
101+
98102
// Full redraw
99103
raw->DisableDraw();
100104
raw->EnableDraw();
101105

106+
if(redrawType.HasFlag(RedrawType.ForceAllowNPCAppearance))
107+
RenderHookService.Instance.ApplyNPCOverride = wasNpcHack;
108+
102109
// Handle position update
103110
if(redrawType.HasFlag(RedrawType.PreservePosition))
104111
{
@@ -134,8 +141,9 @@ public enum RedrawType
134141
AllowFull = 2,
135142
ForceRedrawWeaponsOnOptimized = 4,
136143
PreservePosition = 8,
144+
ForceAllowNPCAppearance = 16,
137145

138-
All = AllowOptimized | AllowFull | ForceRedrawWeaponsOnOptimized | PreservePosition
146+
All = AllowOptimized | AllowFull | ForceRedrawWeaponsOnOptimized | PreservePosition | ForceAllowNPCAppearance
139147
}
140148

141149
public enum RedrawResult

Brio/UI/Components/ActorRedrawControls.cs

+8-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace Brio.UI.Components;
66

77
public static class ActorRedrawControls
88
{
9-
private static RedrawType _redrawType = RedrawType.AllowOptimized | RedrawType.AllowFull | RedrawType.PreservePosition;
9+
private static RedrawType _redrawType = RedrawType.AllowOptimized | RedrawType.AllowFull | RedrawType.PreservePosition | RedrawType.ForceAllowNPCAppearance;
1010

1111
public unsafe static void Draw(GameObject gameObject)
1212
{
@@ -35,6 +35,13 @@ public unsafe static void Draw(GameObject gameObject)
3535
else
3636
_redrawType &= ~RedrawType.AllowOptimized;
3737

38+
bool forceAllowNPC = _redrawType.HasFlag(RedrawType.ForceAllowNPCAppearance);
39+
ImGui.Checkbox("Force Allow NPC Appearance", ref forceAllowNPC);
40+
if(forceAllowNPC)
41+
_redrawType |= RedrawType.ForceAllowNPCAppearance;
42+
else
43+
_redrawType &= ~RedrawType.ForceAllowNPCAppearance;
44+
3845
bool forceWeapon = _redrawType.HasFlag(RedrawType.ForceRedrawWeaponsOnOptimized);
3946
ImGui.Checkbox("Force Weapon Redraw", ref forceWeapon);
4047
if(forceWeapon)

0 commit comments

Comments
 (0)