#include "SpriteLoader.h" SpriteLoader::SpriteLoader() : m_folder(""), m_optiFormat(true) {} SpriteLoader::SpriteLoader(std::string folder) : m_folder(folder), m_optiFormat(true) {} SpriteLoader::SpriteLoader(std::string folder, bool optiFormat) : m_folder(folder), m_optiFormat(optiFormat) {} SpriteLoader::~SpriteLoader() { for( m_it = m_paquet.begin(); m_it != m_paquet.end(); m_it++ ) { SDL_FreeSurface(m_it->second); m_it->second = 0x0; } } SDL_Surface* SpriteLoader::takeSprite(std::string nom) { // Cherche la surface dans le tableau m_it = m_paquet.find(nom); // Si la surface est déjà chargée, on la donne if (m_it != m_paquet.end()) { return m_it->second; } // Sinon on la charge else { std::string source(m_folder + nom + ".bmp"); m_paquet[nom] = SDL_LoadBMP(source.c_str()); if (m_paquet[nom] == 0) { m_paquet[nom] = SDL_CreateRGBSurface(SDL_HWSURFACE, 40, 40, 32, 0, 0, 0, 0); std::cout << "La texture " <second); m_paquet.erase(m_it); } } void SpriteLoader::addSprite(std::string nom, SDL_Surface* sprite) { m_it = m_paquet.find(nom); if (m_it == m_paquet.end()) { m_paquet[nom] = sprite; return; } else { std::cout << "Attention ! La texture " <