InputBuffer struct

Public functions

void PushKey(SDL_Scancode key, bool down)
void AddMouseDelta(SimFloat dx, SimFloat dy)
void PushMouseButton(uint8_t button, bool down)
void InjectState(const uint8_t* keyData, SimFloat mouseDX, SimFloat mouseDY, uint8_t mouseButtons = 0)
Replace the entire key state + mouse delta + mouse buttons for the current write slot.
void SetViewAngles(SimFloat yaw, SimFloat pitch)
void Swap()
auto ReadEvent() -> InputData
auto GetEventCount() const -> uint16_t
auto IsKeyDown(SDL_Scancode key) const -> bool
auto IsMouseButtonDown(uint8_t button) const -> bool
auto IsActionDown(Action action) const -> bool
auto GetMouseDX() const -> SimFloat
auto GetMouseDY() const -> SimFloat
auto GetViewYaw() const -> SimFloat
Absolute view angles for this frame — the only input gameplay should derive facing from.
auto GetViewPitch() const -> SimFloat
void SnapshotKeyState(uint8_t* dst, size_t size) const
auto GetMouseButtonMask() const -> uint8_t
auto GetSwapPerfCount() const -> uint64_t
auto GetCurrentSwapTime() const -> uint64_t

Public variables

InputData Events
uint16_t EventCount
uint8_t KeyState
SimFloat MouseDX
SimFloat MouseDY
uint8_t MouseButtons
SimFloat ViewYaw
SimFloat ViewPitch
SimCommandBlock Commands
uint64_t SwapTimeUS
std::atomic<uint8_t> WriteSlot
uint8_t ReadSlot
uint16_t ReadCursor
uint64_t LastSwapPerfCount
uint64_t CurrentSwapTime

Function documentation

void InputBuffer::SetViewAngles(SimFloat yaw, SimFloat pitch)

Set the absolute view angles for the current write slot (carried forward on Swap). Written by the local Owner's look integration, or injected from the network input log.