fix(client): restore retail interaction parity
Harden keyboard and camera routing, inventory and vendor interactions, chat/emotes, relog portal flow, and paperdoll rendering. Add retail research, connected gate coverage, and release-gate validation.
This commit is contained in:
parent
0c699240e0
commit
f6fe0f2a4f
151 changed files with 10162 additions and 1211 deletions
|
|
@ -63,6 +63,7 @@ internal sealed record LivePresentationDependencies(
|
|||
CellVisibility CellVisibility,
|
||||
LiveWorldOriginState WorldOrigin,
|
||||
LocalPlayerIdentityState PlayerIdentity,
|
||||
ChaseCameraInputState ChaseCameraInput,
|
||||
PointerPositionState PointerPosition,
|
||||
PlayerApproachCompletionState PlayerApproachCompletions,
|
||||
GameRenderResourceLifetime RenderResourceLifetime,
|
||||
|
|
@ -808,7 +809,12 @@ internal sealed class LivePresentationCompositionPhase
|
|||
d.RetailAlphaQueue,
|
||||
alphaScratchBudgets.DispatcherBytes,
|
||||
foundation.TerrainAtlas?.BuildingDetailTexture ?? default,
|
||||
() => d.Settings.DisplayPreview.BuildingDetailTextures),
|
||||
() => d.Settings.DisplayPreview.BuildingDetailTextures,
|
||||
serverGuid => serverGuid != 0u
|
||||
&& serverGuid == d.PlayerIdentity.ServerGuid
|
||||
? d.ChaseCameraInput.Retail?.PlayerTranslucency
|
||||
?? (d.ChaseCameraInput.Legacy?.IsInHead == true ? 1f : 0f)
|
||||
: 0f),
|
||||
static value => value.Dispose());
|
||||
var selectionQuery = new WorldSelectionQuery(
|
||||
liveEntities,
|
||||
|
|
@ -845,7 +851,11 @@ internal sealed class LivePresentationCompositionPhase
|
|||
localEntityId =>
|
||||
d.EffectPoses.TryGetRootPose(localEntityId, out Matrix4x4 childRoot)
|
||||
? childRoot
|
||||
: null);
|
||||
: null,
|
||||
hasOpenedCorpse:
|
||||
d.Runtime.InventoryOwner.ExternalContainers.HasCorpseBeenOpened,
|
||||
combatMode: () => d.Runtime.ActionOwner.Combat.CurrentMode,
|
||||
isFellow: guid => d.Runtime.Fellowship.TryGetMember(guid, out _));
|
||||
var radarSnapshotProvider = new RadarSnapshotProvider(
|
||||
d.EntityObjects.Objects,
|
||||
liveEntities,
|
||||
|
|
@ -876,7 +886,12 @@ internal sealed class LivePresentationCompositionPhase
|
|||
() => d.PlayerController.Controller,
|
||||
d.PlayerApproachCompletions),
|
||||
d.Toast,
|
||||
d.PlayerApproachCompletions);
|
||||
d.PlayerApproachCompletions,
|
||||
splitStack: guid =>
|
||||
interaction.RetainedUi?.Runtime.SelectedObjectController?
|
||||
.FocusSplitStackEntry(guid) ?? false,
|
||||
fellowshipMembers: () =>
|
||||
d.Runtime.Fellowship.GetMembers().Select(static member => member.Guid));
|
||||
selectionInteractionSource.Bind(selectionInteractions);
|
||||
bindings.Adopt(
|
||||
"world selection",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue