From 9534207f03395fbf1d171646c9703551d5353ca3 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 2 Jan 2019 20:09:51 +0000 Subject: [PATCH] Switched around the texutre manager a bit internally, functions the same but it uses a Texture struct now --- TODO.txt | 3 +++ bin/crumpet-engine | Bin 149696 -> 113280 bytes .../resourcemanager/texturemanager.cpp | 17 ++++++++--------- .../resourcemanager/texturemanager.h | 13 +++++++++++-- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/TODO.txt b/TODO.txt index 2f4469c..cfa74b4 100644 --- a/TODO.txt +++ b/TODO.txt @@ -16,6 +16,9 @@ x -> complete [x] Dot product [x] Cross product (3d) [ ] Other functions for max, min, magnitude, unitvec all that +[ ] Resource management + [ ] Texture map class, owned by entity, stores texture references from the textrue manager + [ ] Sound at some point [ ] Entity system [ ] Entity manager [ ] Ability to make entities and manage textures between them diff --git a/bin/crumpet-engine b/bin/crumpet-engine index ba06b26c5e1a5103829613aa31bf382270dfdd4e..d7bef7dca0cbdbd9f92f7d07a3822edc7e977e99 100755 GIT binary patch literal 113280 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 z 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 DT=~_w diff --git a/src/crumpet-engine/resourcemanager/texturemanager.cpp b/src/crumpet-engine/resourcemanager/texturemanager.cpp index 14e1477..ce366fb 100644 --- a/src/crumpet-engine/resourcemanager/texturemanager.cpp +++ b/src/crumpet-engine/resourcemanager/texturemanager.cpp @@ -20,8 +20,8 @@ bool TextureManager::registerTexture(std::string textureSource, std::string text } SDL_FreeSurface(loadSurface); - m_textureSources[textureName] = textureSource; - m_registerdTextures[textureName] = texture; + Texture* temp = new Texture(textureName, textureSource, texture); + m_registerdTextures[textureName] = temp; Logger::info("Loaded texture " + textureSource + " as " + textureName); @@ -29,22 +29,21 @@ bool TextureManager::registerTexture(std::string textureSource, std::string text } void TextureManager::unregisterTexture(std::string textureName) { - SDL_DestroyTexture(m_registerdTextures[textureName]); - - delete &m_textureSources[textureName]; + SDL_DestroyTexture(m_registerdTextures[textureName]->texture); delete &m_registerdTextures[textureName]; } SDL_Texture* TextureManager::getTexture(std::string textureName) { - return m_registerdTextures[textureName]; + return m_registerdTextures[textureName]->texture; } std::string TextureManager::getTextureSource(std::string textureName) { - return m_textureSources[textureName]; + return m_registerdTextures[textureName]->source; } TextureManager::~TextureManager() { - for (std::map::iterator it = m_registerdTextures.begin(); it != m_registerdTextures.end(); it++) { - SDL_DestroyTexture(m_registerdTextures[it->first]); + for (std::map::iterator it = m_registerdTextures.begin(); it != m_registerdTextures.end(); it++) { + SDL_DestroyTexture(m_registerdTextures[it->first]->texture); + delete m_registerdTextures[it->first]; } } diff --git a/src/crumpet-engine/resourcemanager/texturemanager.h b/src/crumpet-engine/resourcemanager/texturemanager.h index 3593df9..7fbb250 100644 --- a/src/crumpet-engine/resourcemanager/texturemanager.h +++ b/src/crumpet-engine/resourcemanager/texturemanager.h @@ -8,6 +8,16 @@ #include "../renderengine/renderer.h" +struct Texture { + Texture(std::string name, std::string source, SDL_Texture* texture) + : name(name), source(source), texture(texture) { } + Texture(std::string name, std::string source) + : name(name), source(source) { } + std::string name; + std::string source; + SDL_Texture* texture; +}; + class TextureManager { public: TextureManager(Renderer* renderer); @@ -19,7 +29,6 @@ public: virtual ~TextureManager(); private: - std::map m_textureSources; - std::map m_registerdTextures; + std::map m_registerdTextures; Renderer* m_renderer; };