From 487a86fe7dc9904f445d91667095f641f72f7c81 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Thu, 20 May 2010 01:35:17 -0600 Subject: Buffer layered sprites under SDL This improves framerate and allows transparent overlay for complex sprites. Two copies of the buffer are kept, one at full opacity, one with variable opactiy, to reduce calls to setAlpha. Reviewed-by: Bertram --- src/actorsprite.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/actorsprite.cpp') diff --git a/src/actorsprite.cpp b/src/actorsprite.cpp index da81873f..92894b04 100644 --- a/src/actorsprite.cpp +++ b/src/actorsprite.cpp @@ -304,14 +304,14 @@ void ActorSprite::setupSpriteDisplay(const SpriteDisplay &display, { std::string file = "graphics/sprites/" + (*it)->sprite; int variant = (*it)->variant; - push_back(AnimatedSprite::load(file, variant)); + addSprite(AnimatedSprite::load(file, variant)); } // Ensure that something is shown, if desired if (size() == 0 && forceDisplay) { if (display.image.empty()) - push_back(AnimatedSprite::load("graphics/sprites/error.xml")); + addSprite(AnimatedSprite::load("graphics/sprites/error.xml")); else { ResourceManager *resman = ResourceManager::getInstance(); @@ -321,7 +321,7 @@ void ActorSprite::setupSpriteDisplay(const SpriteDisplay &display, if (!img) img = Theme::getImageFromTheme("unknown-item.png"); - push_back(new ImageSprite(img)); + addSprite(new ImageSprite(img)); } } -- cgit v1.2.3-70-g09d2