Add optional movement-state fields (isMoving, isSprinting, isSneaking, isJumping, weaponDrawn, movementSpeed) to transform packets and wire them end-to-end. Plugin changes: extend F4TNetworking API and RemotePlayerState, derive movement speed/jump state on the game-thread, validate values, include fields when formatting transform JSON, and add throttled remote movement-state logging. main.cpp adds sampling, speed/vertical calculations, jump hold logic, and change-detection to avoid extra sends. Networking parsing (F4TNetworking.cpp) reads optional booleans/floats safely, preserves backwards compatibility, and clears movement-state logs on disconnect. Proxy controller includes a TODO note for future animation use. Server and docs: update protocol and packet docs, dev-log, server README, and fake_client.py to parse/display optional fields safely. Also add several .cursor rule files for coding, documentation, protocol, project overview, and testing guidance. This milestone prepares the data model for later animation/behavior work while keeping existing relay behavior unchanged.
31 lines
1.1 KiB
Plaintext
31 lines
1.1 KiB
Plaintext
---
|
|
description: Practical manual testing guidance for Fallout 4 Together changes
|
|
alwaysApply: true
|
|
---
|
|
|
|
# Testing Rules
|
|
|
|
When making changes, suggest practical tests the developer can run. Match the testing depth to the risk and scope of the change.
|
|
|
|
Useful project tests include:
|
|
- Running the Python server.
|
|
- Connecting one Fallout 4 instance.
|
|
- Connecting two Fallout 4 instances.
|
|
- Running `server/fake_client.py`.
|
|
- Checking `Fallout4Together.log`.
|
|
- Verifying transform packets are sent.
|
|
- Verifying remote player state is received.
|
|
- Verifying proxy actor movement in `F4TTestCell01`.
|
|
- Checking that movement state fields appear in logs.
|
|
- Checking that server output receives and relays packet fields correctly.
|
|
|
|
When a change touches multiplayer sync, include a short manual testing checklist covering:
|
|
- Server startup and client connection.
|
|
- Outgoing plugin packet fields.
|
|
- Server receive and relay behaviour.
|
|
- Remote state parsing.
|
|
- Proxy actor movement or visible in-game result.
|
|
- Relevant log output.
|
|
|
|
If a test cannot be run locally, say so clearly and explain the remaining risk.
|