|
group2 0.1.0
CSE 125 Group 2
|
| src | |
| client | |
| animation | |
| AnimationLibrary.cpp | Load FBX animation clips onto a shared skeleton |
| AnimationLibrary.hpp | Catalog of ozz animation clips shared across all animated entities |
| AnimationLocomotion.cpp | Pure locomotion clip/transition planner for CharacterAnimator |
| AnimationLocomotion.hpp | Pure locomotion clip/transition planner for CharacterAnimator |
| AnimationTesterUI.cpp | ImGui panel for driving the animation state machine in development |
| AnimationTesterUI.hpp | ImGui panel for driving the animation state machine in development |
| CharacterAnimator.cpp | Per-entity animator: state machine + sampling + blending + skin matrices |
| CharacterAnimator.hpp | Per-entity animator — state machine, sampling, blending, CPU skinning |
| CharacterRig.cpp | FBX loader that builds the ozz skeleton + bind-pose mesh data |
| CharacterRig.hpp | Shared skinned-character rig: skeleton, bind-pose mesh, skin weights |
| FbxImportUtils.cpp | Implementation of Assimp ↔ ozz ↔ GLM conversion helpers |
| FbxImportUtils.hpp | Assimp ↔ ozz ↔ GLM conversion helpers shared by the rig and animation library loaders |
| SkinningBackend.cpp | CPU linear-blend-skinning implementation |
| SkinningBackend.hpp | Pluggable skinning interface — phase-1 CPU LBS; GPU backend slots in later |
| SkinVertex.hpp | Bind-pose vertex layout used by the CPU skinning pipeline |
| app | |
| App.cpp | Manages main application lifecycle: initialization, event handling, main loop iteration, and cleanup |
| App.hpp | Top-level application object owning the window, renderer, and network client |
| AppContext.hpp | Borrowed dependencies shared by client screens |
| config | |
| InputBindings.cpp | |
| InputBindings.hpp | |
| UserSettings.cpp | |
| UserSettings.hpp | |
| debug | |
| ClientPerfRecorder.cpp | CSV and summary output for the client frame profiler |
| ClientPerfRecorder.hpp | Low-overhead client frame profiler that records play sessions to CSV |
| DebugUI.cpp | Implementation of the DebugUI overlay and all ImGui debug windows |
| DebugUI.hpp | Live ECS inspector overlay and debug windows powered by Dear ImGui |
| FrameRecorder.cpp | Implementation of FrameRecorder session management and CSV output |
| FrameRecorder.hpp | Per-frame state recorder for diagnosing camera jitter and position glitches |
| game | |
| Game.cpp | Implementation of the top-level Game class and SDL application callbacks |
| Game.hpp | Top-level client game class owning all subsystems and the main loop |
| host | |
| HostedServer.cpp | Platform-specific process management for locally hosted servers |
| HostedServer.hpp | Client-side owner for a locally launched authoritative server process |
| hud | |
| debug | |
| HudDebugPanel.cpp | |
| HudDebugPanel.hpp | ImGui panel for live-tweaking HUD widget layout and parameters |
| widgets | |
| AbilitySelectionWidget.cpp | Center-screen level-up ability choice prompt |
| AbilitySelectionWidget.hpp | Center-screen level-up ability choice prompt |
| AmmoCounter.cpp | Minimal ammo readout implementation |
| AmmoCounter.hpp | Minimal bottom-right ammo readout |
| ChatWidget.cpp | Bottom-left all-chat widget |
| ChatWidget.hpp | Bottom-left all-chat log and input row |
| CrosshairWidget.cpp | Voidfall crosshair — four amber tick marks + center dot |
| CrosshairWidget.hpp | Dynamic crosshair with configurable gap, thickness, and dot |
| DamageAccumWidget.cpp | |
| DamageAccumWidget.hpp | Running damage total displayed below the crosshair |
| DamageIndicator.cpp | Voidfall directional-damage arcs — red wedges around the screen edge pointing at where the hit came from |
| DamageIndicator.hpp | |
| DamageNumberWidget.cpp | |
| DamageNumberWidget.hpp | Floating in-world damage numbers projected to screen space |
| EmoteWheelWidget.cpp | Radial emote-selection wheel |
| EmoteWheelWidget.hpp | Radial emote-selection wheel (hold-B), styled like a grenade wheel |
| EnemyWorldHealthBar.cpp | Voidfall floating enemy HP bar implementation |
| EnemyWorldHealthBar.hpp | Floating HP/shield bar above each on-screen enemy |
| EquipmentSlots.cpp | Bottom-center two-ability SVG cooldown widget |
| EquipmentSlots.hpp | Bottom-center two-ability SVG cooldown widget |
| EquippedWeaponsWidget.cpp | Stacked primary/secondary weapon slot HUD widget |
| EquippedWeaponsWidget.hpp | Stacked primary/secondary weapon slot HUD widget |
| GravityIndicator.cpp | Voidfall gravity widget — square panel, dotted ring, amber arrow |
| GravityIndicator.hpp | Bottom-right gravity-direction widget — small circle with arrow |
| GrenadeSlotsWidget.cpp | Three-slot grenade inventory row |
| GrenadeSlotsWidget.hpp | Three-slot grenade inventory row |
| HealthArmorBar.cpp | SVG-framed health and shield bar |
| HealthArmorBar.hpp | Voidfall vitals bar with armor layered over health |
| HitMarkerWidget.cpp | Voidfall hit-marker with per-type shape |
| HitMarkerWidget.hpp | Voidfall hit-marker — distinct shape per confirm type |
| KdaCounter.cpp | Voidfall K/A/D counter implementation |
| KdaCounter.hpp | Top-right K/A/D counter — large amber "K", medium "A" + "D" |
| KillcamBoxWidget.cpp | Floating killer nickname for the killcam death screen |
| KillcamBoxWidget.hpp | Floating killer nickname on the killcam death screen |
| KillFeed.cpp | Voidfall kill-feed implementation |
| KillFeed.hpp | Voidfall sliding kill feed (top-right) |
| LevelBarWidget.cpp | Ability level progress bar below the ability slots |
| LevelBarWidget.hpp | Ability level progress bar below the ability slots |
| Minimap.cpp | Voidfall radar SVG with yaw-relative enemy dots |
| Minimap.hpp | |
| MiniScoreboardWidget.cpp | Compact top-right scoreboard summary |
| MiniScoreboardWidget.hpp | Compact top-right scoreboard summary |
| PickupNotification.cpp | Voidfall pickup-notification implementation |
| PickupNotification.hpp | Right-side slide-in messages for items just picked up |
| PickupPrompt.cpp | |
| PickupPrompt.hpp | On-screen "Press <binding> to pick up <Weapon>" hint shown when a weapon pickup is currently actionable for the local player |
| PopupNotification.cpp | Bottom-center transient HUD popup messages |
| PopupNotification.hpp | Bottom-center transient HUD popup messages |
| PrematchBanner.cpp | |
| PrematchBanner.hpp | Match phase overlay: warmup waiting message, countdown integer, and post-match result |
| RailgunScopeWidget.cpp | Railgun scope overlay and charge readout |
| RailgunScopeWidget.hpp | Railgun scope overlay shown while holding right click |
| RoundTimer.cpp | |
| RoundTimer.hpp | |
| Scoreboard.cpp | |
| Scoreboard.hpp | |
| ScreenDecalWidget.cpp | Top and bottom screen decal HUD widgets |
| ScreenDecalWidget.hpp | Top and bottom screen decal HUD widgets |
| ShotgunPelletWidget.cpp | 9-pellet star-pattern readout for shotgun blasts |
| ShotgunPelletWidget.hpp | Per-shot 9-pellet readout for the shotgun |
| TeamStatusBar.cpp | |
| TeamStatusBar.hpp | |
| VignetteWidget.cpp | |
| VignetteWidget.hpp | Full-screen vignette overlays for damage, shield break, and death |
| Hud.cpp | Top-level HUD orchestrator |
| Hud.hpp | Top-level HUD system — owns widgets, renderer, context, tweens |
| HudContext.cpp | Immediate-mode draw API implementation |
| HudContext.hpp | Immediate-mode draw API for HUD widgets |
| HudIcons.cpp | Procedural vector icon implementations |
| HudIcons.hpp | Procedural vector icons for the VOIDFALL HUD |
| HudRenderer.cpp | GPU backend implementation for the HUD system |
| HudRenderer.hpp | GPU backend for the HUD system — owns offscreen target, pipeline, and vertex buffer upload |
| HudSvgAtlas.cpp | Runtime GPU atlas for LunaSVG-rasterized HUD SVG assets |
| HudSvgAtlas.hpp | Runtime GPU atlas for LunaSVG-rasterized HUD SVG assets |
| HudSvgRaster.cpp | LunaSVG-backed CPU rasterization for HUD SVG assets |
| HudSvgRaster.hpp | CPU SVG raster helpers used by the HUD SVG atlas and tests |
| HudTween.cpp | Tween pool + easing function implementations |
| HudTween.hpp | Lightweight fixed-pool tween engine for HUD animations |
| HudTypes.hpp | Shared types for the HUD system |
| HudWidget.hpp | Base struct for all HUD widgets |
| VoidfallStyle.hpp | VOIDFALL HUD design tokens — colors, sizes, and shared helpers |
| main | |
| main.cpp | Client application entry point using SDL callback-driven lifecycle |
| menus | |
| host | |
| ui | |
| HostConfigUI.cpp | ImGui implementation of local server hosting controls |
| HostConfigUI.hpp | ImGui widget for local server hosting controls |
| HostConfig.cpp | Host-configuration screen lifecycle and App transition requests |
| HostConfig.hpp | Host-configuration screen for launching and managing a local server |
| loading | |
| LoadingScreen.cpp | Terminal-style loading screen implementation |
| LoadingScreen.hpp | Terminal-style loading screen shown before synchronous game initialization |
| lobby | |
| ui | |
| LobbyUI.cpp | ImGui implementation of the lobby player-list panel and ready/start controls |
| LobbyUI.hpp | ImGui widgets for the pre-match lobby player list and ready/start controls |
| Lobby.cpp | Lobby screen implementation: network callback wiring, per-frame rendering, and countdown logic |
| Lobby.hpp | Pre-match lobby screen: player list, ready-up flow, and match-start handoff |
| main | |
| ui | |
| MainMenuUI.cpp | ImGui implementation of the tabbed server browser widget |
| MainMenuUI.hpp | ImGui widget for the main menu server join form |
| MainMenu.cpp | MainMenu screen implementation: form handling and frame rendering |
| MainMenu.hpp | Main menu screen with server join form |
| pause | |
| ConfirmModal.cpp | |
| ConfirmModal.hpp | |
| PauseMenu.cpp | |
| PauseMenu.hpp | |
| postmatch | |
| PostMatchResult.hpp | Final scoreboard snapshot shown after a match ends |
| PostMatchScoreboard.cpp | Dedicated post-match scoreboard screen implementation |
| PostMatchScoreboard.hpp | Dedicated post-match scoreboard screen |
| settings | |
| SettingsEditor.cpp | |
| SettingsEditor.hpp | |
| SettingsScreen.cpp | Dedicated front-end settings screen lifecycle and rendering |
| SettingsScreen.hpp | Dedicated front-end settings screen |
| SystemMenuOverlay.cpp | |
| SystemMenuOverlay.hpp | |
| title | |
| ui | |
| TitleScreenUI.cpp | ImGui implementation of the top-level landing menu |
| TitleScreenUI.hpp | ImGui widget for the top-level landing menu |
| TitleScreen.cpp | Landing menu screen lifecycle and frame rendering |
| TitleScreen.hpp | Landing menu screen for top-level navigation |
| MenuTheme.cpp | Implementation of the shared front-end menu theme |
| MenuTheme.hpp | Shared visual theme + helpers for the front-end ImGui menus (home/host/lobby/pause) |
| network | |
| discovery | |
| GlobalDiscoveryClient.cpp | Client-side UDP global server browser and NAT-assist helper |
| GlobalDiscoveryClient.hpp | Client-side global server browser and NAT-assist helper |
| Client.cpp | Implementation of the TCP client connection and message I/O |
| Client.hpp | TCP client for connecting to the game server |
| DiscoveryClient.cpp | |
| DiscoveryClient.hpp | |
| EntityInterpolation.cpp | Implementation of append + bracket-search sampling for InterpolationBuffer |
| EntityInterpolation.hpp | Append + lookup helpers for the per-entity InterpolationBuffer |
| particles | |
| effects | |
| BulletHoleDecal.cpp | Implementation of ring-buffer decal pool for bullet holes and scorch marks |
| BulletHoleDecal.hpp | Ring-buffer pool of world-space decal quads for bullet holes and scorch marks |
| DeathDissolveEffect.cpp | Implementation of the Thanos-snap death dissolve |
| DeathDissolveEffect.hpp | "Thanos snap" death dissolve — a character's last pose crumbles into wind-swept particles that drift away and fade |
| EnergyTeslaArcEffect.cpp | Implementation of sustained Railgun-style EnergyGun lightning |
| EnergyTeslaArcEffect.hpp | Sustained Railgun-style dense lightning for the EnergyGun |
| ExplosionEffect.cpp | Implementation of shockwave ring and fireball explosion effect |
| ExplosionEffect.hpp | Shockwave ring and fireball explosion effect for rocket impacts |
| ExplosionVfxEffect.cpp | Fresh layered explosion, fire, smoke, spark, and scorch VFX |
| ExplosionVfxEffect.hpp | Fresh layered explosion, fire, smoke, spark, and scorch VFX |
| HitscanEffect.cpp | Implementation of hitscan energy beam with fBm path deviation |
| HitscanEffect.hpp | Hitscan energy beam effect using fBm path deviation and Bezier spines |
| ImpactEffect.cpp | Implementation of spark burst and impact flash effect |
| ImpactEffect.hpp | Spark burst and impact flash effect for projectile hits |
| RibbonTrail.cpp | Implementation of camera-facing ribbon trail builder |
| RibbonTrail.hpp | Camera-facing ribbon trail builder for slow/arcing projectiles |
| SmokeEffect.cpp | Implementation of volumetric smoke billboard particle effect |
| SmokeEffect.hpp | Volumetric smoke billboard particle manager with back-to-front sorting |
| TeslaBeamEffect.cpp | Implementation of the sustained, curved Tesla-Cannon energy arc |
| TeslaBeamEffect.hpp | Continuous, curved energy-arc beam for the auto-lock Tesla Cannon |
| TracerEffect.cpp | Implementation of oriented-capsule tracer effect for projectiles |
| TracerEffect.hpp | Oriented-capsule tracer management for fast-bullet projectile entities |
| sdf | |
| SdfAtlas.cpp | SDF glyph atlas baking and GPU upload implementation |
| SdfAtlas.hpp | SDF glyph atlas loader and GPU texture manager |
| SdfFont.hpp | Glyph metric types for the SDF text rendering system |
| SdfRenderer.cpp | SDF text renderer implementation for world-space and screen-space text |
| SdfRenderer.hpp | High-level SDF text renderer for world-space and screen-space text |
| GpuParticleBuffer.cpp | Implementation of GPU/transfer buffer management for particle data |
| GpuParticleBuffer.hpp | GPU storage/vertex buffer paired with a CPU transfer buffer for particle uploads |
| ParticleEvents.hpp | Event structs dispatched via entt::dispatcher for particle spawning |
| ParticlePool.hpp | Fixed-capacity particle pool with O(1) swap-remove |
| ParticleRenderer.cpp | Implementation of all particle GPU pipelines, buffer uploads, and draw calls |
| ParticleRenderer.hpp | Owns all particle GPU pipelines and per-category GPU buffers |
| ParticleSystem.cpp | Implementation of the top-level particle system orchestrator |
| ParticleSystem.hpp | Top-level particle system orchestrator owning all effect sub-systems |
| ParticleTypes.hpp | GPU-uploadable particle structs for all effect categories |
| renderer-new | |
| Asset.hpp | GPU asset types and global registries for the new renderer |
| AssetLoader.cpp | Implementation of AssetLoader — Assimp scene import and mesh extraction |
| AssetLoader.hpp | Assimp-based model loader for the new renderer pipeline |
| Boilerplate.cpp | Implementation of SDL3 GPU boilerplate helpers |
| Boilerplate.hpp | SDL3 GPU helper utilities: shader loading, buffer/texture creation, pipeline setup |
| Camera.cpp | Implementation of the new renderer Camera class |
| Camera.hpp | Camera class for the new renderer with combined view-projection matrix |
| GraphicsConfig.cpp | Implementation of loadGraphicsConfig() |
| GraphicsConfig.hpp | Graphics configuration loaded from config.toml at startup |
| NewRenderer.cpp | Implementation of the work-in-progress NewRenderer |
| NewRenderer.hpp | Work-in-progress SDL3 GPU renderer |
| RendererTypes.hpp | Shared data types exchanged between Game (producer) and NewRenderer (consumer) |
| ShaderUtils.cpp | Implementation of shared shader-loading utilities |
| ShaderUtils.hpp | Shared shader-loading utilities used by Renderer and ParticleRenderer |
| SkinnedRenderer.cpp | Implementation of the skinned-character subsystem |
| SkinnedRenderer.hpp | Self-contained renderer subsystem for skinned (animated) characters |
| sfx | |
| AudioMath.cpp | Pure spatial-audio helper implementation |
| AudioMath.hpp | Pure helpers for spatial audio attenuation, panning, Doppler, and occlusion |
| AudioRuntime.cpp | Data-driven Wwise-like audio manifest and runtime resolver |
| AudioRuntime.hpp | Wwise-like data-driven audio runtime definitions and resolver |
| SfxEvents.hpp | SFX-specific event structs |
| SfxSystem.cpp | SDL-backed mixer, spatial SFX, and voice-stream playback facade |
| SfxSystem.hpp | Client-side sound effects system |
| SfxTypes.hpp | Sound effect identifiers, categories, and the SoundClip data type |
| systems | |
| GamepadAimAssistSystem.hpp | AAA-style controller aim assist — applied after runGamepadLook |
| InputRingBuffer.hpp | Per-tick history of stamped input snapshots, keyed by clientPredictTick |
| InputSampleSystem.hpp | Client-only input sampling for mouse look and movement keys |
| InputSendSystem.hpp | Serialises and sends the local player's InputSnapshot to the server |
| KillFeedEvent.hpp | |
| PredictionSystem.hpp | Client-side prediction: run movement+collision locally each tick |
| ReconciliationSystem.hpp | Replay client-stored inputs to recover prediction after a server snapshot apply |
| util | |
| InputCapture.cpp | Implementation of mouse/keyboard capture helpers used at screen transitions |
| InputCapture.hpp | Acquire and release SDL mouse/keyboard capture across screen transitions |
| LocalAddress.cpp | Platform helpers for selecting a displayable local LAN IPv4 address |
| LocalAddress.hpp | Helpers for displaying local network addresses in client UI |
| WorkerPool.cpp | Implementation of the tiny persistent parallel-for thread pool |
| WorkerPool.hpp | Tiny persistent thread pool for parallel-for over short job ranges |
| voice | |
| VoiceCapture.cpp | SDL recording plus Opus voice encoding |
| VoiceCapture.hpp | SDL recording plus Opus encoding for push-to-talk voice chat |
| VoiceChatSystem.cpp | Client-side voice capture, decode, jitter, and spatial playback |
| VoiceChatSystem.hpp | Client-side push-to-talk voice capture, decode, jitter, and spatial playback |
| VoiceCodec.cpp | Opus encoder/decoder wrappers for 48 kHz mono voice frames |
| VoiceCodec.hpp | Thin RAII wrappers around the Opus encoder and decoder used by voice chat |
| VoiceJitterBuffer.cpp | Bounded jitter buffer implementation |
| VoiceJitterBuffer.hpp | Small bounded sequence buffer for unreliable voice frames |
| IScreen.cpp | Shared event and frame helpers used by every menu IScreen |
| IScreen.hpp | Abstract interface for top-level application screens (lobby, in-game) |
| clientbot | |
| Bot.cpp | Implementation of the headless client bot |
| Bot.hpp | Headless network-only client bot for load-testing the server |
| main.cpp | Multi-bot load-test launcher |
| directory | |
| main | |
| main.cpp | Global directory service entry point |
| network | |
| GlobalDirectoryServer.cpp | UDP-only central directory, NAT assist, and relay service |
| GlobalDirectoryServer.hpp | UDP-only central directory, NAT assist, and relay service |
| ecs | |
| abilities | |
| Ability.hpp | Defines the shared interface every ability implements |
| AbilityRegistry.cpp | Stores every ability available in the game and maps type to ability |
| AbilityRegistry.hpp | Stores every ability available in the game and maps type to ability |
| AbilityTuning.hpp | Shared tuning and metadata helpers for selectable abilities |
| DashAbility.cpp | Dash ability implementation |
| DashAbility.hpp | Defines the dash ability implementation |
| GrappleAbility.cpp | Grapple ability implementation |
| GrappleAbility.hpp | Defines the grapple ability implementation |
| GravityAbility.cpp | Gravity flip ability implementation |
| GravityAbility.hpp | Defines the gravity flip ability implementation |
| RecallAbility.cpp | Recall marker/teleport ability implementation |
| RecallAbility.hpp | Defines the recall marker/teleport ability implementation |
| WallhackAbility.cpp | Tier-2 wallhack reveal implementation |
| WallhackAbility.hpp | Tier-2 ability: briefly reveal enemies through walls (red chams) |
| components | |
| AbilityState.hpp | ECS component that tracks abilities and ability level |
| AnimatedCharacter.hpp | ECS component wiring an entity to its per-entity CharacterAnimator |
| AnimSnapshot.hpp | PR-27 — per-entity animation state snapshot, decoupled from CharacterAnimator |
| BeamLockState.hpp | Server-side lock-on state for auto-lock beam weapons (Tesla Cannon) |
| BeamState.hpp | Continuous beam weapon state component |
| ClientId.hpp | Network client identifier component for multiplayer entities |
| CollisionShape.hpp | Collision shape component — AABB or vertical capsule |
| Controllable.hpp | Client side Tag component — entity is eligible to receive player input |
| DeathInfo.hpp | Component for enemy information upon death |
| DroppedWeapon.hpp | In-world weapon-pickup entity dropped when a player dies |
| EmoteCatalog.hpp | Neutral catalog of selectable emotes (no animation/render deps) |
| Explosion.hpp | Transient explosion request component |
| FireField.hpp | Persistent area-of-effect that damages players inside it (Molotov) |
| GrenadeConfig.hpp | Per-grenade-type tuning data (throw, flight, detonation) |
| GrenadeState.hpp | Player grenade equipment state |
| GripPose.cpp | TOML loader/saver for per-weapon hand grip poses (pitch+yaw schema) |
| GripPose.hpp | Authored per-weapon hand grip poses (Phase C of the AAA IK overhaul) |
| Health.hpp | Player health and armor |
| HealthPackSpawner.hpp | Health spawner information |
| Hitbox.hpp | Skeleton-driven hitbox types: body regions, capsule definitions, damage profiles, and per-entity runtime state |
| HitboxHistory.hpp | Server-side ring buffer of recent hitbox capsule snapshots per entity |
| InputSnapshot.hpp | Per-tick player input snapshot for networking and prediction |
| InterpolationBuffer.hpp | Per-entity ring of recent snapshot samples for renderer interpolation |
| JumpPad.hpp | Jump pad trigger information |
| Killzone.hpp | Killzone trigger information (lava pits, void floors, etc.) |
| LagCompTarget.hpp | Per-shooter rewind target for lag-compensated hitscan |
| LocalPlayer.hpp | Marker component identifying the locally controlled player entity |
| Orientation.hpp | Orientation + angular velocity components for dynamic rigid bodies |
| ParticleEmitterTag.hpp | Particle emitter tag component for environmental effects |
| Player.hpp | Player component |
| PlayerColor.hpp | Per-player tint color component (replicated to clients) |
| PlayerColors.hpp | Palette + tunables for the per-player color tint feature |
| PlayerMatchStats.hpp | Component for player match-related stats |
| PlayerName.hpp | Per-player display name (nickname) — replicated to clients |
| PlayerNicknames.hpp | Curated animal-handle list used as default player nicknames |
| PlayerSimState.hpp | Server-only locomotion bookkeeping (timers, blacklists, lurch state) |
| PlayerStateEnums.hpp | Locomotion mode + wall-side enums shared by PlayerVisState and PlayerSimState |
| PlayerVisState.hpp | Visible / replicated half of the player locomotion state |
| Position.hpp | World-space position component for ECS entities |
| PowerupSpawner.hpp | Powerup spawner information |
| PowerupState.hpp | Powerup state information |
| PreviousPosition.hpp | Previous-tick position component for render interpolation |
| Projectile.hpp | Projectile component and weapon/surface type enumerations |
| Ragdoll.hpp | Ragdoll components — bone-to-rigid-body mapping for character death |
| Renderable.hpp | Renderable component linking ECS entities to renderer model instances |
| RespawnPoint.hpp | Player spawn point component with cooldown state |
| RespawnTimer.hpp | Component for tracking player respawn times |
| RibbonEmitter.hpp | Ribbon trail emitter component for slow projectiles |
| RigidBody.hpp | Dynamic-body state for the Phase 6+ physics core |
| TracerEmitter.hpp | Tracer streak emitter component for fast projectiles |
| TriggerVolume.hpp | Trigger-volume marker component |
| Velocity.hpp | Linear velocity component for ECS entities |
| ViewmodelConfig.hpp | Per-weapon viewmodel, third-person, and recoil tuning parameters (header-only) |
| WeaponConfig.hpp | Static gameplay tuning data for each weapon type |
| WeaponHoldPose.cpp | TOML loader/saver for per-weapon third-person FK hold poses |
| WeaponHoldPose.hpp | Authored per-weapon third-person hold pose (FK weapon-hold rewrite) |
| WeaponSpawner.hpp | Weapon spawner information |
| WeaponState.hpp | Weapon state component for armed entities |
| physics | |
| BroadphaseTree.cpp | Implementation of the Box2D-style dynamic AABB tree |
| BroadphaseTree.hpp | Dynamic AABB tree for O(log n) overlap queries |
| CollisionEvents.cpp | Implementation of the per-tick collision event queue |
| CollisionEvents.hpp | Per-tick collision-event queue |
| ContactCache.cpp | Implementation of the persistent contact cache |
| ContactCache.hpp | Per-pair contact manifold cache for warm-starting the solver |
| ContactManifold.hpp | Multi-point contact manifold + persistent contact cache |
| CookedMeshFormat.cpp | Serialization + deserialization of cooked trimesh blobs |
| CookedMeshFormat.hpp | Binary on-disk format for cooked WorldTriMesh collision data |
| DebugCollisionDraw.cpp | Implementation of the thread-local contact debug accumulator |
| DebugCollisionDraw.hpp | Debug accumulator for physics contact points and normals |
| DeterminismHash.cpp | FNV-1a state hash implementation |
| DeterminismHash.hpp | Deterministic state-hash for CI golden testing |
| Forces.cpp | Implementation of the force / impulse / torque API |
| Forces.hpp | Unified force / impulse / torque API |
| Inertia.hpp | Analytical inertia tensors for the primitive collision shapes |
| Joints.cpp | Implementation of joint constraint solving (Phase 11) |
| Joints.hpp | Constraint definitions for point, hinge, cone-twist, and 6-DOF joints |
| KccFrameResult.hpp | Per-tick collision feedback emitted by the player KCC |
| MapLoader.cpp | Assimp-based collision extraction from map GLB files |
| MapLoader.hpp | Load collision geometry (and optionally visual data) from a map GLB file |
| Movement.cpp | Implementation of Quake-style movement physics functions |
| Movement.hpp | Pure physics math for velocity, friction, and acceleration |
| PhaseDiagnostic.cpp | Implementation of the per-tick player physics telemetry |
| PhaseDiagnostic.hpp | Per-tick player physics telemetry for diagnosing phase-through bugs |
| PhysicsConstants.hpp | All physics tuning constants in one place |
| PhysicsPerfStats.hpp | Optional per-frame physics/KCC counters for client performance captures |
| RagdollPbd.cpp | Position-Based-Dynamics ragdoll constraint enforcement |
| RagdollPbd.hpp | Position-Based-Dynamics ragdoll constraint system |
| Raycast.hpp | Shared hitscan raycasting against world geometry and player hitboxes |
| SimdAabb.hpp | SIMD AABB-vs-AABB and ray-vs-AABB batch helpers |
| Sleep.cpp | Sleep + island wake propagation implementation |
| Sleep.hpp | Body sleeping + constraint-island detection |
| Solver.cpp | Sequential-Impulse (PGS) solver implementation |
| Solver.hpp | Sequential-Impulse (PGS) constraint solver for contacts + joints |
| SurfaceType.hpp | Surface-material classification shared across collision, raycasts, VFX, SFX, and damage falloff |
| SweptCollision.cpp | Implementation of swept AABB and sphere collision queries |
| SweptCollision.hpp | Swept AABB and sphere collision queries against world geometry |
| TitanfallConstants.hpp | Titanfall-inspired movement constants adapted to Quake units |
| TriMeshCollision.cpp | BVH builder, edge-welding cooker, and runtime triangle-mesh queries |
| TriMeshCollision.hpp | Triangle-mesh collision with BVH acceleration and seam welding |
| VHACDImpl.cpp | Single translation unit that compiles the V-HACD implementation |
| WallDetection.cpp | Implementation of wall detection |
| WallDetection.hpp | Wall detection against static world collision |
| WorldData.hpp | Shared world geometry for collision / movement / raycast systems |
| registry | |
| Registry.hpp | Shared ECS registry type alias for the game engine |
| systems | |
| AbilitySystem.cpp | |
| AbilitySystem.hpp | Ability Management System |
| CollisionSystem.cpp | Implementation of swept-AABB collision detection and response |
| CollisionSystem.hpp | Shared collision system for swept-AABB physics resolution |
| DroppedWeaponSystem.cpp | Update system for player-dropped weapon pickups |
| DroppedWeaponSystem.hpp | Update system for player-dropped weapon pickups |
| DynamicsSystem.cpp | Implementation of the rigid-body dynamics tick |
| DynamicsSystem.hpp | Per-tick orchestration of the rigid-body dynamics pipeline |
| ExplosionSystem.cpp | Explosion request processing and radial damage |
| ExplosionSystem.hpp | Explosion request processing and radial damage |
| FireSystem.cpp | Tick all active FireField entities: apply DoT damage and expire |
| FireSystem.hpp | Tick all active FireField entities: apply DoT damage and expire |
| HealthPackSpawnerSystem.cpp | Health pack spawner manager system |
| HealthPackSpawnerSystem.hpp | Health pack spawner manager system |
| HitboxSystem.cpp | Transform skeleton joint poses into world-space hitbox capsules |
| HitboxSystem.hpp | System that transforms skeleton-driven hitbox definitions from bone-local space into world-space capsules every tick |
| JumpPadSystem.cpp | Jump pad trigger system |
| JumpPadSystem.hpp | Jump pad trigger system: launch overlapping players upward |
| KillzoneSystem.cpp | Killzone trigger system |
| KillzoneSystem.hpp | Killzone trigger system: kill any player overlapping a killzone |
| KinematicCharacterController.cpp | Capsule KCC implementation over static world geometry |
| KinematicCharacterController.hpp | Focused capsule KCC step for player/world collision resolution |
| LagCompensation.hpp | RAII guard for hitbox-rewind lag compensation |
| MatchSystem.cpp | Implementation of the MatchSystem that checks for match win conditions and updates match state accordingly |
| MatchSystem.hpp | Match system for handling match logic and win conditions |
| MovementSystem.cpp | Implementation of the Titanfall-inspired movement state machine |
| MovementSystem.hpp | Shared movement system implementing the Titanfall-inspired state machine |
| PickupGeometry.hpp | Shared geometry helpers for weapon-pickup proximity tests |
| PlayerStatusSystem.cpp | Player status manager system |
| PlayerStatusSystem.hpp | Player status manager for things like life state and healing |
| PowerupSpawnerSystem.cpp | Powerup spawner manager system |
| PowerupSpawnerSystem.hpp | Powerup spawner manager system |
| PowerupSystem.cpp | Powerup state manager system |
| PowerupSystem.hpp | Powerup state manager system |
| RagdollSystem.cpp | Implementation of ragdoll spawn / tick |
| RagdollSystem.hpp | Spawn / despawn ragdolls and tick their per-frame state |
| Systems.hpp | Top-level ECS systems namespace with placeholder update function |
| TriggerSystem.cpp | Implementation of the trigger-volume overlap system |
| TriggerSystem.hpp | Per-tick trigger-volume overlap detection |
| WeaponSpawnerSystem.cpp | Weapon spawner manager system |
| WeaponSpawnerSystem.hpp | Weapon spawner manager system |
| WeaponSystem.cpp | Weapon state manager system |
| WeaponSystem.hpp | Weapon state manager system |
| AssetCatalog.hpp | Static asset loading and render-default metadata |
| AssetRegistry.hpp | Central registry mapping named assets to renderer model indices |
| MapConfig.hpp | Single source of truth for which map is loaded and how, shared by client and server |
| network | |
| crypto | |
| HmacSha256.cpp | Minimal SHA-256 / HMAC-SHA256 implementation |
| HmacSha256.hpp | Small SHA-256 and HMAC-SHA256 helpers for relay-token signing |
| discovery | |
| GlobalDiscoveryProtocol.cpp | Shared wire helpers for global server browser and NAT assist |
| GlobalDiscoveryProtocol.hpp | Shared wire helpers for global server browser and NAT assist |
| lobby | |
| LobbyStatus.hpp | Shared lobby data types exchanged between server and clients |
| transport | |
| FragmentReassembler.hpp | Per-connection assembly buffer for fragmented UDP packets |
| PacketHeader.hpp | Wire format helpers for the UDP-first transport layer |
| UdpEndpoint.cpp | Implementation of the SDL3_net UDP datagram wrapper |
| UdpEndpoint.hpp | Thin wrapper over SDL3_net's NET_DatagramSocket |
| UdpSessionTransport.cpp | UDP-first session transport implementation |
| UdpSessionTransport.hpp | UDP-first session transport with handshake, reliability, and relay routing |
| ChatProtocol.cpp | Text-chat packet helpers |
| ChatProtocol.hpp | Bounded text-chat packet helpers shared by client, server, and tests |
| DiscoverySettings.hpp | Runtime host-controlled discovery advertisement settings |
| MatchConfig.hpp | |
| MatchStatus.hpp | Shared definitions for match status and state synchronization between server and clients |
| MessageStream.cpp | Implementation of the MessageStream length-prefixed framing layer |
| MessageStream.hpp | Length-prefixed message framing layer over a TCP stream socket |
| NetKillEvent.hpp | Structure of kill event broadcasted from server to clients |
| NetworkConfig.cpp | Implementation of loadNetworkConfig() |
| NetworkConfig.hpp | Network configuration loaded from config.toml at startup |
| OutboundQueue.cpp | Implementation of the per-client outbound message queue |
| OutboundQueue.hpp | Per-client outbound message queue with replace-on-stale semantics |
| PacketType.hpp | Network packet type identifiers for client-server communication |
| RegistryArchive.hpp | Lightweight binary serialization archives for ECS component snapshots |
| RegistrySerialization.cpp | Implementation of ECS registry serialization for network transport |
| RegistrySerialization.hpp | Serialize and deserialize the entt ECS registry for network replication |
| RelayToken.hpp | Opaque relay authorization token shared by discovery and transport |
| RosterEvent.hpp | |
| ServerName.hpp | Shared server-name validation helpers |
| ShotDebugReport.hpp | Wire-format types for the PR-20 lag-comp shot debug visualizer |
| ShotEvent.hpp | Wire-format particle effect event broadcast from server to all clients |
| VoiceProtocol.cpp | Opus voice-frame packet helpers |
| VoiceProtocol.hpp | Bounded Opus voice-frame packet helpers |
| server | |
| game | |
| LagCompMath.hpp | |
| ServerGame.cpp | Implementation of the server-side game loop, tick logic, and player management |
| ServerGame.hpp | Top-level server game loop integrating ECS and networking |
| lobby | |
| LobbyManager.cpp | LobbyManager implementation: roster mutations, host election, and state broadcasts |
| LobbyManager.hpp | Server-side lobby state machine: player join/leave, ready-up, and match-start gating |
| main | |
| main.cpp | Server application entry point |
| network | |
| discovery | |
| GlobalServerAdvertiser.cpp | Server-side publisher for the global directory service |
| GlobalServerAdvertiser.hpp | Server-side publisher for the global directory service |
| DiscoveryServer.cpp | |
| DiscoveryServer.hpp | |
| Server.cpp | Implementation of the TCP game server |
| Server.hpp | TCP game server that accepts clients and dispatches incoming packets |
| perf | |
| Parallel.hpp | Thin wrapper around server-side parallel execution |
| Profiler.cpp | Profiler runtime: scope registration, sample recording, 1 Hz aggregator thread |
| Profiler.hpp | Lightweight server-side scoped profiler |
| ShotLog.cpp | Implementation of the server-side shot-resolution log |
| ShotLog.hpp | PR-18b — server-side shot-resolution log for the netsync framework |
| systems | |
| Event.hpp | Client Event structure to be consumed by server game loop |
| EventQueue.cpp | Implementation of the EventQueue FIFO operations |
| EventQueue.hpp | Thread-safe event queue for passing network events to the game loop |
| EventType.hpp | Server-side gameplay event type identifiers |
| HitboxHistorySystem.cpp | Push the current frame's HitboxInstance into each entity's HitboxHistory ring (Phase 6 scaffolding) |
| HitboxHistorySystem.hpp | Server-only system that pushes the current HitboxInstance for every replicated entity into its HitboxHistory ring once per tick |
| InputReceiveSystem.hpp | System for deserialising incoming client input packets into events |
| MatchController.cpp | Implementation of the MatchController system that manages match flow and state |
| MatchController.hpp | Controls match flow, including starting and ending matches and managing match state |
| DeveloperConfig.cpp | Implementation of loadDeveloperConfig() |
| DeveloperConfig.hpp | Developer-mode configuration loaded from config.toml |