bool ActorSprite::draw(Graphics *graphics, int offsetX, int offsetY) const { int px = getPixelX() + offsetX; int py = getPixelY() + offsetY; if (mUsedTargetCursor) { mUsedTargetCursor->reset(); mUsedTargetCursor->update(tick_time * MILLISECONDS_IN_A_TICK); mUsedTargetCursor->draw(graphics, px, py); } Map *map = Game::instance() ? Game::instance()->getCurrentMap() : 0; if (map) { py += map->getTileHeight() / 2; } return drawSpriteAt(graphics, px, py); }
bool ActorSprite::draw(Graphics *graphics, int offsetX, int offsetY) const { // TODO: Eventually, we probably should fix all sprite offsets so that // these translations aren't necessary anymore. The sprites know // best where their base point should be. const int px = getPixelX() + offsetX - 16; // Temporary fix to the Y offset. #ifdef MANASERV_SUPPORT const int py = getPixelY() + offsetY - ((Net::getNetworkType() == ServerInfo::MANASERV) ? 15 : 32); #else const int py = getPixelY() + offsetY - 32; #endif if (mUsedTargetCursor) { mUsedTargetCursor->reset(); mUsedTargetCursor->update(tick_time * MILLISECONDS_IN_A_TICK); mUsedTargetCursor->draw(graphics, px + getTargetOffsetX(), py + getTargetOffsetY()); } return drawSpriteAt(graphics, px, py); }