diff options
Diffstat (limited to 'tools/mapedit/src/map.h')
-rw-r--r-- | tools/mapedit/src/map.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tools/mapedit/src/map.h b/tools/mapedit/src/map.h index 83244f3..66e4596 100644 --- a/tools/mapedit/src/map.h +++ b/tools/mapedit/src/map.h | |||
@@ -25,20 +25,41 @@ class MapLoadException: public std::exception | |||
25 | std::string mapname; | 25 | std::string mapname; |
26 | }; | 26 | }; |
27 | 27 | ||
28 | class MapWriteException: public std::exception | ||
29 | { | ||
30 | public: | ||
31 | MapWriteException(std::string mapname) : mapname(mapname) {} | ||
32 | |||
33 | virtual const char* what() const throw() | ||
34 | { | ||
35 | return ("An error occured writing map " + mapname).c_str(); | ||
36 | } | ||
37 | |||
38 | private: | ||
39 | std::string mapname; | ||
40 | }; | ||
41 | |||
28 | class Map { | 42 | class Map { |
29 | public: | 43 | public: |
30 | Map(); | 44 | Map(); |
31 | Map(const std::string name); | 45 | Map(std::string name); |
32 | Map(const Map& map); | 46 | Map(const Map& map); |
33 | Map(Map&& map); | 47 | Map(Map&& map); |
34 | ~Map(); | 48 | ~Map(); |
35 | Map& operator= (Map other); | 49 | Map& operator= (Map other); |
36 | friend void swap(Map& first, Map& second); | 50 | friend void swap(Map& first, Map& second); |
37 | 51 | ||
52 | void save(std::string name); | ||
53 | bool hasUnsavedChanges() const; | ||
54 | void setTileAt(int x, int y, int tile); | ||
55 | int getTileAt(int x, int y) const; | ||
56 | |||
57 | private: | ||
38 | int* mapdata; | 58 | int* mapdata; |
39 | std::string title; | 59 | std::string title; |
40 | std::string leftmap; | 60 | std::string leftmap; |
41 | std::string rightmap; | 61 | std::string rightmap; |
62 | bool dirty; | ||
42 | }; | 63 | }; |
43 | 64 | ||
44 | #endif | 65 | #endif |