--- deliantra/server/random_maps/random_map.h 2008/04/11 21:09:53 1.17 +++ deliantra/server/random_maps/random_map.h 2008/04/14 22:41:17 1.18 @@ -129,14 +129,18 @@ struct MazeData : zero_initialised { char **col; + int w, h; - MazeData (int xsize, int ysize); + MazeData (int w, int h); ~MazeData (); operator char **() { return col; } + + void clear (char fill = 0); + void border (char fill = '#'); }; struct Maze @@ -162,10 +166,22 @@ delete ptr; } - operator char **() + MazeData *operator ->() const + { + return ptr; + } + + operator char **() const { return *ptr; } + + void swap (Maze &maze) + { + MazeData *p = maze.ptr; + maze.ptr = ptr; + ptr = p; + } }; #endif