diff options
Diffstat (limited to 'src/world.cpp')
-rw-r--r-- | src/world.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/world.cpp b/src/world.cpp index 19e9fbc..58606e5 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -229,9 +229,12 @@ void World::deleteEntities(void){ entity.pop_back(); } while(!particles.empty()){ - delete particles.back(); + //delete particles.back(); particles.pop_back(); } + while(!light.empty()){ + light.pop_back(); + } } World::~World(void){ @@ -421,17 +424,17 @@ void World::update(Player *p,unsigned int delta){ else if(e->vel.x > 0)e->left = false; } } - uint oh = 0; for(auto &pa : particles){ if(pa->kill(deltaTime)){ - delete pa; - particles.erase(particles.begin()+oh); + //delete pa; + //particles.erase(particles.begin()+oh); + std::cout << pa.duration; + std::cout << particles[oh].duration; }else if(pa->canMove){ pa->loc.y += pa->vely * deltaTime; pa->loc.x += pa->velx * deltaTime; - for(auto &b : build){ - if(b->bsubtype==FOUNTAIN){ + if(b->bsubtype==FOUNTAIN && pa->fountain){ if(pa->loc.x >= b->loc.x && pa->loc.x <= b->loc.x+b->width){ if(pa->loc.y <= b->loc.y + b->height*.25){ delete pa; @@ -441,8 +444,7 @@ void World::update(Player *p,unsigned int delta){ } } } - oh++; - }oh=0; + } if(ui::dialogImportant){ Mix_FadeOutMusic(2000); @@ -1046,7 +1048,7 @@ LOOOOP: part->velx = 0; part->canMove = false; }else{ - if(part->vely > -2)part->vely-=.003 * deltaTime; + if(part->gravity && part->vely > -2)part->vely-=.003 * deltaTime; } what++; }what=0; |