From 02f038752b412290bc8a8ff2fc689ec3872f9f9f Mon Sep 17 00:00:00 2001 From: Rtch90 Date: Mon, 12 Dec 2011 21:12:23 +0000 Subject: [PATCH] Using pointers propperly when handling texture loading. --- Unuk-QT/Makefile | 58 ++++++++++++++++++++++++++-------- Unuk-QT/Unuk-QT.pro | 6 ++-- src/libUnuk/Character.cpp | 6 ++-- src/libUnuk/Entity.cpp | 1 + src/libUnuk/Entity.h | 16 ++++++++++ src/libUnuk/Map.cpp | 27 ++++++---------- src/libUnuk/MapTile.h | 26 +++++++++------ src/libUnuk/TextureManager.cpp | 38 ++++++++++++---------- src/libUnuk/TextureManager.h | 12 +++---- 9 files changed, 119 insertions(+), 71 deletions(-) create mode 100644 src/libUnuk/Entity.cpp create mode 100644 src/libUnuk/Entity.h diff --git a/Unuk-QT/Makefile b/Unuk-QT/Makefile index 09a672f..d483e48 100644 --- a/Unuk-QT/Makefile +++ b/Unuk-QT/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Unuk-QT -# Generated by qmake (2.01a) (Qt 4.7.3) on: Mon Nov 21 13:46:00 2011 +# Generated by qmake (2.01a) (Qt 4.7.3) on: Mon Dec 12 20:59:35 2011 # Project: Unuk-QT.pro # Template: app # Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro @@ -65,7 +65,8 @@ SOURCES = ../src/libUnuk/Debug.cpp \ ../src/libUnuk/Character.cpp \ ../src/libUnuk/NPC.cpp \ ../src/Unuk/Player.cpp \ - ../src/Unuk/Game.cpp + ../src/Unuk/Game.cpp \ + ../src/libUnuk/Entity.cpp OBJECTS = Debug.o \ main.o \ Input.o \ @@ -88,7 +89,8 @@ OBJECTS = Debug.o \ Character.o \ NPC.o \ Player.o \ - Game.o + Game.o \ + Entity.o DIST = /usr/share/qt4/mkspecs/common/g++.conf \ /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ @@ -188,7 +190,7 @@ qmake: FORCE dist: @$(CHK_DIR_EXISTS) .tmp/Unuk-QT1.0.0 || $(MKDIR) .tmp/Unuk-QT1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/TextureManager.h ../src/libUnuk/Texture.h ../src/libUnuk/Text.h ../src/libUnuk/MapTile.h ../src/libUnuk/Map.h ../src/libUnuk/Button.h ../src/libUnuk/ButtonToggle.h ../src/libUnuk/Menu.h ../src/libUnuk/MainMenu.h ../src/libUnuk/ParticleEmitter.h ../src/libUnuk/IngameMenu.h ../src/libUnuk/Collision.h ../src/libUnuk/Character.h ../src/libUnuk/NPC.h ../src/Unuk/Player.h ../src/Unuk/Game.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.cpp ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/TextureManager.cpp ../src/libUnuk/Texture.cpp ../src/libUnuk/Text.cpp ../src/libUnuk/Map.cpp ../src/libUnuk/Button.cpp ../src/libUnuk/ButtonToggle.cpp ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/MainMenu.cpp ../src/libUnuk/IngameMenu.cpp ../src/libUnuk/Collision.cpp ../src/libUnuk/Character.cpp ../src/libUnuk/NPC.cpp ../src/Unuk/Player.cpp ../src/Unuk/Game.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/TextureManager.h ../src/libUnuk/Texture.h ../src/libUnuk/Text.h ../src/libUnuk/MapTile.h ../src/libUnuk/Map.h ../src/libUnuk/Button.h ../src/libUnuk/ButtonToggle.h ../src/libUnuk/Menu.h ../src/libUnuk/MainMenu.h ../src/libUnuk/ParticleEmitter.h ../src/libUnuk/IngameMenu.h ../src/libUnuk/Collision.h ../src/libUnuk/Character.h ../src/libUnuk/NPC.h ../src/Unuk/Player.h ../src/Unuk/Game.h ../src/libUnuk/Entity.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.cpp ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/TextureManager.cpp ../src/libUnuk/Texture.cpp ../src/libUnuk/Text.cpp ../src/libUnuk/Map.cpp ../src/libUnuk/Button.cpp ../src/libUnuk/ButtonToggle.cpp ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/MainMenu.cpp ../src/libUnuk/IngameMenu.cpp ../src/libUnuk/Collision.cpp ../src/libUnuk/Character.cpp ../src/libUnuk/NPC.cpp ../src/Unuk/Player.cpp ../src/Unuk/Game.cpp ../src/libUnuk/Entity.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0 clean:compiler_clean @@ -233,10 +235,30 @@ compiler_clean: Debug.o: ../src/libUnuk/Debug.cpp ../src/libUnuk/Debug.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Debug.o ../src/libUnuk/Debug.cpp -main.o: ../src/Unuk/main.cpp ../src/libUnuk/Input.h \ - ../src/libUnuk/Debug.h \ +main.o: ../src/Unuk/main.cpp ../src/libUnuk/MainMenu.h \ ../src/Unuk/Constants.h \ - ../src/Unuk/Globals.h + ../src/libUnuk/Menu.h \ + ../src/Unuk/Globals.h \ + ../src/libUnuk/Button.h \ + ../src/libUnuk/Input.h \ + ../src/libUnuk/Text.h \ + ../src/libUnuk/ApplySurface.h \ + ../src/libUnuk/Debug.h \ + ../src/libUnuk/Font.h \ + ../src/libUnuk/Rect.h \ + ../src/libUnuk/ButtonToggle.h \ + ../src/libUnuk/Map.h \ + ../src/libUnuk/ImageLoader.h \ + ../src/libUnuk/TextureManager.h \ + ../src/libUnuk/MapTile.h \ + ../src/libUnuk/Entity.h \ + ../src/libUnuk/NPC.h \ + ../src/libUnuk/Character.h \ + ../src/libUnuk/Collision.h \ + ../src/libUnuk/Timer.h \ + ../src/Unuk/Game.h \ + ../src/Unuk/Player.h \ + ../src/libUnuk/IngameMenu.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../src/Unuk/main.cpp Input.o: ../src/libUnuk/Input.cpp ../src/libUnuk/Input.h @@ -295,7 +317,8 @@ Map.o: ../src/libUnuk/Map.cpp ../src/libUnuk/Map.h \ ../src/libUnuk/Debug.h \ ../src/libUnuk/ApplySurface.h \ ../src/libUnuk/TextureManager.h \ - ../src/libUnuk/MapTile.h + ../src/libUnuk/MapTile.h \ + ../src/libUnuk/Entity.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Map.o ../src/libUnuk/Map.cpp Button.o: ../src/libUnuk/Button.cpp ../src/libUnuk/Button.h \ @@ -328,21 +351,21 @@ ParticleEmitter.o: ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/ParticleEmi MainMenu.o: ../src/libUnuk/MainMenu.cpp ../src/libUnuk/MainMenu.h \ ../src/Unuk/Constants.h \ - ../src/libUnuk/ParticleEmitter.h \ - ../src/Unuk/Globals.h \ - ../src/libUnuk/ImageLoader.h \ - ../src/libUnuk/Debug.h \ - ../src/libUnuk/ApplySurface.h \ ../src/libUnuk/Menu.h \ + ../src/Unuk/Globals.h \ ../src/libUnuk/Button.h \ ../src/libUnuk/Input.h \ ../src/libUnuk/Text.h \ + ../src/libUnuk/ApplySurface.h \ + ../src/libUnuk/Debug.h \ ../src/libUnuk/Font.h \ ../src/libUnuk/Rect.h \ ../src/libUnuk/ButtonToggle.h \ ../src/libUnuk/Map.h \ + ../src/libUnuk/ImageLoader.h \ ../src/libUnuk/TextureManager.h \ - ../src/libUnuk/MapTile.h + ../src/libUnuk/MapTile.h \ + ../src/libUnuk/Entity.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o MainMenu.o ../src/libUnuk/MainMenu.cpp IngameMenu.o: ../src/libUnuk/IngameMenu.cpp ../src/libUnuk/IngameMenu.h \ @@ -372,6 +395,7 @@ Character.o: ../src/libUnuk/Character.cpp ../src/libUnuk/Character.h \ ../src/libUnuk/Map.h \ ../src/libUnuk/TextureManager.h \ ../src/libUnuk/MapTile.h \ + ../src/libUnuk/Entity.h \ ../src/libUnuk/Timer.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Character.o ../src/libUnuk/Character.cpp @@ -386,6 +410,7 @@ NPC.o: ../src/libUnuk/NPC.cpp ../src/libUnuk/NPC.h \ ../src/libUnuk/Map.h \ ../src/libUnuk/TextureManager.h \ ../src/libUnuk/MapTile.h \ + ../src/libUnuk/Entity.h \ ../src/libUnuk/Timer.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o NPC.o ../src/libUnuk/NPC.cpp @@ -400,6 +425,7 @@ Player.o: ../src/Unuk/Player.cpp ../src/Unuk/Player.h \ ../src/libUnuk/Map.h \ ../src/libUnuk/TextureManager.h \ ../src/libUnuk/MapTile.h \ + ../src/libUnuk/Entity.h \ ../src/libUnuk/Timer.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Player.o ../src/Unuk/Player.cpp @@ -415,6 +441,7 @@ Game.o: ../src/Unuk/Game.cpp ../src/Unuk/Game.h \ ../src/libUnuk/Map.h \ ../src/libUnuk/TextureManager.h \ ../src/libUnuk/MapTile.h \ + ../src/libUnuk/Entity.h \ ../src/libUnuk/Timer.h \ ../src/libUnuk/IngameMenu.h \ ../src/libUnuk/Menu.h \ @@ -427,6 +454,9 @@ Game.o: ../src/Unuk/Game.cpp ../src/Unuk/Game.h \ ../src/libUnuk/NPC.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Game.o ../src/Unuk/Game.cpp +Entity.o: ../src/libUnuk/Entity.cpp ../src/libUnuk/Entity.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Entity.o ../src/libUnuk/Entity.cpp + ####### Install install: FORCE diff --git a/Unuk-QT/Unuk-QT.pro b/Unuk-QT/Unuk-QT.pro index 1dc3d26..e1cd2ff 100644 --- a/Unuk-QT/Unuk-QT.pro +++ b/Unuk-QT/Unuk-QT.pro @@ -32,7 +32,8 @@ HEADERS += ../src/libUnuk/Debug.h \ ../src/libUnuk/Character.h \ ../src/libUnuk/NPC.h \ ../src/Unuk/Player.h \ - ../src/Unuk/Game.h + ../src/Unuk/Game.h \ + ../src/libUnuk/Entity.h SOURCES += ../src/libUnuk/Debug.cpp \ ../src/Unuk/main.cpp \ ../src/libUnuk/Input.cpp \ @@ -55,4 +56,5 @@ SOURCES += ../src/libUnuk/Debug.cpp \ ../src/libUnuk/Character.cpp \ ../src/libUnuk/NPC.cpp \ ../src/Unuk/Player.cpp \ - ../src/Unuk/Game.cpp + ../src/Unuk/Game.cpp \ + ../src/libUnuk/Entity.cpp diff --git a/src/libUnuk/Character.cpp b/src/libUnuk/Character.cpp index 9a2a59a..1aaffcf 100644 --- a/src/libUnuk/Character.cpp +++ b/src/libUnuk/Character.cpp @@ -128,11 +128,9 @@ bool Character::CheckTileCollisions(void) { } bool Character::CheckEntityCollisions(void) { - for(int i = -1; i < 2; i++) { - for(int j = -1; j < 2; j++) { + for(int i = -2; i < 3; i++) { + for(int j = -2; j < 3; j++) { if(map->GetEntitySolidity(tileX + i, tileY + j)) { - printf("\nw - ", map->GetEntityWidth(tileX + i, tileY + j)); - printf("\nh - ", map->GetEntityHeight(tileX + i, tileY + j)); if(CheckCollisionXY(x, y, w, h, map->GetEntityX(tileX + i, tileY + j), map->GetEntityY(tileX + i, tileY + j), map->GetEntityWidth(tileX + i, tileY + j), diff --git a/src/libUnuk/Entity.cpp b/src/libUnuk/Entity.cpp new file mode 100644 index 0000000..8fb9f04 --- /dev/null +++ b/src/libUnuk/Entity.cpp @@ -0,0 +1 @@ +#include "Entity.h" diff --git a/src/libUnuk/Entity.h b/src/libUnuk/Entity.h new file mode 100644 index 0000000..092a5c6 --- /dev/null +++ b/src/libUnuk/Entity.h @@ -0,0 +1,16 @@ +#ifndef _ENTITY_H_ +#define _ENTITY_H_ + +class Entity { +public: + +private: + bool m_solid; + + int x; + int y; + int w; + int h; +}; + +#endif diff --git a/src/libUnuk/Map.cpp b/src/libUnuk/Map.cpp index 32aea83..fb6abe6 100644 --- a/src/libUnuk/Map.cpp +++ b/src/libUnuk/Map.cpp @@ -30,7 +30,7 @@ void Map::Load(const string filename) { string tileName; while(iss >> tileName) { string fullTilePath = "../Data/Media/Images/Tiles/" + tileName + ".png"; - m_tile[m_mapRows][m_mapColumns].SetTextureID(m_tileTextures->Add(fullTilePath)); + m_tile[m_mapRows][m_mapColumns].SetTileTexture(m_tileTextures->Add(fullTilePath)); // Read the file solidity. bool tileSolidity; @@ -45,19 +45,11 @@ void Map::Load(const string filename) { iss >> entityName; if(entityName == "n") { - m_tile[m_mapRows][m_mapColumns].SetEntityID(-1); + m_tile[m_mapRows][m_mapColumns].SetEntityTexture(NULL); } else { string entityPath = "../Data/Media/Images/Entities/" + entityName + ".png"; - m_tile[m_mapRows][m_mapColumns].SetEntityID(m_entityTextures->AddAlpha(entityPath)); - - // Set the entities width and height variables. - m_tile[m_mapRows][m_mapColumns].SetEntityWidthHeight( - m_entityTextures->GetTextureWidth(m_tile[m_mapRows][m_mapColumns].GetEntityID()), - m_entityTextures->GetTextureHeight(m_tile[m_mapRows][m_mapColumns].GetEntityID())); - - printf("\nw - ", m_entityTextures->GetTextureWidth(m_tile[m_mapRows][m_mapColumns].GetEntityID())); - printf("\nh - ", m_entityTextures->GetTextureHeight(m_tile[m_mapRows][m_mapColumns].GetEntityID())); + m_tile[m_mapRows][m_mapColumns].SetEntityTexture(m_entityTextures->AddAlpha(entityPath)); // Set the entities x and y variables. m_tile[m_mapRows][m_mapColumns].SetEntityXY( @@ -103,17 +95,17 @@ void Map::Render(void) { for(int j = 1; j < m_mapRows; j++) for(int i = 1; i < m_mapColumns; i++) { ApplySurface(m_tile[j][i].GetTileX(), m_tile[j][i].GetTileY(), - m_tileTextures->Get(m_tile[j][i].GetTextureID()), screen); - if(m_tile[j][i].GetEntityID() != -1) { + m_tile[j][i].GetTileTexture(), screen); + if(m_tile[j][i].GetEntityTexture() != NULL) { ApplySurface(m_tile[j][i].GetEntityX(), m_tile[j][i].GetEntityY(), - m_entityTextures->Get(m_tile[j][i].GetEntityID()), screen); + m_tile[j][i].GetEntityTexture(), screen); } } } void Map::Unload(void) { - m_tileTextures->Clear(); - m_entityTextures->Clear(); + m_tileTextures->Unload(); + m_entityTextures->Unload(); // Start at 1,1 so we do not have to be concerned about messy // bounds checking when accessing the tile array within the game loop. @@ -125,7 +117,8 @@ void Map::Unload(void) { // creating an invisible wall anywhere. for(int i = 0; i < TILE_ARRAY_SIZE; i++) { for(int j = 0; j < TILE_ARRAY_SIZE; j++) { - m_tile[i][j].SetTileSolidity(false); + m_tile[i][j].SetTileTexture(NULL); + m_tile[i][j].SetEntityTexture(NULL); } } } diff --git a/src/libUnuk/MapTile.h b/src/libUnuk/MapTile.h index 40c3028..dfb4d01 100644 --- a/src/libUnuk/MapTile.h +++ b/src/libUnuk/MapTile.h @@ -2,6 +2,9 @@ #define _MAPTILE_H_ #include #include +#include + +#include "Entity.h" using namespace std; class MapTile { @@ -9,8 +12,8 @@ public: MapTile(void) {} ~MapTile(void) {} - void SetTextureID(int arg) { m_textureID = arg; } - int GetTextureID(void) { return m_textureID; } + void SetTileTexture(SDL_Surface* surface) { m_tileTexture = surface; } + SDL_Surface* GetTileTexture(void) { return m_tileTexture; } void SetTileSolidity(bool arg) { m_tileSolidity = arg; } bool GetTileSolidity(void) { return m_tileSolidity; } @@ -18,16 +21,20 @@ public: int GetTileX(void) { return m_tileX; } int GetTileY(void) { return m_tileY; } - void SetEntityID(int arg) { m_entityID = arg; } - int GetEntityID(void) { return m_entityID; } - - void SetEntitySolidity(bool arg) { m_entityID = arg; } + void SetEntityTexture(SDL_Surface* surface) { + m_entityTexture = surface; + if(m_entityTexture != NULL) { + m_entityW = m_entityTexture->w; + m_entityH = m_entityTexture->h; + } + } + SDL_Surface* GetEntityTexture(void) { return m_entityTexture; } + void SetEntitySolidity(bool arg) { m_entitySolidity = arg; } bool GetEntitySolitity(void) { return m_entitySolidity; } void SetEntityXY(int xArg, int yArg) { m_entityX = xArg, m_entityY = yArg; } int GetEntityX(void) { return m_entityX; } int GetEntityY(void) { return m_entityY; } - void SetEntityWidthHeight(int wArg, int hArg) { m_entityW = wArg, m_entityH = hArg; } int GetEntityWidth(void) { return m_entityW; } int GetEntityHeight(void) { return m_entityH; } @@ -42,13 +49,12 @@ public: int GetMapTransitionY(void) { return m_mapTransitionY; } private: - int m_textureID; + SDL_Surface* m_entityTexture; bool m_tileSolidity; int m_tileX; int m_tileY; - // Less than -1 if entity is present. - int m_entityID; + SDL_Surface* m_tileTexture; bool m_entitySolidity; int m_entityX; int m_entityY; diff --git a/src/libUnuk/TextureManager.cpp b/src/libUnuk/TextureManager.cpp index 4098d9f..0298859 100644 --- a/src/libUnuk/TextureManager.cpp +++ b/src/libUnuk/TextureManager.cpp @@ -5,45 +5,51 @@ TextureManager::TextureManager(void) { } TextureManager::~TextureManager(void) { - Clear(); + Unload(); } -void TextureManager::Clear(void) { +void TextureManager::Unload(void) { for(int i = 0; i < m_allocated; i++) { - SDL_FreeSurface(array[i].texture); - array[i].name.clear(); + SDL_FreeSurface(textures[i].texture); + textures[i].name.clear(); } m_allocated = 0; } -int TextureManager::Add(string filename) { +SDL_Surface* TextureManager::Add(string filename) { assert(m_allocated < TEXTURE_NODE_SIZE); // Has the texture been loaded already? for(int i = 0; i < m_allocated; i++) { - if(array[i].name == filename) { - return i; + if(textures[i].name == filename) { + return textures[i].texture; } } + // If not, then load it. + textures[m_allocated].name = filename; + textures[m_allocated].texture = LoadImage(filename.c_str()); - array[m_allocated].name = filename; - array[m_allocated].texture = LoadImage(filename.c_str()); + m_allocated++; - return m_allocated++; + return textures[m_allocated - 1].texture; } -int TextureManager::AddAlpha(string filename) { +SDL_Surface* TextureManager::AddAlpha(string filename) { assert(m_allocated < TEXTURE_NODE_SIZE); // Has the texture been loaded already? for(int i = 0; i < m_allocated; i++) { - if(array[i].name == filename) { - return i; + if(textures[i].name == filename) { + return textures[i].texture; } } - array[m_allocated].name = filename; - array[m_allocated].texture = LoadImageAlpha(filename.c_str()); + // If not, then load it. - return m_allocated++; + textures[m_allocated].name = filename; + textures[m_allocated].texture = LoadImageAlpha(filename.c_str()); + + m_allocated++; + + return textures[m_allocated -1].texture; } diff --git a/src/libUnuk/TextureManager.h b/src/libUnuk/TextureManager.h index b6226ed..8399693 100644 --- a/src/libUnuk/TextureManager.h +++ b/src/libUnuk/TextureManager.h @@ -18,14 +18,10 @@ public: TextureManager(void); ~TextureManager(void); - SDL_Surface* Get(int n) { return array[n].texture; } - int GetTextureWidth(int n) { return array[n].texture->w; } - int GetTextureHeight(int n) { return array[n].texture->h; } + void Unload(void); - void Clear(void); - - int Add(string filename); - int AddAlpha(string filename); + SDL_Surface* Add(string filename); + SDL_Surface* AddAlpha(string filename); private: // The textureNode will hold the name and the texture. @@ -36,7 +32,7 @@ private: // We should not need more than a hundred.. static const int TEXTURE_NODE_SIZE = 100; - textureNode array[TEXTURE_NODE_SIZE]; + textureNode textures[TEXTURE_NODE_SIZE]; int m_allocated; };