summaryrefslogtreecommitdiff
path: root/src/player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/player.cpp')
-rw-r--r--src/player.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/player.cpp b/src/player.cpp
index 050790e8..b1372925 100644
--- a/src/player.cpp
+++ b/src/player.cpp
@@ -128,9 +128,16 @@ void Player::setSprite(int slot, int id, const std::string &color)
}
else
{
- AnimatedSprite *equipmentSprite = AnimatedSprite::load(
- "graphics/sprites/" + ItemDB::get(id).getSprite(mGender) +
- "|" + color);
+ std::string filename = ItemDB::get(id).getSprite(mGender);
+ AnimatedSprite *equipmentSprite = NULL;
+
+ if (!filename.empty())
+ {
+ if (!color.empty())
+ filename += "|" + color;
+ equipmentSprite =
+ AnimatedSprite::load("graphics/sprites/" + filename);
+ }
if (equipmentSprite)
equipmentSprite->setDirection(getSpriteDirection());
@@ -139,9 +146,7 @@ void Player::setSprite(int slot, int id, const std::string &color)
mSprites[slot] = equipmentSprite;
if (slot == WEAPON_SPRITE)
- {
mEquippedWeapon = &ItemDB::get(id);
- }
setAction(mAction);
}