Add proxy actor safety test and doc update
Introduce a game-thread-only ProxyActorController that resolves and moves a placed proxy actor in a test cell for initial visual-control validation. Adds include/F4TProxyActorController.h and plugin/src/F4TProxyActorController.cpp which implement editor ID, base-actor, and fallback-form lookup paths, handle caching, throttled logging, movement throttling, and a simple player-offset teleport. Hooked UpdateSafetyTest into the existing periodic game-thread task in main.cpp. Updated docs/dev-log.md with the 2026-05-31 entry describing the test results and next steps. This is a temporary safety test (uses local player offset) intended to be replaced by real remote-player syncing later.
This commit is contained in:
@@ -572,3 +572,38 @@ Use this format for future updates:
|
||||
- ...
|
||||
```
|
||||
|
||||
## 2026-05-31
|
||||
|
||||
### What Changed
|
||||
|
||||
- Fixed proxy actor lookup for `F4TProxyRemotePlayer01REF`.
|
||||
- Added more robust lookup logic for the placed proxy actor.
|
||||
- Confirmed the plugin can control a placed actor reference in `F4TTestCell01`.
|
||||
- The proxy actor now moves to the local player position plus an offset.
|
||||
|
||||
### What Worked
|
||||
|
||||
- Fallout 4 launched through F4SE.
|
||||
- `coc F4TTestCell01` worked.
|
||||
- The proxy actor was found successfully.
|
||||
- The proxy actor teleported to the player position plus offset.
|
||||
- Actor movement occurred from the safe game-thread update path.
|
||||
- The networking receive thread still does not touch Fallout 4 actors.
|
||||
|
||||
### What Broke
|
||||
|
||||
- Nothing recorded.
|
||||
|
||||
### Notes
|
||||
|
||||
- This is the first successful visible actor-control test for Fallout 4 Together.
|
||||
- The proxy is still driven by local player position plus offset, not remote player state.
|
||||
- Dynamic spawning is still not implemented.
|
||||
- Remote actor syncing has not started yet.
|
||||
|
||||
### Next Steps
|
||||
|
||||
- Replace local-player-offset movement with remote player state movement.
|
||||
- Only move the proxy when the remote player is in the same cell/worldspace.
|
||||
- Snap movement first.
|
||||
- Add smoothing/interpolation later.
|
||||
Reference in New Issue
Block a user