diff --git a/build-debug/sfml-test b/build-debug/sfml-test index 3707f2c..cd4ee8c 100755 Binary files a/build-debug/sfml-test and b/build-debug/sfml-test differ diff --git a/src/game.cpp b/src/game.cpp index 75f7e4f..72ee84b 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -20,12 +20,6 @@ Game::Game() main_window.create(sf::VideoMode(window_side * 3, window_side * 3), "SFML-Test Application", sf::Style::Default); main_window.setActive(); - - level->getCellAt(0, 0)->setHeightShift(15); - level->getCellAt(0, 1)->setHeightShift(10); - - current_level = 1; - //loadLevel(current_level); } int Game::run() diff --git a/src/level.cpp b/src/level.cpp index ad56305..bfdf307 100644 --- a/src/level.cpp +++ b/src/level.cpp @@ -3,6 +3,7 @@ #include #include #include +#include template // [D]erived - [B]ase std::unique_ptr static_unique_pointer_cast(std::unique_ptr&& old) @@ -28,6 +29,7 @@ void Level::Map::init(const std::string &map_file_name) continue; } + sstr.clear(); sstr.str(cur_line); switch (cur_section) { @@ -74,10 +76,11 @@ void Level::Map::readMapSize(std::istringstream &sstr) void Level::Map::readMapRow(std::istringstream &sstr) { - data.push_back(Row()); - for (int cell_type; sstr >> cell_type;) + data.emplace_back(Row()); + int cell_type; + while (sstr >> cell_type) { - data.back().push_back(default_cells[cell_type]->clone()); + data.back().emplace_back(default_cells[cell_type]->clone()); data.back().back()->setPosition(data.size()-1, data.back().size()-1); } }