Skip to content

Commit a6a788f

Browse files
committed
Set correct GPose state when player is snapped out
1 parent 7b49f5b commit a6a788f

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

Brio/Game/Actor/ActorSpawnService.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ private unsafe void ActorService_OnActorDestructing(DalamudGameObject gameObject
7474
var gposeController = &EventFramework.Instance()->EventSceneModule.EventGPoseController;
7575
gposeController->AddCharacterToGPose(newPlayer); // This is safe even if the list is full. The game will also cleanup for us.
7676

77-
newPlayer->CopyFromCharacter(originalPlayer, 0); // We copy the Player as the created actor is just blank
77+
newPlayer->CopyFromCharacter(originalPlayer, Character.CopyFlags.None); // We copy the Player as the created actor is just blank
7878

7979
*((sbyte*)newPlayer + 0x95) &= ~2; // Disable selection just incase this somehow leaks out of GPose
8080

@@ -86,7 +86,7 @@ private unsafe void ActorService_OnActorDestructing(DalamudGameObject gameObject
8686
newPlayer->GameObject.SetName(((int)newId).ToCharacterName());
8787

8888
newPlayer->GameObject.DisableDraw();
89-
newPlayer->CopyFromCharacter(newPlayer, 0); // Some tools get confused (Like Penumbra) unless we copy onto ourselves after name change
89+
newPlayer->CopyFromCharacter(newPlayer, Character.CopyFlags.None); // Some tools get confused (Like Penumbra) unless we copy onto ourselves after name change
9090
newPlayer->GameObject.EnableDraw();
9191

9292
_createdIndexes.Add(newId);

Brio/Game/GPose/GPoseService.cs

+9
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,15 @@ private bool HandleGPoseChange(GPoseState state)
103103
return true;
104104
}
105105

106+
public override void Tick(float delta)
107+
{
108+
if(!Dalamud.PluginInterface.UiBuilder.GposeActive && IsInGPose)
109+
{
110+
HandleGPoseChange(GPoseState.Exiting);
111+
HandleGPoseChange(GPoseState.Outside);
112+
}
113+
}
114+
106115
public override void Dispose()
107116
{
108117
_exitGPoseHook?.Dispose();

0 commit comments

Comments
 (0)