diff options
Diffstat (limited to 'src/player.cpp')
-rw-r--r-- | src/player.cpp | 15 |
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); } |