|BUILD CONFIGURATION|
[Linux]
* The ZED Utility library is linked first, as there are dependencies which are
  later resolved from the other libraries

|SOURCE|
[Common::Actions]
* Wrapped the common actions with the Gunslinger namespace
[Common::GameplayEvents]
* Added action IDs for player movement along the XZ plane
[Common::GameplayGameState]
* Added a World member variable which will be used to govern the world state
  and render the world
[Common::Player]
* This class is the representation of the player in the game world (which is
  from a first person perspective, so there won't be much in the way of an
  avatar)
* In the future, this should be a game entity like any other, except that this
  one is tagged as a player view
[Common::World]
* The world state is governed by this class, rendering should probably not be a
  part of this, but it's here for the time being
|SOURCE|
[Common::GameplayEvents]
* Added debug camera movement and look action IDs
[Common::GameplayGameState]
* Added a ZED::Utility::FreeCamera for debugging purposes
* GetDebugCamera allows the debug camera to be accessed from the
  GameplayInputListener
* Debug camera set to a perspective camera with a clip range of 1cm to 1Km, at
  170cm off the origin's ground
* Camera up and down action IDs added to the input binder
[Common::World]
* Render accepts a projection * view matrix
* A 100cm^2 yellow grid has been added
[Common::GameplayEvents]
* GameplayInputListener::HandleEvent will move the debug camera for the
  GameplayGameState up or down depending on the action ID received
|SOURCE|
[Common::GameplayEvents]
* GameplayInputListener::HandleEvent aliasing debug camera move and up/down
  look action IDs to their camera analogues
[Common::GameplayGameState]
* Arrow up, arrow down, arrow left, and arrow right keys are bound to debug
  camera forward, backward, left, and right movement, respectively
* Page up and page down bound to debug camera's look up and look down action
  IDs, respectively
|SOURCE|
[Common::GameplayEvents]
* The debug camera's look up and down action are using the axis rotation rather
  than the angle axis rotation
|SOURCE|
[Common::Player]
* Commented out the body of GetCamera
[Common::GameplayEvents]
* Added DEBUG_CAMERA_LOOK_LEFT and DEBUG_CAMERA_LOOK_RIGHT event handling to
  rotate the debug camera to the left and right
[Common::GameplayGameState]
* Update calls the debug camera's Update member funciton and rotates all axes
  by zero to ensure that it does not keep rotating without being modified
|SOURCE|
[Common::World]
* Temporarily made grid into a cube
[Common::GameplayGameState]
* Debug camera starting position has been set to 0, 0, 0 to make it easier to
  orientate at the beginning
|SOURCE|
[Common::GameplayEvents]
* GameplayInputListener::HandleEvent
  * DEBUG_CAMERA_LOOK_UP and DEBUG_CAMERA_LOOK_DOWN correctly manipulate the
    camera and look up/down as it should
  * Rotating around the Y axis is not working correctly, only rotating to the
    left (positive) appears to be working
|SOURCE|
[Common::GameplayGameState]
* Fixed a typing error in Enter when binding K_END to DEBUG_CAMERA_LOOK_RIGHT,
  it was DEBUG_CAMERA_LOOK_LEFT
|SOURCE|
]Common::GameplayEvents::GameplayInputListener]
* HandleEvent multiplies the desired movement vector by five to manoeuvre
  around the world faster
[Common::GameplayGameState]
* The default constructor uses 45.0f instead of ZED_Pi, as the value is meant
  to be in degrees, not radians (large oversight, need better documentation)
|SOURCE|
[Common::GameplayEvents::GameplayInputListener]
* In HandleEvent, DEBUG_CAMERA_MOVE_FORWARD and DEBUG_CAMERA_MOVE_BACKWARD have
  their velocities reversed, as the direction in ZED's FreeCamera is negated
