Add isCrouching to network, state and animation systems; enable proxy jump syncing with a jump-hold debounce and update animation descriptor and server tooling. Key changes: - Networking: F4TNetworking.h/cpp: added a_isCrouching, include "isCrouching" in transform packets and parsing, and logging. - Remote state: F4TRemotePlayerState.h: added isCrouching field. - Proxy animation: F4TProxyAnimationSync.*: added crouch fields, enabled jump sync, implemented ApplyJumpHoldState and jump hold timing, wrote crouch/jump bools into descriptors when available, updated event firing and logs. - Animation descriptor: F4AnimationDescriptor.cpp: added isJumping and isCrouching to bool variable list. - Local detection: main.cpp: added isCrouching in movement state, stubbed GetCrouchState(), adjusted jump hold timing and included crouch in outgoing transform calls. - Server/dev tooling: server/dev_server_app.py, fake_client.py, fake_player.py, README.md: added crouch reporting, toggle UI/control and fake client support for crouch, and updated docs/logging. - Docs: docs/dev-log.md updated with notes on jump/crouch fixes and testing. Rationale: ensure remote players can report crouch state and make jump animations transition reliably by debouncing jump state on proxies and writing available graph bools; also provide dev-server controls and fake-client support for testing.
31 lines
704 B
C++
31 lines
704 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
namespace F4T::Networking
|
|
{
|
|
std::string GetLocalPlayerLogPrefix();
|
|
bool ConnectToLocalServer();
|
|
void DisconnectFromLocalServer();
|
|
bool IsConnectedToServer();
|
|
bool SendTransformPacket(
|
|
float a_x,
|
|
float a_y,
|
|
float a_z,
|
|
float a_angleZ,
|
|
const char* a_movementType,
|
|
bool a_hasCellId = false,
|
|
std::uint32_t a_cellId = 0,
|
|
bool a_hasWorldspaceId = false,
|
|
std::uint32_t a_worldspaceId = 0,
|
|
bool a_isMoving = false,
|
|
bool a_isSprinting = false,
|
|
bool a_isSneaking = false,
|
|
bool a_isJumping = false,
|
|
bool a_isCrouching = false,
|
|
bool a_weaponDrawn = false,
|
|
float a_movementSpeed = 0.0F,
|
|
float a_animationGraphSpeed = -1.0F);
|
|
}
|