▼Cterminus::AbstractCommand | Defines the interface that every command has to implement |
Cterminus::ClientReadyCommand | The ClientReadyCommand signals to the server that the client has successfully created the World and is ready to start the game. It will subsequently unpause the local and remote game |
Cterminus::GameEndedCommand | The GameEndedCommand signals that the remote game detected a winning or losing condition. It will display a victory or defeat screen accordingly |
Cterminus::PauseCommand | The PauseCommand pauses or unpauses the local game due to the remote game being paused |
Cterminus::PrepareNewGameCommand | The PrepareNewGameCommand is sent to the client when a multiplayer session begins to synchronize the game timer, terrain seed and client player position (left or right track) |
Cterminus::ProjectileFiredCommand | The ProjectileFiredCommand indicates that a projectile has been fired and contains the position as well as the movement vector |
Cterminus::ProjectileHitCommand | The ProjectileHitCommand indicates that a projectile hit a wagon. It contains the wagonIndex as well as the damage dealt |
Cterminus::SyncCommand | The SyncCommand is used to keep shared game state synchronized |
▼Cterminus::AbstractGraphicsObject | Root of a class hierarchy of objects that contain independen game logic and are visible in the game |
▼Cterminus::AbstractPhysicsObject | Graphical scene element with a physics-based aspect, meaning that it can move and collide with other AbstractPhysicsObjects |
▼Cterminus::DynamicPhysicsObject | A dynamic physics object is a physics object that is mostly passive. It will be affected by forces and its movement will be simulated by Bullet |
Cterminus::Projectile | Simulates and renders a projectile. It also handles collisions with Wagons, deals damage and spawns Explosions |
▼Cterminus::KinematicPhysicsObject | A kinematic physics object is a "scripted" physics object, meaning that it will set its own movement. It will be used in collision detection, but bullet will not simulate its movement |
▼Cterminus::AbstractWagon | Common interface for all wagon types and contains common functionality like position calculation &c |
Cterminus::EngineWagon | Wagon type, which primary action increases the trains velocity |
Cterminus::RepairWagon | Wagon type, which primary action increases the health of all still functional weagons by a fix percentage |
Cterminus::WeaponWagon | Wagon type, which primary action shoots projectiles in the faced direction |
Cterminus::Explosion | Renders an explosion effect |
Cterminus::SkyBox | Renders an environment map in the form of a cube map on a screen aligned quad in the background |
Cterminus::Terrain | Renders the terrain using patches and a displacement texture. Patches that are too far from the current camera position are culled |
Cterminus::Track | Track that a Train moves on. It is currently not rendered. The course is represented by a Polyline instance |
Cterminus::Train | Works as a logical container for all wagons one train consists of |
▼Cterminus::AbstractPlayer | Base class for interacting with a train and a camera |
Cterminus::AIPlayer | Implements a simple artificial intelligence enemy player |
Cterminus::LocalPlayer | Local player that interacts with the World and their Train. It does not contain any logic; the sole purpose of this class is to distinguish different player types |
Cterminus::RemotePlayer | Player whose actions get transmitted over network. It does not contain any logic; the sole purpose of this class is to distinguish different player types |
Cterminus::ActionScheduler | Maintains a list of actions, that should be executed later in a specific context |
Cterminus::BulletWorld | A Wrapper class for a btDiscreteDynamicsWorld |
Cterminus::Camera | Manages view and projection matrices that define a view of a 3D scene |
Cterminus::CatmullRomSpline | Implements a spline, that is determined by control points that lie on the spline |
Cterminus::EventHandler | Receives events (touch, key, mouse, gyroscope, etc.) and triggers actions, taking object states and context into account |
Cterminus::Geometry | Wraps the vertices data of one drawable object |
Cterminus::IndexTriple | Used as a temporary geometry data storage, while parsing .obj files in the resourcemanager class |
Cterminus::Level | Generator for level data such as terrain geometry and track courses |
Cterminus::LevelConfiguration | All information necessary to configure a Level instance as well as some convenience methods to convert between model and texture space coordinates |
Cterminus::Light | Light source with a packed, shader compatible memory layout |
Cterminus::LightManager | Manages slots that can be filled with Light instances and is able to set those lights as a uniform array on a shader program |
Cterminus::Material | Wraps loading uniform data used as material coefficients |
Cterminus::MathUtil | Helper functions for calculations such as interpolation and trigonometric functions |
Cterminus::PerlinNoise | Implements a two dimensional noise function using multiple selectable gradient vector grids (layers) |
Cterminus::Polyline | Implements a sequence of line segments and is used to approximate a real spline |
Cterminus::Program | The program class implements the basic functionality used for binding programs to openGL |
▼CQObject | |
Cterminus::IPProvider | A small helper class to determine the local IP address |
▼Cterminus::NetworkEndpoint | Common interface that NetworkServer and NetworkClient implement |
Cterminus::NetworkClient | The NetworkServer implements the NetworkEndpoint interface as the client role of a TCP connection |
Cterminus::NetworkServer | The NetworkServer implements the NetworkEndpoint interface as the server role of a TCP connection |
Cterminus::NetworkManager | The NetworkManager implements the basic functionality for the multiplayer mode of this game |
Cterminus::SoundManager | Basic music and sound playing functionality. All needed sound effects are stored in the member variable m_sounds. Implemented as a singelton, accessibility for all classes is ensured |
Cterminus::World | Running game instance and contains all graphical (3D) elements of the scene |
▼CQQuickItem | |
Cterminus::Game | Main entry point. It subclasses QQuickItem and handles all communication between QML and C++ |
Cterminus::ResourceManager | Loads geometry, materials and shader progams during initialization and provides access to those resources |
Cterminus::Timer | Implements a set of pauseable duration counters (subsequently called timers) and mechanisms to adjust them individually or globally |
Cterminus::Vertex | The struct wraps the important vertex data attributes position, texture coordinate and normal vector |