Files
Commonwealth-Online-Public/plugin
andrew 2aab83087f Debounce movement stop for animations/network
Add a short "moving" hold to reduce flicker when movement briefly stops. Introduces a 300ms stop-hold for both proxy animation sync and local player movement sampling: add chrono include and movingHoldUntil to ProxyAppliedAnimationState, a kProxyMovingStopHoldDuration constant, ApplyMovingHoldState and BuildDebouncedDesiredState in F4TProxyAnimationSync, and replace direct desired-state usage with the debounced version. In main.cpp add kMovementStopHoldDuration, ResolveMovementHoldState, refactor BuildPlayerMovementState, add an overloaded GetPlayerMovementState, and separate debug vs network sampling (with separate movingHoldUntil variables) so logging uses per-frame debug state while network sends use the debounced network state. Also gate diagnostic logging behind a flag. These changes aim to stabilize isMoving/isSprinting transitions and avoid rapid toggles between frames and network updates.
2026-06-04 17:34:16 +12:00
..
2026-05-30 18:13:54 +12:00

Fallout4Together Plugin

This is the native Fallout4Together plugin using CommonLibF4.

Requirements

  • XMake [3.0.0+]
  • C++23 Compiler (MSVC or Clang-CL)

Getting Started

git clone --recurse-submodules https://github.com/libxse/Fallout4Together
cd Fallout4Together

Build

To build the project, run the following command:

xmake build

Note: This will generate a build/windows/ directory in the project's root directory with the build output.

Build Output (Optional)

If you want to redirect the build output, set one of the following environment variables:

  • Path to a Mod Manager mods folder: XSE_FO4_MODS_PATH

    or

  • Path to a Fallout 4 install folder: XSE_FO4_GAME_PATH

Project Generation (Optional)

If you use Visual Studio, run the following command:

xmake project -k vsxmake

Note: This will generate a vsxmakeXXXX/ directory in the project's root directory using the latest version of Visual Studio installed on the system.

Alternatively, if you do not use Visual Studio, you can generate a compile_commands.json file for use with a laguage server like clangd in any code editor that supports it, like vscode:

xmake project -k compile_commands

Note: You must have a language server extension installed to make use of this file. I recommend clangd. Do not have more than one installed at a time as they will conflict with each other. I also recommend installing the xmake extension if available to make building the project easier.

Upgrading Packages (Optional)

If you want to upgrade the project's dependencies, run the following commands:

xmake repo --update
xmake require --upgrade

Documentation

Please refer to the Wiki for more advanced topics.