|SOURCE|
[Common::GameplayEvents]
* Added DEBUG_CAMERA_TOGGLE to enable and disable the camera
* GameplayInputListener
  * HandleEvent will only manipulate the debug camera if it is active
  * Key F1 will toggle the active staus of the debug camera
[Common::GameplayGameState]
* ToggleDebugCamera sets the debug camera's active status to either ZED_TRUE or
  ZED_FALSE
* DebugCameraActive returns whether or not the debug camera is able to be
  controlled and is the current camera to render from
|SOURCE|
[Common::GameplayGameState]
* Added a pointer to the active camera to use
* ToggleDebugCamera sets the debug camera's orientation and position to the
  active camera's if there is an active camera
[Common::World]
* Removed five of the grids, just using one which is 100m^2 with a granularity
  of 50cm between each line
|SOURCE|
[Common::Game]
* Changed the emergency escape key combination names to their new ZED_KEY_*
  equivalents
[Common::GameplayGameState]
* W, A, S, and D keys are used for forward, left, backward, and right movement,
  respectively
* Q and E keys control the elevation, up and down
* The numberpad arrow keys control the look up, look down, look left, and look
  right
|SOURCE|
[Common::GameplayGameState]
* Added GetPlayerCamera which is temporary and will be replaced by a
  GetEntity( ID ) member function which can be used to get the camera from that
  entity if so desired
* Added a member variable for preserving the previous camera (maybe there could
  be a list of these which could be useful in the future?) when restoring the
  camera from using the debug camera
* The player camera is set to 0, 170, 0
* Bound I, K, J, L to moving the player camera forward, backward, left, and
  right, respectively
* ToggleDebugCamera saves the previous active camera before setting the debug
  camera as the current active camera, likewise, when the debug camera is
  deactivated, the previous active camera is restored
[Common::Player]
* Replaced Camera with FirstPersonCamera
* Added a BoundingBox for later collision detection with the player
* Set the FirstPersonCamera to a perspective camera with a near clip plane of
  1.0f and a far clip plane of 100000.0f
[Common::GameplayEvents::GameplayInputListener]
* HandleEvent
  * Checking the action value is 1.0f for the DEBUG_CAMERA_TOGGLE ID
  * PLAYER_MOVE_FORWARD moves the player camera by n units forward
  * PLAYER_MOVE_BACKWARD moves the player camera by n units backward
  * PLAYER_MOVE_LEFT moves the player camera by n units left
  * PLAYER_MOVE_RIGHT moves the player camera by n units right
|SOURCE|
[Common::GameEntity]
* This class serves as a base for all of the entites within the game to derive
  from
* The entity's type is set via the name it is given (this should really be in
  some kind of GameEntityType class or something)
* GetPosition and SetPosition modify and access the position, respectively
* Added GetOrientation and SetOrientation to manipulate and access the
  orientation (as a Quaternion), respectively
|SOURCE|
[Common::GameEntity]
* SetPosition and SetOrientation made virtual so that anything derived classes
  wish to translate or orientate along with the new position or orientation is
  possible
[Common::GameplayGameState]
* Made the Player instance a pointer
[Common::Player]
* Derived from GameEntity
* SetOrientation, Update, Render, and Initialise do nothing
* Made the copy constructor and assignment operator private
* Removed the m_Position member variable as it exists in the base class
|SOURCE|
[Common::GameplayGameState]
* The Player instance is deleted in the destructor
|SOURCE|
[Common::GameEntityManager]
* This class is responsible for managing the complete lifecycle of game
  entities (birth, life, and death)
* Added a basic class definition with a constructor and destructor
|SOURCE|
[Common::GameEntityManager]
* Made the copy constructor and assignment operator private
|SOURCE|
[Common::GameStateEvents::GameStateInputListener]
* HandleEvent dispatches multiple action events if a key is bound to more than
  one action
[Common::GameplayGameState]
* Enter registers the W, A, S, and D keys for player forward, left, backward,
  and right movement, while also allowing the same input to move the debug
  camera forward, left, backward, and right