From 4b19b15936faa8e1d5f331cc11147ccfc360bde7 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 20 Sep 2013 20:50:50 +0300 Subject: improve a bit code speed. --- src/resources/beinginfo.cpp | 13 ++++++++++--- src/resources/beinginfo.h | 2 +- src/resources/imagewriter.cpp | 2 ++ src/resources/iteminfo.h | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) (limited to 'src/resources') diff --git a/src/resources/beinginfo.cpp b/src/resources/beinginfo.cpp index 48e8b8493..84d32f623 100644 --- a/src/resources/beinginfo.cpp +++ b/src/resources/beinginfo.cpp @@ -77,7 +77,7 @@ BeingInfo::~BeingInfo() delete_all(mDisplay.sprites); } -void BeingInfo::setDisplay(SpriteDisplay display) +void BeingInfo::setDisplay(const SpriteDisplay &display) { mDisplay = display; } @@ -119,8 +119,15 @@ const SoundInfo &BeingInfo::getSound(const SoundEvent event) const static SoundInfo emptySound("", 0); const SoundEvents::const_iterator i = mSounds.find(event); - return (i == mSounds.end() || !i->second || i->second->empty()) - ? emptySound : i->second->at(rand() % i->second->size()); + + if (i == mSounds.end()) + return emptySound; + + const SoundInfoVect *const vect = i->second; + if (!vect || vect->empty()) + return emptySound; + else + return vect->at(rand() % vect->size()); } const Attack *BeingInfo::getAttack(const int id) const diff --git a/src/resources/beinginfo.h b/src/resources/beinginfo.h index 7437e464d..d465dfa64 100644 --- a/src/resources/beinginfo.h +++ b/src/resources/beinginfo.h @@ -101,7 +101,7 @@ class BeingInfo final const std::string &getName() const A_WARN_UNUSED { return mName; } - void setDisplay(SpriteDisplay display); + void setDisplay(const SpriteDisplay &display); const SpriteDisplay &getDisplay() const A_WARN_UNUSED { return mDisplay; } diff --git a/src/resources/imagewriter.cpp b/src/resources/imagewriter.cpp index 9bdde319b..1db9f139d 100644 --- a/src/resources/imagewriter.cpp +++ b/src/resources/imagewriter.cpp @@ -84,12 +84,14 @@ bool ImageWriter::writePNG(SDL_Surface *const surface, png_set_packing(png_ptr); png_bytep *const row_pointers = new png_bytep[surface->h]; +/* if (!row_pointers) { logger->log1("Had trouble converting surface to row pointers"); fclose(fp); return false; } +*/ for (int i = 0; i < surface->h; i++) { diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h index 01522ef7b..292089dc5 100644 --- a/src/resources/iteminfo.h +++ b/src/resources/iteminfo.h @@ -124,7 +124,7 @@ class ItemInfo final std::string getParticleEffect() const A_WARN_UNUSED { return mParticle; } - void setDisplay(SpriteDisplay display) + void setDisplay(const SpriteDisplay &display) { mDisplay = display; } const SpriteDisplay &getDisplay() const A_WARN_UNUSED -- cgit v1.2.3-60-g2f50