andrew 65553a0c61 Drive proxy cadence from measured motion
Tie proxy locomotion/cadence to actual per-frame movement and motion-feedback instead of only replaying transmitted Speed.

Changes:
- docs/dev-log.md: add detailed dev log describing measured-cadence fix and cadence/animationSpeed work.
- plugin/include/F4TProxyPuppet.h: added NiPoint3 include and new API: SetProxyLocomotionState, SetProxyDesiredSpeed (legacy alias), and ApplyProxyLocomotionFrame.
- plugin/lib/commonlibf4/include/RE/A/ActorMotionFeedbackOutput.h: new tentative struct for motion-feedback output.
- plugin/lib/commonlibf4/include/RE/Fallout.h: include new ActorMotionFeedbackOutput header.
- plugin/src/F4TProxyActorController.cpp: track per-frame timing/puppet state, compute frame delta, use proxy->Move() with measured frameDelta and call ApplyProxyLocomotionFrame (instead of SetPosition/Lerp-only), and pass measured graph speed/direction to proxy.
- plugin/src/F4TProxyAnimationSync.cpp: use SetProxyLocomotionState to include direction when writing proxy locomotion state.
- plugin/src/F4TProxyPuppet.cpp: introduce ProxyLocomotionState map, sync controller motion fields, compute/push engine motion-feedback (via Compute/Update feedback vtable calls), use UpdateNoAI + manual motion feedback to drive cadence, implement ApplyProxyLocomotionFrame which derives velocity from world delta, clamps/chooses feedback speed (uses measured horizontal speed unless provided graph speed is valid), applies an idle threshold (<8 u/s -> idle), and writes graph speed back to the animation graph.

Why: This makes foot cadence reflect on-screen translation (eliminating mild foot slide/stop-overstay) by measuring applied displacement each frame, updating controller velocity/motion-feedback, and re-asserting animation graph inputs after UpdateNoAI.
2026-06-04 21:39:26 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00

Fallout 4 Together

Fallout 4 Together is an experimental research project exploring the possibility of adding basic multiplayer-style networking to Fallout 4.

The goal is not to create a full co-op campaign mod immediately. The first goal is much smaller:

Two Fallout 4 clients in a controlled test environment, with each player visible as a synced remote actor.

This project is currently in the research and prototype stage.

Project Goals

First Prototype

  • Load a native Fallout 4 plugin through F4SE
  • Connect to a local test server
  • Send local player position data
  • Receive remote player transform data
  • Represent another connected player using a placeholder actor
  • Restrict all testing to a custom test cell

Long-Term Ideas

  • Basic LAN multiplayer test mode
  • Remote player movement sync
  • Basic animation state sync
  • Basic chat or debug messages
  • Host-controlled test cell
  • Simple co-op combat arena

Non-Goals

This project is not currently trying to support:

  • Full Fallout 4 campaign co-op
  • Quest synchronization
  • Settlement synchronization
  • Full NPC/world state synchronization
  • VATS synchronization
  • Public server/MMO gameplay
  • Compatibility with large modlists

Those systems are extremely complex and are outside the scope of the first prototype.

Repository Layout

docs/             Project documentation and research notes
plugin/           Native F4SE/CommonLibF4 plugin work
creation-kit/     Creation Kit plugin files, Papyrus scripts, and test cell notes
server/           External multiplayer test server
protocol/         Network packet design and sync documentation
tools/            Helper scripts and utilities
test-data/        Example packets and test data
screenshots/      Development screenshots

Requirements

This project is expected to require:

  • Fallout 4 on PC
  • Fallout 4 Script Extender, F4SE
  • Fallout 4 Creation Kit
  • Visual Studio 2022 or newer
  • CMake or another supported C++ build system
  • A CommonLibF4-based plugin template
  • Git
  • A clean Fallout 4 test profile

Use a separate Fallout 4 installation or a dedicated modding profile for testing.

Recommended setup:

Fallout 4
F4SE
Creation Kit
Mod Organizer 2 or Vortex
Visual Studio
Git

Use a clean test save and avoid testing with a full personal modlist.

This repository does not include Fallout 4 game files, Bethesda assets, F4SE binaries, or any proprietary game code.

Users are responsible for owning Fallout 4 and installing required external tools themselves.

Status

Current status:

Research phase
Repository structure setup
Protocol planning
No playable multiplayer build yet

License

To be decided.

S
Description
No description provided
Readme
1.2 GiB
Languages
C++ 94.8%
ActionScript 1.6%
Python 1.4%
JavaScript 0.8%
Papyrus 0.6%
Other 0.8%