@@ -99,119 +99,7 @@ Animation::Animation(const std::string& frmName, unsigned int direction) : Fallt
_animationFrames.push_back (std::move (frame));
}
if (frm->animatedPalette ())
{
Graphics::AnimatedPalette* palette=Game::getInstance ()->animatedPalette ();
auto masks = frm->animatedMasks ();
if ((*masks)[MASK::MONITOR] != NULL )
{
for (auto i=0 ; i<5 ; i++)
{
unsigned int mask[frm->width () * frm->height ()];
// modify
for (unsigned int j = 0 ; j< frm->width () * frm->height (); j++)
{
mask[j] = palette->color ((*masks)[MASK::MONITOR][j], i);
}
// set
auto texture = new Graphics::Texture (frm->width (), frm->height ());
texture->loadFromRGBA (mask);
_monitorTextures.push_back (texture);
}
}
if ((*masks)[MASK::SLIME] != NULL )
{
for (auto i=0 ; i<4 ; i++)
{
unsigned int mask[frm->width () * frm->height ()];
// modify
for (unsigned int j = 0 ; j< frm->width () * frm->height (); j++)
{
mask[j] = palette->color (((*masks)[MASK::SLIME][j]), i);
}
// set
auto texture = new Graphics::Texture (frm->width (), frm->height ());
texture->loadFromRGBA (mask);
_slimeTextures.push_back (texture);
}
}
if ((*masks)[MASK::SHORE] != NULL )
{
for (auto i=0 ; i<6 ; i++)
{
unsigned int mask[frm->width () * frm->height ()];
// modify
for (unsigned int j = 0 ; j< frm->width () * frm->height (); j++)
{
mask[j] = palette->color (((*masks)[MASK::SHORE][j]), i);
}
// set
auto texture = new Graphics::Texture (frm->width (), frm->height ());
texture->loadFromRGBA (mask);
_shoreTextures.push_back (texture);
}
}
if ((*masks)[MASK::FIRE_SLOW] != NULL )
{
for (auto i=0 ; i<5 ; i++)
{
unsigned int mask[frm->width () * frm->height ()];
// modify
for (unsigned int j = 0 ; j< frm->width () * frm->height (); j++)
{
mask[j] = palette->color (((*masks)[MASK::FIRE_SLOW][j]), i);
}
// set
auto texture = new Graphics::Texture (frm->width (), frm->height ());
texture->loadFromRGBA (mask);
_fireSlowTextures.push_back (texture);
}
}
if ((*masks)[MASK::FIRE_FAST] != NULL )
{
for (auto i=0 ; i<5 ; i++)
{
unsigned int mask[frm->width () * frm->height ()];
// modify
for (unsigned int j = 0 ; j< frm->width () * frm->height (); j++)
{
mask[j] = palette->color (((*masks)[MASK::FIRE_FAST][j]), i);
}
// set
auto texture = new Graphics::Texture (frm->width (), frm->height ());
texture->loadFromRGBA (mask);
_fireFastTextures.push_back (texture);
}
}
if ((*masks)[MASK::REDDOT] != NULL )
{
for (auto i=0 ; i<16 ; i++)
{
unsigned int mask[frm->width () * frm->height ()];
// modify
for (unsigned int j = 0 ; j< frm->width () * frm->height (); j++)
{
mask[j] = palette->color (((*masks)[MASK::REDDOT][j]), i);
}
// set
auto texture = new Graphics::Texture (frm->width (), frm->height ());
texture->loadFromRGBA (mask);
_reddotTextures.push_back (texture);
}
}
}
}
Animation::~Animation ()
@@ -269,25 +157,6 @@ void Animation::render(bool eggTransparency)
if (!dude || !Game::getInstance()->locationState())
{
Game::getInstance()->renderer()->drawTexture(_texture, offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::FIRE_FAST) < _fireFastTextures.size())
Game::getInstance()->renderer()->drawTexture(_fireFastTextures.at(pal->getCounter(MASK::FIRE_FAST)), position(), framePos, frameSize);
if (pal->getCounter(MASK::FIRE_SLOW) < _fireSlowTextures.size())
Game::getInstance()->renderer()->drawTexture(_fireSlowTextures.at(pal->getCounter(MASK::FIRE_SLOW)), position(), framePos, frameSize);
if (pal->getCounter(MASK::SLIME) < _slimeTextures.size())
Game::getInstance()->renderer()->drawTexture(_slimeTextures.at(pal->getCounter(MASK::SLIME)), position(), framePos, frameSize);
if (pal->getCounter(MASK::SHORE) < _shoreTextures.size())
Game::getInstance()->renderer()->drawTexture(_shoreTextures.at(pal->getCounter(MASK::SHORE)), position(), framePos, frameSize);
if (pal->getCounter(MASK::MONITOR) < _monitorTextures.size())
Game::getInstance()->renderer()->drawTexture(_monitorTextures.at(pal->getCounter(MASK::MONITOR)), position(), framePos, frameSize);
if (pal->getCounter(MASK::REDDOT) < _reddotTextures.size())
Game::getInstance()->renderer()->drawTexture(_reddotTextures.at(pal->getCounter(MASK::REDDOT)), position(), framePos, frameSize);
return;
}
@@ -306,24 +175,6 @@ void Animation::render(bool eggTransparency)
{
Game::getInstance()->renderer()->drawTexture(_texture, offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::FIRE_FAST) < _fireFastTextures.size())
Game::getInstance()->renderer()->drawTexture(_fireFastTextures.at(pal->getCounter(MASK::FIRE_FAST)), offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::FIRE_SLOW) < _fireSlowTextures.size())
Game::getInstance()->renderer()->drawTexture(_fireSlowTextures.at(pal->getCounter(MASK::FIRE_SLOW)), offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::SLIME) < _slimeTextures.size())
Game::getInstance()->renderer()->drawTexture(_slimeTextures.at(pal->getCounter(MASK::SLIME)), position(), offsetFramePos, frameSize);
if (pal->getCounter(MASK::SHORE) < _shoreTextures.size())
Game::getInstance()->renderer()->drawTexture(_shoreTextures.at(pal->getCounter(MASK::SHORE)), position(), offsetFramePos, frameSize);
if (pal->getCounter(MASK::MONITOR) < _monitorTextures.size())
Game::getInstance()->renderer()->drawTexture(_monitorTextures.at(pal->getCounter(MASK::MONITOR)), position(), offsetFramePos, frameSize);
if (pal->getCounter(MASK::REDDOT) < _reddotTextures.size())
Game::getInstance()->renderer()->drawTexture(_reddotTextures.at(pal->getCounter(MASK::REDDOT)), position(), offsetFramePos, frameSize);
return;
}
@@ -333,48 +184,12 @@ void Animation::render(bool eggTransparency)
}
texture()->copyTo(_tmptex.get());
if (pal->getCounter(MASK::FIRE_FAST) < _fireFastTextures.size())
_fireFastTextures.at(pal->getCounter(MASK::FIRE_FAST))->copyTo(_tmptex.get());
if (pal->getCounter(MASK::FIRE_SLOW) < _fireSlowTextures.size())
_fireSlowTextures.at(pal->getCounter(MASK::FIRE_SLOW))->copyTo(_tmptex.get());
if (pal->getCounter(MASK::SLIME) < _slimeTextures.size())
_slimeTextures.at(pal->getCounter(MASK::SLIME))->copyTo(_tmptex.get());
if (pal->getCounter(MASK::SHORE) < _shoreTextures.size())
_shoreTextures.at(pal->getCounter(MASK::SHORE))->copyTo(_tmptex.get());
if (pal->getCounter(MASK::MONITOR) < _monitorTextures.size())
_monitorTextures.at(pal->getCounter(MASK::MONITOR))->copyTo(_tmptex.get());
if (pal->getCounter(MASK::REDDOT) < _reddotTextures.size())
_reddotTextures.at(pal->getCounter(MASK::REDDOT))->copyTo(_tmptex.get());
_tmptex->blitWithAlpha(egg, eggDelta.x(), eggDelta.y());
Game::getInstance()->renderer()->drawTexture(_tmptex.get(), offsetPosition, framePos, frameSize);
}
else
{
Game::getInstance()->renderer()->drawTexture(_texture, offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::FIRE_FAST) < _fireFastTextures.size())
Game::getInstance()->renderer()->drawTexture(_fireFastTextures.at(pal->getCounter(MASK::FIRE_FAST)), offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::FIRE_SLOW) < _fireSlowTextures.size())
Game::getInstance()->renderer()->drawTexture(_fireSlowTextures.at(pal->getCounter(MASK::FIRE_SLOW)), offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::SLIME) < _slimeTextures.size())
Game::getInstance()->renderer()->drawTexture(_slimeTextures.at(pal->getCounter(MASK::SLIME)), offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::SHORE) < _shoreTextures.size())
Game::getInstance()->renderer()->drawTexture(_shoreTextures.at(pal->getCounter(MASK::SHORE)), offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::MONITOR) < _monitorTextures.size())
Game::getInstance()->renderer()->drawTexture(_monitorTextures.at(pal->getCounter(MASK::MONITOR)), offsetPosition, framePos, frameSize);
if (pal->getCounter(MASK::REDDOT) < _reddotTextures.size())
Game::getInstance()->renderer()->drawTexture(_reddotTextures.at(pal->getCounter(MASK::REDDOT)), offsetPosition, framePos, frameSize);
}
*/
}