Files
Commonwealth-Online-Public/plugin/include/F4TNetworking.h
T
2026-06-30 16:59:42 +12:00

44 lines
1.2 KiB
C++

#pragma once
#include "F4TRemotePlayerState.h"
#include <cstdint>
#include <span>
#include <string>
namespace F4T::Networking
{
std::string GetLocalPlayerLogPrefix();
bool ConnectToServer(const char* a_host, std::uint16_t a_port);
bool ConnectToLocalServer();
bool ConnectAndValidateServer(const char* a_host, std::uint16_t a_port, std::string& a_error);
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,
std::span<const F4T::RemotePlayerState::RemoteEquippedItem> a_equippedItems = {},
const F4T::RemotePlayerState::RemoteAppearance* a_appearance = nullptr);
bool SendWorldStatePacket(
float a_gameHour,
float a_gameDaysPassed,
bool a_hasWeatherFormId,
std::uint32_t a_weatherFormId,
bool a_timeSync = false);
}