| Ccomponent::AABBCollider | Axis aligned bounding box used for collision detection |
| Ccomponent::Animation | Sprite sheet animation played by changing the texture rectangle |
| Ccomponent::animationClip | Sprite sheet frames played for one animation state |
| Ccomponent::animator | State machine that picks the Animation clip of an entity |
| Crtk::Input::AxisData | Gamepad axis binding with its activation threshold |
| Crtype::protocol::BigEndian< T > | Unsigned integer stored as big-endian bytes, with an alignment of 1 |
| Crtype::protocol::BigEndian< std::uint16_t > | |
| Crtype::protocol::BigEndian< std::uint32_t > | |
| Ccomponent::Bullet | Marks an entity as a projectile |
| CbusEvent | Type indexed publish and subscribe event bus |
| Crtk::collision::Collision | Pair of entities whose colliders overlap |
| Crtk::collision::CollisionBuffer | Collisions detected during the current frame |
| Crtk::ecs::concepts::ColorRGBA8 | 8-bit per channel color |
| Crtype::events::ConnectedToServerEvent | Published when the server accepted the handshake |
| CConnection | State the server keeps for one connected client |
| Crtype::server::Server::ConnectionEvent | Client connection or disconnection |
| Crtype::events::ConnectionRejectedEvent | Published when the server refused the handshake |
| Ccomponent::Controllable | Marks an entity as a ship driven by player inputs |
| Crtype::events::CreateEntityEvent | Decoded CreateEntity message in world units |
| Crtype::protocol::CreateEntityPayload | Payload of a CreateEntity message, 16 bytes, sent by the server to spawn an entity on a client |
| Ccomponent::Dead | Tag marking an entity for destruction at the end of the frame |
| Crtype::protocol::DestroyEntityPayload | Payload of a DestroyEntity message, 9 bytes, sent by the server to remove an entity from a client |
| Crtype::protocol::DisconnectPayload | Payload of a Disconnect message, 1 byte |
| Ccomponent::Enemy | Marks an entity as a Bydos enemy |
| Crtype::events::EnemyEscapedEvent | Published when an enemy leaves the screen on the left side |
| Crtype::events::EnemySpawnedEvent | Published by the server when a new enemy is spawned |
| Crtk::EngineContext | Engine services handed to the game and its scenes |
| Crtk::factory::EntityFactory | Builds entities from JSON blueprints and registered component builders |
| Crtk::ecs::concepts::Event | Input query interface filled by the window backend |
| Crtype::client::Game | Client side game: window, inputs, scenes and replication of the server world |
| Crtype::server::Game | Authoritative game simulation run by the server |
| Crtk::GameEngine | Owns the ECS world and runs the main loop of a game |
| Crtype::client::GameScene | In game scene, which shows the scrolling starfield |
| CHandshakeHeader | Header of the datagrams exchanged before a connection exists |
| Crtk::Input::InputBinding | One physical control bound to an action |
| Crtype::server::Server::InputEvent | Input message received from a client |
| Crtk::Input::InputMapping | Table binding up to four physical controls to each of 32 actions |
| Crtype::protocol::InputPayload | Payload of an Input message, 9 bytes, sent by a client every frame with the actions currently held |
| Crtk::InputState | Player input sampled during the current frame |
| ▼Crtk::ecs::ISystem | |
| Crtk::systems::AnimationSystem | Advances sprite sheet animations and updates texture rectangles |
| Crtk::systems::AnimatorSystem | Loads the clip of the current animator state into the Animation |
| Crtk::systems::AudioSystem< AudioType > | Ticks the audio backend once per frame |
| Crtk::systems::BulletSystem | Marks bullets that went past the right edge of the world as dead |
| Crtk::systems::ColliderSystem | Detects overlapping colliders with a uniform spatial hash grid |
| Crtk::systems::DeathSystem | Destroys every entity tagged with Dead |
| Crtk::systems::DebugCollisionSystem | Draws collider outlines while the debug overlay is enabled |
| Crtk::systems::EnemyGCSystem | Removes enemies that left the screen on the left side |
| Crtk::systems::EnemySpawnerSystem | Spawns a Bydos enemy at a random position right of the screen every 1.5 seconds |
| Crtk::systems::InputSystem< WindowType > | Polls window events and turns bound controls into action bits |
| Crtk::systems::MovementSystem | Moves entities according to their Velocity |
| Crtk::systems::ParallaxSystem | Scrolls background layers and wraps them to loop endlessly |
| Crtk::systems::PlayerSystem | Sends the local player actions to the server every frame and triggers the shot sound |
| Crtk::systems::RenderSystem< WindowType > | Draws every entity that has a Transform and a SpriteData |
| Crtype::server::ServerDeathSystem | Destroys dead entities and tells every player with DestroyEntity |
| Crtype::client::MenuScene | Title screen, which waits for the Confirm action |
| CMessageHeader | Header placed in front of every message inside a connected packet |
| CMessageParser | Splits the body of a connected packet into messages |
| Crtype::client::NetworkClient | UDP client that performs the handshake, sends inputs and decodes server messages |
| Crtype::client::NetworkConnectionScene | Connection screen, which sends Hello every second until the server answers or 10 seconds pass |
| Ccomponent::NetworkEntity | Links a local entity to its replicated counterpart |
| Crtype::client::NetworkEvent | Connection event or raw message received from the server |
| Crtype::server::NetworkIdGenerator | Process wide source of unique network entity ids, starting at 1000 |
| CNetworkMetrics | Traffic and latency counters of a network endpoint |
| CNetworkServer | UDP server that runs the handshake, tracks connections and dispatches messages |
| CPacketHeader | Header that starts every packet sent on an open connection |
| CPacketReader | Bounds checked reader of big-endian values over a byte buffer |
| CPacketTracker | Generates outgoing sequence numbers and tracks received ones |
| CPacketWriter | Growable buffer of big-endian values, capped at MAX_PAYLOAD_SIZE |
| Ccomponent::Parallax | Background layer that scrolls left and wraps around |
| CParsedMessage | Message extracted from a connected packet |
| CPingMessage | Payload of a Ping message, 4 bytes, sent by a client to measure latency |
| Crtype::events::PlayerShotEvent | Published when the local player releases the shoot button |
| CPongMessage | Payload of a Pong message, 4 bytes, sent by the server in answer to a Ping |
| Crtype::server::Server::QueryEntityEvent | QueryEntity message received from a client |
| Crtype::protocol::QueryEntityPayload | Payload of a QueryEntity message, 4 bytes, sent by a client that received a snapshot for an entity it does not know |
| Crtype::client::ReplicationEvent | Validated replication message received from the server |
| Crtype::client::RtkAudioAdapter | Adapts the sound manager of the graphical library to the IsAudioManager concept |
| CRtkWindowAdapter | Adapts the window of the graphical library to the IsRenderWindow concept |
| Crtk::SceneManager< TSceneId, TDependency, TInput, TScenes > | Holds the active scene and switches between a fixed set of scenes |
| Crtk::SceneManager< SceneType, rtk::RenderWindow, rtk::InputState, rtype::client::MenuScene, rtype::client::NetworkConnectionScene, rtype::client::GameScene > | |
| Crtk::SceneManager< ServerSceneType, rtype::server::ServerDependency, rtype::server::ServerInput, rtype::server::ServerLobbyScene, rtype::server::ServerGameScene > | |
| Crtype::events::SendPacketEvent | Asks the network client to send raw bytes to the server |
| Crtype::server::Server | Game level layer over NetworkServer that decodes client messages and encodes server messages |
| Crtype::server::ServerDependency | Object passed to every server scene constructor |
| Crtype::server::ServerGameScene | Round in progress: simulates the stage and returns to the lobby when every player left |
| Crtype::server::ServerInput | Input passed to server scenes, empty because inputs come from the network |
| Crtype::server::ServerLobbyScene | Waiting room: starts the round with 2 players, or after 30 seconds with 1 player |
| Crtype::protocol::SnapshotEntityState | State of one entity inside a Snapshot message, 11 bytes |
| Crtype::protocol::SnapshotHeader | Fixed part of a Snapshot message, 6 bytes |
| Crtype::protocol::SnapshotPayload | Decoded Snapshot message: a SnapshotHeader followed by entityCount SnapshotEntityState records |
| Ccomponent::SoundRequest | Request to play a sound loaded in the audio manager |
| Crtk::ecs::concepts::SpriteData | Everything the renderer needs to draw one sprite |
| Crtk::ecs::concepts::TextureRectU16 | Area of a texture, in texels |
| Ccomponent::Transform | Position, rotation and scale of an entity in world space |
| CUdpTransport | Asynchronous UDP socket wrapper used by the server |
| Cutils::vec2 | Two dimensional vector of floats |
| Ccomponent::Velocity | Linear speed of an entity |