diff options
| author | aleksav013 <aleksav013@gmail.com> | 2021-06-06 15:35:16 +0200 |
|---|---|---|
| committer | aleksav013 <aleksav013@gmail.com> | 2021-06-06 15:35:16 +0200 |
| commit | 3270c2bcd37d23c68f281fedc60d71106e9926e7 (patch) | |
| tree | 64b7cb8f8b6e27ce8809507797f6116d7d200340 | |
| parent | 3fdf53f3c1fbf58e67ab9570f035756469b99424 (diff) | |
Fixing memory leak
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | src/Game.cpp | 8 | ||||
| -rw-r--r-- | src/State.cpp | 16 | ||||
| -rw-r--r-- | src/includes/State.hpp | 1 |
4 files changed, 21 insertions, 6 deletions
@@ -1,5 +1,5 @@ CXX = g++ -CXXFLAGS = --std=c++14 -g -O2 -Wall +CXXFLAGS = --std=c++14 -g -O0 -Wall LDLIBS = -lsfml-graphics -lsfml-window -lsfml-system SOURCE_DIR = src/ diff --git a/src/Game.cpp b/src/Game.cpp index 2fadf1c..c0bad0e 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -75,10 +75,10 @@ void Game::inittex() void Game::initent() { igrac = Player(sf::Vector2f(sirina/2.0,visina/2.0),sf::Vector2f(100.0f,100.0f),sf::Color::White); - for(size_t i=0;i<20;i++) nep1.push_back(Enemy1(sf::Vector2f(Global::rng()%sirina,Global::rng()%visina),sf::Vector2f(50.0f,50.0f),sf::Color::Red)); - for(size_t i=0;i<7;i++) nep2.push_back(Enemy2(sf::Vector2f(Global::rng()%sirina,Global::rng()%visina),sf::Vector2f(50.0f,50.0f),sf::Color::Cyan));//(253,106,2))); - for(size_t i=0;i<4;i++) nep3.push_back(Enemy3(sf::Vector2f(Global::rng()%sirina,Global::rng()%visina),sf::Vector2f(50.0f,50.0f),sf::Color::Yellow)); - pow.push_back(Powerup(sf::Vector2f(Global::rng()%sirina,Global::rng()%visina),sf::Vector2f(50.0f,50.0f),sf::Color::White,Global::rng()%3+1)); + for(size_t i=0;i<20;i++) nep1.emplace_back(sf::Vector2f(Global::rng()%sirina,Global::rng()%visina),sf::Vector2f(50.0f,50.0f),sf::Color::Red); + for(size_t i=0;i<7;i++) nep2.emplace_back(sf::Vector2f(Global::rng()%sirina,Global::rng()%visina),sf::Vector2f(50.0f,50.0f),sf::Color::Cyan); + for(size_t i=0;i<4;i++) nep3.emplace_back(sf::Vector2f(Global::rng()%sirina,Global::rng()%visina),sf::Vector2f(50.0f,50.0f),sf::Color::Yellow); + pow.emplace_back(sf::Vector2f(Global::rng()%sirina,Global::rng()%visina),sf::Vector2f(50.0f,50.0f),sf::Color::White,Global::rng()%3+1); } void Game::updatewin() { diff --git a/src/State.cpp b/src/State.cpp index 8a74331..a404666 100644 --- a/src/State.cpp +++ b/src/State.cpp @@ -121,7 +121,11 @@ void State::loop() { prozor.draw(podloga); prozor.draw(krajtext); - if(newgame) igra=new Game(&prozor,font,tex); + if(newgame) + { + delete igra; + igra=new Game(&prozor,font,tex); + } } if(pause) { @@ -134,4 +138,14 @@ void State::loop() ischanged=0; newgame=0; } + delete igra; +} +State::~State() +{ + delete font["default"]; + delete tex["neprijatelj"]; + delete tex["health"]; + delete tex["clear"]; + delete tex["vampiric"]; + //delete tex["djule"]; } diff --git a/src/includes/State.hpp b/src/includes/State.hpp index bcfb365..0b212b8 100644 --- a/src/includes/State.hpp +++ b/src/includes/State.hpp @@ -23,6 +23,7 @@ class State void keyboard(); public: State(); + ~State(); void loop(); }; |
