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:
2026-05-31 21:57:32 +12:00
parent c5fdcf2dfb
commit 49819813da
4 changed files with 372 additions and 0 deletions
+35
View File
@@ -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.