|
group2 0.1.0
CSE 125 Group 2
|
Powerup state manager system. More...
#include "PlayerStatusSystem.hpp"#include "PowerupSpawnerSystem.hpp"#include "ecs/components/AnimSnapshot.hpp"#include "ecs/components/BeamState.hpp"#include "ecs/components/ClientId.hpp"#include "ecs/components/CollisionShape.hpp"#include "ecs/components/GrenadeConfig.hpp"#include "ecs/components/Health.hpp"#include "ecs/components/Hitbox.hpp"#include "ecs/components/HitboxHistory.hpp"#include "ecs/components/InputSnapshot.hpp"#include "ecs/components/LagCompTarget.hpp"#include "ecs/components/PlayerVisState.hpp"#include "ecs/components/Position.hpp"#include "ecs/components/PowerupState.hpp"#include "ecs/components/RespawnTimer.hpp"#include "ecs/components/Velocity.hpp"#include "ecs/components/WeaponConfig.hpp"#include "ecs/components/WeaponState.hpp"#include "ecs/physics/Raycast.hpp"#include "ecs/registry/Registry.hpp"#include "ecs/systems/LagCompensation.hpp"#include "ecs/systems/WeaponSystem.hpp"#include <SDL3/SDL_log.h>#include <algorithm>#include <cmath>#include <glm/geometric.hpp>#include <glm/gtc/quaternion.hpp>Classes | |
| struct | HitboxHit |
| Skeleton-driven hitbox raycast (capsule-based). More... | |
| struct | HitscanHit |
| Result of a hitscan raycast. More... | |
Namespaces | |
| namespace | systems |
| Client-only input sampling system — split into two halves so mouse look can run every iterate() (smooth camera at any FPS) while movement keys run once per physics tick group (server-consistent). | |
Functions | |
| void | systems::runPowerups (Registry ®istry, float dt) |
| Run one tick of powerup logic for all players. | |
| HitscanHit | resolveHitscan (Registry ®istry, entt::entity shooter, glm::vec3 origin, glm::vec3 direction) |
| Full hitscan resolution: world geometry first, then players (closest wins). | |
| HitboxHit | resolveHitscanHitbox (Registry ®istry, entt::entity shooter, glm::vec3 origin, glm::vec3 direction, float bulletRadius=0.0f) |
| Full hitscan with skeleton-driven hitboxes. | |
Powerup state manager system.
|
inline |
Full hitscan resolution: world geometry first, then players (closest wins).
|
inline |
Full hitscan with skeleton-driven hitboxes.
World geometry first, then player hitbox capsules (closest wins). Falls back to the old AABB path for players without HitboxInstance.
| bulletRadius | Swept-sphere "cylinder hitreg" radius (world units) applied to PLAYER hitboxes only. World geometry stays a thin ray so bullets still require crosshair line-of-sight past walls. 0 = ray. |