From 6cd00aacfa22fed6a54a9b812f6b069ad16feec0 Mon Sep 17 00:00:00 2001 From: untodesu Date: Sun, 29 Jun 2025 22:24:42 +0500 Subject: Move game sources into src subdirectory --- src/game/shared/factory.cc | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/game/shared/factory.cc (limited to 'src/game/shared/factory.cc') diff --git a/src/game/shared/factory.cc b/src/game/shared/factory.cc new file mode 100644 index 0000000..ad65928 --- /dev/null +++ b/src/game/shared/factory.cc @@ -0,0 +1,35 @@ +#include "shared/pch.hh" + +#include "shared/factory.hh" + +#include "shared/collision.hh" +#include "shared/dimension.hh" +#include "shared/globals.hh" +#include "shared/gravity.hh" +#include "shared/head.hh" +#include "shared/player.hh" +#include "shared/transform.hh" +#include "shared/velocity.hh" + +void shared_factory::create_player(Dimension* dimension, entt::entity entity) +{ + spdlog::debug("factory[{}]: assigning player components to {}", dimension->get_name(), static_cast(entity)); + + auto& collision = dimension->entities.emplace_or_replace(entity); + collision.aabb.min = glm::fvec3(-0.4f, -1.6f, -0.4f); + collision.aabb.max = glm::fvec3(+0.4f, +0.2f, +0.4f); + + auto& head = dimension->entities.emplace_or_replace(entity); + head.angles = glm::fvec3(0.0f, 0.0f, 0.0f); + head.offset = glm::fvec3(0.0f, 0.0f, 0.0f); + + dimension->entities.emplace_or_replace(entity); + + auto& transform = dimension->entities.emplace_or_replace(entity); + transform.chunk = chunk_pos(0, 2, 0); + transform.local = glm::fvec3(0.0f, 0.0f, 0.0f); + transform.angles = glm::fvec3(0.0f, 0.0f, 0.0f); + + auto& velocity = dimension->entities.emplace_or_replace(entity); + velocity.value = glm::fvec3(0.0f, 0.0f, 0.0f); +} -- cgit