From 1cc08c51eb4b0f95c30c0a98ad1fc5ad3459b2df Mon Sep 17 00:00:00 2001 From: Nicolas James Date: Wed, 12 Feb 2025 18:05:18 +1100 Subject: initial commit --- src/shared/player.hh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/shared/player.hh (limited to 'src/shared/player.hh') diff --git a/src/shared/player.hh b/src/shared/player.hh new file mode 100644 index 0000000..5929c5b --- /dev/null +++ b/src/shared/player.hh @@ -0,0 +1,46 @@ +#ifndef SHARED_PLAYER_HH_ +#define SHARED_PLAYER_HH_ + +#include + +#include + +#include "shared/math.hh" + +namespace shared { + +// Anything here goes over the wire. +struct player { +public: + using index_t = std::uint32_t; + + static constexpr float HEIGHT = 1.9f; + static constexpr float EYE_HEIGHT = HEIGHT * 0.8f; + static constexpr float HALFWIDTH = 0.25f; + +public: + std::uint32_t index = 0; + std::uint32_t commands = 0; + + shared::math::coords chunk_pos = {}; + glm::vec3 local_pos = {}; + + shared::math::angles viewangles = {}; + glm::vec3 velocity = {}; + +public: + enum mask : decltype(commands) { + forward = 1 << 0, + left = 1 << 1, + backward = 1 << 2, + right = 1 << 3, + jump = 1 << 4, + crouch = 1 << 5, + sprint = 1 << 6, + attack = 1 << 7 + }; +}; + +} // namespace shared + +#endif -- cgit v1.2.3