From 735a20bc923d0a7bf4b0ca0e4d005413ca8de0f8 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 25 Aug 2013 15:36:23 +0300 Subject: add code for image creation/deletion. --- src/localconsts.h | 3 +++ src/resources/atlasmanager.cpp | 9 +++++++++ src/resources/image.cpp | 11 +++++++++++ src/resources/resourcemanager.cpp | 9 +++++++++ src/resources/subimage.cpp | 10 ++++++++++ 5 files changed, 42 insertions(+) (limited to 'src') diff --git a/src/localconsts.h b/src/localconsts.h index a6043e58f..d146e2787 100644 --- a/src/localconsts.h +++ b/src/localconsts.h @@ -81,4 +81,7 @@ // draw calls // #define DEBUG_DRAW_CALLS 1 +// debug images usage +#define DEBUG_IMAGES 1 + #include "utils/perfomance.h" diff --git a/src/resources/atlasmanager.cpp b/src/resources/atlasmanager.cpp index a5d7c2ccc..01ea66233 100644 --- a/src/resources/atlasmanager.cpp +++ b/src/resources/atlasmanager.cpp @@ -123,6 +123,9 @@ void AtlasManager::loadImages(const StringVect &files, if (image) { image->mIdPath = str; +#ifdef DEBUG_IMAGES + logger->log("set name %p, %s", image, image->mIdPath.c_str()); +#endif images.push_back(image); } } @@ -268,6 +271,9 @@ void AtlasManager::convertAtlas(TextureAtlas *const atlas) return; image->mIdPath = atlas->name; +#ifdef DEBUG_IMAGES + logger->log("set name %p, %s", image, image->mIdPath.c_str()); +#endif image->incRef(); FOR_EACH (std::vector::iterator, it, atlas->items) @@ -282,6 +288,9 @@ void AtlasManager::convertAtlas(TextureAtlas *const atlas) if (image2) { image2->mIdPath = item->name; +#ifdef DEBUG_IMAGES + logger->log("set name %p, %s", image2, image2->mIdPath.c_str()); +#endif image2->incRef(); } } diff --git a/src/resources/image.cpp b/src/resources/image.cpp index 7f2fd6fbd..49650fef3 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -65,6 +65,10 @@ Image::Image(SDL_Surface *const image, const bool hasAlphaChannel0, mIsAlphaVisible(hasAlphaChannel0), mIsAlphaCalculated(false) { +#ifdef DEBUG_IMAGES + logger->log("created: %p", this); +#endif + mBounds.x = 0; mBounds.y = 0; @@ -102,6 +106,10 @@ Image::Image(const GLuint glimage, const int width, const int height, mIsAlphaVisible(true), mIsAlphaCalculated(false) { +#ifdef DEBUG_IMAGES + logger->log("created: %p", this); +#endif + mBounds.x = 0; mBounds.y = 0; mBounds.w = static_cast(width); @@ -121,6 +129,9 @@ Image::Image(const GLuint glimage, const int width, const int height, Image::~Image() { +#ifdef DEBUG_IMAGES + logger->log("delete: %p, %s, %s", this, mIdPath.c_str(), mSource.c_str()); +#endif unload(); } diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index 03cc2bc41..a3adce7bb 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -448,6 +448,9 @@ bool ResourceManager::addResource(const std::string &idPath, { resource->incRef(); resource->mIdPath = idPath; +#ifdef DEBUG_IMAGES + logger->log("set name %p, %s", resource, resource->mIdPath.c_str()); +#endif mResources[idPath] = resource; return true; } @@ -517,6 +520,9 @@ Resource *ResourceManager::get(const std::string &idPath, const generator fun, { resource->incRef(); resource->mIdPath = idPath; +#ifdef DEBUG_IMAGES + logger->log("set name %p, %s", resource, resource->mIdPath.c_str()); +#endif mResources[idPath] = resource; cleanOrphans(); } @@ -531,6 +537,9 @@ Resource *ResourceManager::get(const std::string &idPath, const generator fun, { resource->incRef(); resource->mIdPath = idPath; +#ifdef DEBUG_IMAGES + logger->log("set name %p, %s", resource, resource->mIdPath.c_str()); +#endif } else { diff --git a/src/resources/subimage.cpp b/src/resources/subimage.cpp index c7e250b78..b2343c71c 100644 --- a/src/resources/subimage.cpp +++ b/src/resources/subimage.cpp @@ -28,6 +28,10 @@ #include "safeopenglgraphics.h" #endif +#ifdef DEBUG_IMAGES +#include "logger.h" +#endif + #include "client.h" #include "debug.h" @@ -47,6 +51,9 @@ SubImage::SubImage(Image *const parent, SDL_Surface *const image, mIsAlphaVisible = mHasAlphaChannel; mAlphaChannel = mParent->SDLgetAlphaChannel(); mSource = parent->getIdPath(); +#ifdef DEBUG_IMAGES + logger->log("set name2 %p, %s", this, mSource.c_str()); +#endif #ifdef DEBUG_BIND_TEXTURE mIdPath = parent->getIdPath(); #endif @@ -103,6 +110,9 @@ SubImage::SubImage(Image *const parent, const GLuint image, mInternalBounds.w = mParent->mBounds.w; mInternalBounds.h = mParent->mBounds.h; mSource = parent->getIdPath(); +#ifdef DEBUG_IMAGES + logger->log("set name2 %p, %s", this, mSource.c_str()); +#endif #ifdef DEBUG_BIND_TEXTURE mIdPath = parent->getIdPath(); #endif -- cgit v1.2.3-60-g2f50