| ▼Nterminus | |
| CAbstractCommand | Defines the interface that every command has to implement |
| CAbstractGraphicsObject | Root of a class hierarchy of objects that contain independen game logic and are visible in the game |
| CAbstractPhysicsObject | Graphical scene element with a physics-based aspect, meaning that it can move and collide with other AbstractPhysicsObjects |
| CAbstractPlayer | Base class for interacting with a train and a camera |
| CAbstractWagon | Common interface for all wagon types and contains common functionality like position calculation &c |
| CActionScheduler | Maintains a list of actions, that should be executed later in a specific context |
| CAIPlayer | Implements a simple artificial intelligence enemy player |
| CBulletWorld | A Wrapper class for a btDiscreteDynamicsWorld |
| CCamera | Manages view and projection matrices that define a view of a 3D scene |
| CCatmullRomSpline | Implements a spline, that is determined by control points that lie on the spline |
| CClientReadyCommand | 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 |
| CDynamicPhysicsObject | 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 |
| CEngineWagon | Wagon type, which primary action increases the trains velocity |
| CEventHandler | Receives events (touch, key, mouse, gyroscope, etc.) and triggers actions, taking object states and context into account |
| CExplosion | Renders an explosion effect |
| CGame | Main entry point. It subclasses QQuickItem and handles all communication between QML and C++ |
| CGameEndedCommand | The GameEndedCommand signals that the remote game detected a winning or losing condition. It will display a victory or defeat screen accordingly |
| CGeometry | Wraps the vertices data of one drawable object |
| CIndexTriple | Used as a temporary geometry data storage, while parsing .obj files in the resourcemanager class |
| CIPProvider | A small helper class to determine the local IP address |
| CKinematicPhysicsObject | 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 |
| CLevel | Generator for level data such as terrain geometry and track courses |
| CLevelConfiguration | All information necessary to configure a Level instance as well as some convenience methods to convert between model and texture space coordinates |
| CLight | Light source with a packed, shader compatible memory layout |
| CLightManager | Manages slots that can be filled with Light instances and is able to set those lights as a uniform array on a shader program |
| CLocalPlayer | 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 |
| CMaterial | Wraps loading uniform data used as material coefficients |
| CMathUtil | Helper functions for calculations such as interpolation and trigonometric functions |
| CNetworkClient | The NetworkServer implements the NetworkEndpoint interface as the client role of a TCP connection |
| CNetworkEndpoint | Common interface that NetworkServer and NetworkClient implement |
| CNetworkManager | The NetworkManager implements the basic functionality for the multiplayer mode of this game |
| CNetworkServer | The NetworkServer implements the NetworkEndpoint interface as the server role of a TCP connection |
| CPauseCommand | The PauseCommand pauses or unpauses the local game due to the remote game being paused |
| CPerlinNoise | Implements a two dimensional noise function using multiple selectable gradient vector grids (layers) |
| CPolyline | Implements a sequence of line segments and is used to approximate a real spline |
| CPrepareNewGameCommand | 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) |
| CProgram | The program class implements the basic functionality used for binding programs to openGL |
| CProjectile | Simulates and renders a projectile. It also handles collisions with Wagons, deals damage and spawns Explosions |
| CProjectileFiredCommand | The ProjectileFiredCommand indicates that a projectile has been fired and contains the position as well as the movement vector |
| CProjectileHitCommand | The ProjectileHitCommand indicates that a projectile hit a wagon. It contains the wagonIndex as well as the damage dealt |
| CRemotePlayer | 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 |
| CRepairWagon | Wagon type, which primary action increases the health of all still functional weagons by a fix percentage |
| CResourceManager | Loads geometry, materials and shader progams during initialization and provides access to those resources |
| CSkyBox | Renders an environment map in the form of a cube map on a screen aligned quad in the background |
| CSoundManager | 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 |
| CSyncCommand | The SyncCommand is used to keep shared game state synchronized |
| CTerrain | Renders the terrain using patches and a displacement texture. Patches that are too far from the current camera position are culled |
| CTimer | Implements a set of pauseable duration counters (subsequently called timers) and mechanisms to adjust them individually or globally |
| CTrack | Track that a Train moves on. It is currently not rendered. The course is represented by a Polyline instance |
| CTrain | Works as a logical container for all wagons one train consists of |
| CVertex | The struct wraps the important vertex data attributes position, texture coordinate and normal vector |
| CWeaponWagon | Wagon type, which primary action shoots projectiles in the faced direction |
| CWorld | Running game instance and contains all graphical (3D) elements of the scene |