diff --git a/src/pixelpipeline.cpp b/src/pixelpipeline.cpp index a7d2194..3cc34c6 100644 --- a/src/pixelpipeline.cpp +++ b/src/pixelpipeline.cpp @@ -72,14 +72,19 @@ PixelPipeline::PixelPipeline(MapScene *map) : PixelPipeline::~PixelPipeline() { - delete m_mapFBO; - delete m_mapTex; + // shaders delete m_texMapShader; delete m_renderShader; - delete m_map; delete m_skyboxShader; + // textures + delete m_mapTex; delete m_skyTexBack; delete m_skyTexFront; + // framebuffers + delete m_mapFBO; + // meshes + delete m_toreiller; + delete m_map; } void PixelPipeline::updateChanges() diff --git a/src/simulation.cpp b/src/simulation.cpp index ab83cd2..1a15961 100644 --- a/src/simulation.cpp +++ b/src/simulation.cpp @@ -23,6 +23,12 @@ Simulation::Simulation(MapScene *_map, std::vector &_behaviors } } +Simulation::~Simulation() +{ + for(Dude* d : m_dudes) + delete d; +} + void Simulation::update() { std::random_shuffle(m_dudes.begin(), m_dudes.end()); @@ -55,7 +61,6 @@ void Simulation::handleAction(Dude *dude) // initialisation Coord currentPos(dude->getPos()); Coord targetPos = p_map->toreillerLoop(currentPos + Coord(action.dir)); - Pixel &source = p_map->getPixel(currentPos); Pixel &target = p_map->getPixel(targetPos); dude->setSuccess(false); diff --git a/src/simulation.h b/src/simulation.h index 804fbd5..75650d8 100644 --- a/src/simulation.h +++ b/src/simulation.h @@ -15,6 +15,7 @@ private: std::vector m_teams; public: Simulation(MapScene *_map, std::vector &_behaviors); + ~Simulation(); MapScene* getMap() { return (MapScene*) p_map; } int getPopulation(){return m_dudes.size();}