Initial support for sound using OpenAL. Added a Sound class and filled out more functions in the ResourceManager to support the loading and playing of sound.
Made the ResourceManager and Texture classes take in file names to load instead of just automatically using default files.
Also added a texture name string to the Entity class.
Made the ResourceManager load resources only if the resource isn't already loaded. An Entity's map coordinates are now treated as floats instead of ints. Lastly some print statements were added to help with debugging.
Addition of new Matrix classes for use in transformations. Initial work on the physics engine.
The engine now supports loading and drawing of multiple textures via shaders. Character Entities are now drawn using shaders and not immediate mode rendering. The ResourceManager now retrieves textures by name. Removal of the Object class as they are replaced by the Entity classes. General code clean up.
Changed various class functions to use const string references instead of passing them in by value. Matrix operator overloading for +,*, and = operators. Some code cleanup.
Added some very basic physics to the engine. Characters are now influenced by gravity and fall, and basic collision checking and resolution between Character and Ground Entities is implemented. The vertex shader was changed to allow for the upload of entities' translation matrix. Added some overloaded operators to the TranslationMatrix class.
License update
Added the level editing tools to the engine.
Users can now control Character Entities with the PlayerControl class. Changed the KeyListener to quickly respond to keyboard events. Cleaned up or removed printed messages from the PhysicsManager and EntityManager classes. Other small bug fixes. Commented code added to the Window initialization for removing the cap on the refresh rate. Initial FPS counter added to the game loop in the GameManager class.
Updated the project file to include the new PlayerControl files. Increased the speed that players move at.
Changed the physics engine and keyboard listener so that users can now make their players jump.
General code clean up and formatting and the removal of unneeded functions and comments.
Added support for loading maps in engine. Press 'L' to open the map loading prompt. Added some OpenGL error checking. Various bug fixes with the MapManager class.
The engine now loads entity textures based on the information in the .dat files instead of by hard-coded filenames. Changed the folders that the engine looks for files in. Textures are looked for in "./res/texture/", Sound files in "./res/sound/", and Map files in "./res/map/". Shaders have been moved into the "./shaders/" directory.
Fixed a bug with map reloading where a previously loaded map would not load. Changed the Shader class to take in the shader file names in the constructor.
Updated the Camera class to use shaders instead of the deprecated fixed function pipeline. The Camera now follows the player character around the map.
Simplified the Matrix class to be just one class and changed any instances of the derived classes to be of this unified class. The derived classes only served to increase complexity without adding functionality.