40#include <SDL3/SDL_log.h>
43#include <entt/entt.hpp>
73 if (currentTick <= ackedTick)
78 auto it = localView.begin();
79 if (it == localView.end())
81 const entt::entity local = *it;
86 for (uint32_t t = ackedTick + 1; t <= currentTick; ++t) {
109 SDL_Log(
"[reconcile] %d ticks missing from input ring (replayed %d, range [%u..%u])",
Shared collision system for swept-AABB physics resolution.
Marker component identifying the locally controlled player entity.
Shared movement system implementing the Titanfall-inspired state machine.
Client-side prediction: run movement+collision locally each tick.
Shared ECS registry type alias for the game engine.
entt::registry Registry
Shared ECS registry type alias.
Definition Registry.hpp:11
Swept AABB and sphere collision queries against world geometry.
Client-only input sampling system — split into two halves so mouse look can run every iterate() (smoo...
Definition DebugUI.hpp:15
void runCollision(Registry ®istry, float dt, const physics::WorldGeometry &world)
Run one tick of swept-AABB collision for all physics entities.
Definition CollisionSystem.cpp:324
void runMovement(Registry ®istry, float dt, const physics::WorldGeometry &world)
Apply one tick of player movement physics to all eligible entities.
Definition MovementSystem.cpp:1256
void runReconciliation(Registry ®istry, const InputRingBuffer &ring, uint32_t ackedTick, uint32_t currentTick, float dt, const physics::WorldGeometry &world)
Replay stored inputs from ackedTick + 1 through currentTick on the local player, restoring its predic...
Definition ReconciliationSystem.hpp:66
Marker component that tags exactly one entity per client as the locally controlled player.
Definition LocalPlayer.hpp:12
All world collision geometry for one tick.
Definition SweptCollision.hpp:100