summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/map.cpp b/src/map.cpp
index 41282ddd..6277b424 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -63,8 +63,11 @@ Map::Map(int width, int height, int tileWidth, int tileHeight):
mOnClosedList(1), mOnOpenList(2),
mLastScrollX(0.0f), mLastScrollY(0.0f)
{
- mMetaTiles = new MetaTile[mWidth * mHeight];
- mTiles = new Image*[mWidth * mHeight * 3];
+ int size = mWidth * mHeight;
+
+ mMetaTiles = new MetaTile[size];
+ mTiles = new Image*[size * 3];
+ std::fill_n(mTiles, size * 3, (Image*)0);
}
Map::~Map()
@@ -86,12 +89,17 @@ Map::~Map()
void
Map::setSize(int width, int height)
{
- mWidth = width;
- mHeight = height;
delete[] mMetaTiles;
delete[] mTiles;
- mMetaTiles = new MetaTile[mWidth * mHeight];
- mTiles = new Image*[mWidth * mHeight * 3];
+
+ mWidth = width;
+ mHeight = height;
+
+ int size = width * height;
+
+ mMetaTiles = new MetaTile[size];
+ mTiles = new Image*[size * 3];
+ std::fill_n(mTiles, size * 3, (Image*)0);
}
void