InputBuffer struct
#include <Runtime/Input/Public/Input.h>
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.