Added a Level class

This class represents a game map. It stores, updates and draws map’s layers (LayerABC class objects); it also stores utilised tilesets (Tileset class objects)
Added a Layer ABC class

This is an abstract base class for all the layers the map will consist of
Added a Tileset class

This class holds all the needed data on each tileset image used in map-building
Added a TileLayer class

This class represents a layer of tiles that makes up a map
Added an ObjectLayer class

This class stores the game objects as a separate layer of the map
Added a LevelParser class

This class will parse a game map created in Tiled application
Added a ‘base64’ library to decode the encoded tile map
Added a ‘zlib’ library to decompress the compressed tile map
Deleted now obsolete StateParser class
Added a separate .xml file for each game state

Each file represents a state’s map
Deleted now obsolete game_states.xml file
Reworked GameStateMachine class mechanism for adding and removing states to/from the state stack
Added a CollisionManager class
All states received a Level class object that represents a state’s map;
All states received a callFunction() function that will call a state’s requested callback function;
Removed now obsolete container for game objects
All states now use a LevelParser class to parse a state;
PlayState class now uses a CollisionManager class to check for player and enemy collisions;
Deleted now obsolete getCallbackFuncs() function from all the states;
Each state now updates and draws its own Level object
Moved game object types registration from Game::init() function to GameObjectFactory constructor
Button, Player and StaticGraphic classes amended now to call a current state’s callback function on an event
Changed attribute type from a signed int to an unsigned one

Index into an array should not be of a signed int type
Cosmetic amendments
Moved registerType() function under private access specifier

Game object type registration is sole responsibility of GameObjectFactory itself