summaryrefslogtreecommitdiff
path: root/src/being/being.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-04-09 15:47:25 +0300
committerAndrei Karas <akaras@inbox.ru>2016-04-09 15:47:43 +0300
commita102628a6acaa64ca4b31d588cc9eedbb334d077 (patch)
tree6548b1685fbd2bde00f6e823bfec3e6bd89e2de8 /src/being/being.cpp
parentd874b0d53b19d74d45402bd432b9092186c525ee (diff)
downloadplus-a102628a6acaa64ca4b31d588cc9eedbb334d077.tar.gz
plus-a102628a6acaa64ca4b31d588cc9eedbb334d077.tar.bz2
plus-a102628a6acaa64ca4b31d588cc9eedbb334d077.tar.xz
plus-a102628a6acaa64ca4b31d588cc9eedbb334d077.zip
Revert "Improve drawing player sprites performance."
This reverts commit 1dfc22f53967ad7e39d42ba8aabe0afa7445476e.
Diffstat (limited to 'src/being/being.cpp')
-rw-r--r--src/being/being.cpp42
1 files changed, 13 insertions, 29 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp
index c20bb4ce1..57529b734 100644
--- a/src/being/being.cpp
+++ b/src/being/being.cpp
@@ -202,7 +202,6 @@ Being::Being(const BeingId id,
mPets(),
mOwner(nullptr),
mSpecialParticle(nullptr),
- mDrawSprites(),
#ifdef EATHENA_SUPPORT
mChat(nullptr),
mHorseInfo(nullptr),
@@ -350,7 +349,6 @@ Being::~Being()
}
}
mPets.clear();
- mDrawSprites.clear();
removeAllItemsParticles();
#ifdef EATHENA_SUPPORT
@@ -2581,7 +2579,6 @@ void Being::setSprite(const unsigned int slot,
if (beingEquipmentWindow)
beingEquipmentWindow->updateBeing(this);
}
- updateDrawSprites();
}
void Being::setSpriteID(const unsigned int slot,
@@ -2987,10 +2984,14 @@ void Being::drawPlayerSprites(Graphics *restrict const graphics,
const int posX,
const int posY) const restrict2
{
- const size_t sz = mDrawSprites.size();
- for (size_t f = 0; f < sz; f ++)
+ const int sz = CompoundSprite::getNumberOfLayers();
+ for (int f = 0; f < sz; f ++)
{
- Sprite *restrict const sprite = mDrawSprites[f];
+ const int rSprite = mSpriteHide[mSpriteRemap[f]];
+ if (rSprite == 1)
+ continue;
+
+ Sprite *restrict const sprite = mSprites[mSpriteRemap[f]];
if (sprite)
{
sprite->setAlpha(mAlpha);
@@ -3003,10 +3004,14 @@ void Being::drawSpritesSDL(Graphics *restrict const graphics,
const int posX,
const int posY) const restrict2
{
- const size_t sz = mDrawSprites.size();
+ const size_t sz = mSprites.size();
for (size_t f = 0; f < sz; f ++)
{
- const Sprite *restrict const sprite = mDrawSprites[f];
+ const int rSprite = mSpriteHide[mSpriteRemap[f]];
+ if (rSprite == 1)
+ continue;
+
+ const Sprite *restrict const sprite = mSprites[mSpriteRemap[f]];
if (sprite)
sprite->draw(graphics, posX, posY);
}
@@ -3565,7 +3570,6 @@ void Being::recalcSpritesOrder() restrict2
}
}
}
- updateDrawSprites();
}
int Being::searchSlotValue(const std::vector<int> &restrict slotRemap,
@@ -4403,26 +4407,6 @@ void Being::serverRemove() restrict2 noexcept
mTrickDead = false;
}
-void Being::updateDrawSprites()
-{
- if (mType != ActorType::Player)
- return;
- mDrawSprites.clear();
- const size_t sz = CompoundSprite::getNumberOfLayers();
- for (size_t f = 0; f < sz; f ++)
- {
- const int rSprite = mSpriteHide[mSpriteRemap[f]];
- if (rSprite == 1)
- continue;
-
- Sprite *const sprite = mSprites[mSpriteRemap[f]];
- if (sprite)
- {
- mDrawSprites.push_back(sprite);
- }
- }
-}
-
#ifdef EATHENA_SUPPORT
void Being::removeHorse() restrict2
{