| 189 | } |
| 190 | |
| 191 | bool GameMap::loadLevel(const std::string& levelFilepath) |
| 192 | { |
| 193 | // We reset the creature definitions |
| 194 | clearClasses(); |
| 195 | for(auto it : ConfigManager::getSingleton().getCreatureDefinitions()) |
| 196 | { |
| 197 | addClassDescription(it.second); |
| 198 | } |
| 199 | |
| 200 | // We reset the weapons definitions |
| 201 | clearWeapons(); |
| 202 | const std::vector<const Weapon*>& weapons = ConfigManager::getSingleton().getWeapons(); |
| 203 | for(const Weapon* def : weapons) |
| 204 | { |
| 205 | addWeapon(def); |
| 206 | } |
| 207 | |
| 208 | // We add the rogue default seat (seatId = 0 and teamId = 0) |
| 209 | Seat* rogueSeat = Seat::createRogueSeat(this); |
| 210 | if(!addSeat(rogueSeat)) |
| 211 | { |
| 212 | OD_LOG_ERR("Couldn't add rogue seat"); |
| 213 | delete rogueSeat; |
| 214 | } |
| 215 | |
| 216 | if (MapHandler::readGameMapFromFile(levelFilepath, *this)) |
| 217 | setLevelFileName(levelFilepath); |
| 218 | else |
| 219 | return false; |
| 220 | |
| 221 | return true; |
| 222 | } |
| 223 | |
| 224 | bool GameMap::createNewMap(int sizeX, int sizeY) |
| 225 | { |
no test coverage detected