Terminus
Classes | Enumerations | Variables
terminus Namespace Reference

Classes

class  AbstractCommand
 The AbstractCommand class defines the interface that every command has to implement. More...
 
class  AbstractGraphicsObject
 The AbstractGraphicsObject class is the root of a class hierarchy of objects that contain independen game logic and are visible in the game. More...
 
class  AbstractPhysicsObject
 The AbstractPhysicsObject class represents a graphical scene element with a physics-based aspect, meaning that it can move and collide with other AbstractPhysicsObjects. More...
 
class  AbstractPlayer
 The AbstractPlayer class is the base class for interacting with a train and a camera. More...
 
class  AbstractWagon
 The AbstractWagon class provides a common interface for all wagon types and contains common functionality like position calculation &c. More...
 
class  ActionScheduler
 The ActionScheduler class maintains a list of actions, that should be executed later in a specific context. More...
 
class  AIPlayer
 The AIPlayer class implements a simple artificial intelligence enemy player. More...
 
class  BulletWorld
 A Wrapper class for a btDiscreteDynamicsWorld. More...
 
class  Camera
 The Camera class manages view and projection matrices that define a view of a 3D scene. More...
 
class  CatmullRomSpline
 The CatmullRomSpline class implements a spline, that is determined by control points that lie on the spline. More...
 
class  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. More...
 
class  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. More...
 
class  EngineWagon
 The EngineWagon class provides a wagon type, which primary action increases the trains velocity. More...
 
class  EventHandler
 The EventHandler class receives events (touch, key, mouse, gyroscope, etc.) and triggers actions, taking object states and context into account. More...
 
class  Explosion
 The Explosion class renders an explosion effect. More...
 
class  Game
 The Game class is the main entry point. It subclasses QQuickItem and handles all communication between QML and C++. More...
 
class  GameEndedCommand
 The GameEndedCommand signals that the remote game detected a winning or losing condition. It will display a victory or defeat screen accordingly. More...
 
class  Geometry
 The Geometry class wraps the vertices data of one drawable object. More...
 
class  IndexTriple
 The IndexTriple class is used as a temporary geometry data storage, while parsing .obj files in the resourcemanager class. More...
 
class  IPProvider
 A small helper class to determine the local IP address. More...
 
class  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. More...
 
class  Level
 The Level class is a generator for level data such as terrain geometry and track courses. More...
 
class  LevelConfiguration
 The LevelConfiguration class contains all information necessary to configure a Level instance as well as some convenience methods to convert between model and texture space coordinates. More...
 
class  Light
 The Light class represents a light source with a packed, shader compatible memory layout. More...
 
class  LightManager
 The LightManager class manages slots that can be filled with Light instances and is able to set those lights as a uniform array on a shader program. More...
 
class  LocalPlayer
 The LocalPlayer class represents a 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. More...
 
class  Material
 The Material class wraps loading uniform data used as material coefficients. More...
 
class  MathUtil
 The MathUtil class provides helper functions for calculations such as interpolation and trigonometric functions. More...
 
class  NetworkClient
 The NetworkServer implements the NetworkEndpoint interface as the client role of a TCP connection. More...
 
class  NetworkEndpoint
 The NetworkEndpoint class provides a common interface that NetworkServer and NetworkClient implement. More...
 
class  NetworkManager
 The NetworkManager implements the basic functionality for the multiplayer mode of this game. More...
 
class  NetworkServer
 The NetworkServer implements the NetworkEndpoint interface as the server role of a TCP connection. More...
 
class  PauseCommand
 The PauseCommand pauses or unpauses the local game due to the remote game being paused. More...
 
class  PerlinNoise
 The PerlinNoise class implements a two dimensional noise function using multiple selectable gradient vector grids (layers). More...
 
class  Polyline
 The Polyline class implements a sequence of line segments and is used to approximate a real spline. More...
 
class  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) More...
 
class  Program
 The program class implements the basic functionality used for binding programs to openGL. More...
 
class  Projectile
 The Projectile class simulates and renders a projectile. It also handles collisions with Wagons, deals damage and spawns Explosions. More...
 
class  ProjectileFiredCommand
 The ProjectileFiredCommand indicates that a projectile has been fired and contains the position as well as the movement vector. More...
 
class  ProjectileHitCommand
 The ProjectileHitCommand indicates that a projectile hit a wagon. It contains the wagonIndex as well as the damage dealt. More...
 
class  RemotePlayer
 The RemotePlayer class represents a 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. More...
 
class  RepairWagon
 The RepairWagon class provides a wagon type, which primary action increases the health of all still functional weagons by a fix percentage. More...
 
class  ResourceManager
 The ResourceManager class loads geometry, materials and shader progams during initialization and provides access to those resources. More...
 
class  SkyBox
 The SkyBox class renders an environment map in the form of a cube map on a screen aligned quad in the background. More...
 
class  SoundManager
 The SoundManager class provides 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. More...
 
class  SyncCommand
 The SyncCommand is used to keep shared game state synchronized. More...
 
class  Terrain
 The Terrain class renders the terrain using patches and a displacement texture. Patches that are too far from the current camera position are culled. More...
 
class  Timer
 The Timer class implements a set of pauseable duration counters (subsequently called timers) and mechanisms to adjust them individually or globally. More...
 
class  Track
 The Track class represents a track that a Train moves on. It is currently not rendered. The course is represented by a Polyline instance. More...
 
class  Train
 The Train class works as a logical container for all wagons one train consists of. More...
 
struct  Vertex
 The struct wraps the important vertex data attributes position, texture coordinate and normal vector. More...
 
class  WeaponWagon
 The WeaponWagon class provides a wagon type, which primary action shoots projectiles in the faced direction. More...
 
class  World
 The World class represents a running game instance and contains all graphical (3D) elements of the scene. More...
 

Enumerations

enum  Commands {
  Command_Pause = 0, Command_PrepareNewGame = 1, Command_ProjectileFired = 2, Command_ProjectileHit = 3,
  Command_ClientReady = 4, Command_Sync = 6, Command_GameEnded = 7
}
 The Commands enum stores all command types with corresponding ID. More...
 
enum  WagonType { INVALID = 0, ENGINE_WAGON = 1, WEAPON_WAGON = 2, REPAIR_WAGON = 3 }
 

Variables

const unsigned short defaultPort = 7331
 

Enumeration Type Documentation

The Commands enum stores all command types with corresponding ID.

Enumerator
Command_Pause 
Command_PrepareNewGame 
Command_ProjectileFired 
Command_ProjectileHit 
Command_ClientReady 
Command_Sync 
Command_GameEnded 
Enumerator
INVALID 
ENGINE_WAGON 
WEAPON_WAGON 
REPAIR_WAGON 

Variable Documentation

const unsigned short terminus::defaultPort = 7331