Add COVault109 solo-cell handling

Implement solo-cell logic to suppress transform packet sends and remote proxy representation while the local player is in COVault109, allowing first-time character creation to remain visually single-player. One entry location update is sent so other clients can hold stale proxies before suppression begins. Added F4TSoloCell.h helper for load-order-independent solo cell recognition by editor ID and cached FormID.
This commit is contained in:
2026-06-29 14:46:11 +12:00
parent aefeb8b51f
commit b505477e08
8 changed files with 153 additions and 16 deletions
+9
View File
@@ -31,6 +31,13 @@ Fallout 4 actors or references. If a remote player is not in the same
cell/worldspace, the controller holds that player's proxy at a hidden in-cell
position instead of leaving it at the last visible location.
`COVault109` is treated as a solo cell for the first-time character-creation
flow. On entry the plugin can send one location update so other clients hold any
stale proxy, then it suppresses outgoing transform packets while the local
player remains inside and the proxy controller skips remote representation. This
is a client-side visibility/isolation rule and does not change the transform
packet schema.
## Current Remote Player State Model
The plugin and fake client store remote players by `playerId`.
@@ -97,6 +104,8 @@ player exists.
resuming smoothing.
- Transform packets include movement state data (`isMoving`, `movementSpeed`,
`isSprinting`, `isSneaking`, `isJumping`, `weaponDrawn`).
- The plugin suppresses transform sends and proxy representation in the
`COVault109` solo cell.
- The game-thread proxy controller applies confirmed Havok animation graph
variables to runtime proxy actors from that remote state (locomotion, sneak,
jump, weapon drawn). Transform position/heading sync is unchanged.