summaryrefslogtreecommitdiff
path: root/src/resources/map
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-08-07 19:16:09 +0300
committerAndrei Karas <akaras@inbox.ru>2016-08-07 19:16:09 +0300
commitac8a0111677c27779b2e7effe8ffe42ea013eb57 (patch)
treeade8601cace894f6ce9d6c0833fb6fe6c700b576 /src/resources/map
parentb1753d59caa299c668b9c269e87f96c46e0ab33a (diff)
downloadplus-ac8a0111677c27779b2e7effe8ffe42ea013eb57.tar.gz
plus-ac8a0111677c27779b2e7effe8ffe42ea013eb57.tar.bz2
plus-ac8a0111677c27779b2e7effe8ffe42ea013eb57.tar.xz
plus-ac8a0111677c27779b2e7effe8ffe42ea013eb57.zip
Add monster wall collision type.
Diffstat (limited to 'src/resources/map')
-rw-r--r--src/resources/map/map.cpp7
-rw-r--r--src/resources/map/map.h15
2 files changed, 15 insertions, 7 deletions
diff --git a/src/resources/map/map.cpp b/src/resources/map/map.cpp
index 073adb2ed..f8780fbf6 100644
--- a/src/resources/map/map.cpp
+++ b/src/resources/map/map.cpp
@@ -592,6 +592,7 @@ void Map::drawCollision(Graphics *restrict const graphics,
fillCollision(BlockMask::WATER, WATER_COLLISION_HIGHLIGHT);
fillCollision(BlockMask::GROUNDTOP, GROUNDTOP_COLLISION_HIGHLIGHT);
fillCollision(BlockMask::PLAYERWALL, COLLISION_HIGHLIGHT);
+ fillCollision(BlockMask::MONSTERWALL, MONSTER_COLLISION_HIGHLIGHT);
}
}
}
@@ -713,6 +714,9 @@ void Map::addBlockMask(const int x, const int y,
case BlockType::PLAYERWALL:
mMetaTiles[tileNum].blockmask |= BlockMask::PLAYERWALL;
break;
+ case BlockType::MONSTERWALL:
+ mMetaTiles[tileNum].blockmask |= BlockMask::MONSTERWALL;
+ break;
default:
case BlockType::NONE:
case BlockType::NB_BLOCKTYPES:
@@ -749,6 +753,9 @@ void Map::setBlockMask(const int x, const int y,
case BlockType::PLAYERWALL:
mMetaTiles[tileNum].blockmask = BlockMask::PLAYERWALL;
break;
+ case BlockType::MONSTERWALL:
+ mMetaTiles[tileNum].blockmask = BlockMask::MONSTERWALL;
+ break;
default:
case BlockType::NONE:
case BlockType::NB_BLOCKTYPES:
diff --git a/src/resources/map/map.h b/src/resources/map/map.h
index 5abc9c964..8f7b6dbab 100644
--- a/src/resources/map/map.h
+++ b/src/resources/map/map.h
@@ -72,13 +72,14 @@ class Map final : public Properties,
public:
enum CollisionTypes
{
- COLLISION_EMPTY = 0, // no collision
- COLLISION_WALL = 1, // full collison
- COLLISION_AIR = 2, // air units can walk
- COLLISION_WATER = 3, // water units can walk
- COLLISION_GROUNDTOP = 4, // no collision (chair, bed, etc)
- COLLISION_PLAYER_WALL = 5, // full collision for player
- COLLISION_MAX = 6 // count index
+ COLLISION_EMPTY = 0, // no collision
+ COLLISION_WALL = 1, // full collison
+ COLLISION_AIR = 2, // air units can walk
+ COLLISION_WATER = 3, // water units can walk
+ COLLISION_GROUNDTOP = 4, // no collision (chair, bed, etc)
+ COLLISION_PLAYER_WALL = 5, // full collision for player
+ COLLISION_MONSTER_WALL = 6, // full collision for monster
+ COLLISION_MAX = 7 // count index
};
/**