about summary refs log tree commit diff stats
path: root/data/maps/the_invisible/metadata.txtpb
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps/the_invisible/metadata.txtpb')
0 files changed, 0 insertions, 0 deletions
#ifndef MAP_H
#define MAP_H

#include <string>
#include <exception>

const int TILE_WIDTH = 8;
const int TILE_HEIGHT = 8;
const int GAME_WIDTH = 320;
const int GAME_HEIGHT = 200;
const int MAP_WIDTH = GAME_WIDTH/TILE_WIDTH;
const int MAP_HEIGHT = GAME_HEIGHT/TILE_HEIGHT - 1;

class MapLoadException: public std::exception
{
  public:
    MapLoadException(std::string mapname) : mapname(mapname) {}
    
    virtual const char* what() const throw()
    {
      return ("An error occured loading map " + mapname).c_str();
    }
    
  private:
    std::string mapname;
};

class Map {
  public:
    Map();
    Map(const std::string name);
    Map(const Map& map);
    Map(Map&& map);
    ~Map();
    Map& operator= (Map other);
    friend void swap(Map& first, Map& second);
    
    int* mapdata;
    std::string title;
    std::string leftmap;
    std::string rightmap;
};

#endif