fix: complete retail parity stability pass
All checks were successful
CI / linux-portable (push) Successful in 3m41s
CI / windows-gate (push) Successful in 6m49s
CI / release (push) Successful in 3m22s

This commit is contained in:
Erik 2026-08-28 20:01:39 +02:00
parent d3df4cb20a
commit f7aa8e0eb7
131 changed files with 7765 additions and 1190 deletions

View file

@ -2290,6 +2290,7 @@ public sealed class LiveEntityHydrationControllerTests
Assert.True(fixture.Runtime.TryGetRecord(splitResultGuid, out LiveEntityRecord record));
Assert.NotNull(record.WorldEntity);
Assert.Equal(1, fixture.Resources.RegisterCount);
Assert.Equal(splitResultGuid, drop.Selection.SelectedObjectId);
}
[Fact]
@ -2372,6 +2373,7 @@ public sealed class LiveEntityHydrationControllerTests
Assert.False(secondRecovered);
Assert.False(fixture.Runtime.TryGetSnapshot(secondUnknown, out _));
Assert.True(fixture.Runtime.TryGetSnapshot(firstUnknown, out _));
Assert.Equal(firstUnknown, drop.Selection.SelectedObjectId);
Assert.Equal(1, fixture.Resources.RegisterCount);
}
@ -2476,7 +2478,7 @@ public sealed class LiveEntityHydrationControllerTests
public readonly ItemInteractionController Interaction;
public readonly InventoryWorldDropProjectionController Projection;
public readonly StackSplitQuantityState SplitQuantity = new();
public uint SelectedObject;
public readonly AcDream.Core.Selection.SelectionState Selection = new();
public DropHarness(Fixture fixture)
{
@ -2498,7 +2500,7 @@ public sealed class LiveEntityHydrationControllerTests
sendWield: null,
sendDrop: _ => { },
sendSplitToWorld: (_, _) => { },
selectedObjectId: () => SelectedObject,
selectedObjectId: () => Selection.SelectedObjectId ?? 0u,
stackSplitQuantity: SplitQuantity,
playerOnGround: () => true);
Projection = new InventoryWorldDropProjectionController(
@ -2506,12 +2508,15 @@ public sealed class LiveEntityHydrationControllerTests
fixture.Objects,
fixture.Runtime,
fixture.Controller,
Selection,
() => 100.0);
}
public bool DispatchSplit(uint itemGuid, uint stackSize, uint splitAmount)
{
SelectedObject = itemGuid;
Selection.Select(
itemGuid,
AcDream.Core.Selection.SelectionChangeSource.Inventory);
SplitQuantity.Reset(stackSize);
SplitQuantity.SetValue(splitAmount);
var payload = new ItemDragPayload(