using namespace std;
Level::Level() :
- name("noname"),
- author("Mr. X"),
+ name("noname"),
+ author("Mr. X"),
contact(),
license(),
filename(),
sectors(),
stats(),
target_time(),
- tileset(NULL),
+ tileset(NULL),
free_tileset(false)
{
}
level->get("version", version);
if(version == 1) {
log_info << "[" << filepath << "] level uses old format: version 1" << std::endl;
- tileset = tile_manager->get_tileset("images/tiles.strf");
+ tileset = TileManager::current()->get_tileset("images/tiles.strf");
load_old_format(*level);
return;
}
const lisp::Lisp* tilesets_lisp = level->get_lisp("tilesets");
if(tilesets_lisp != NULL) {
- tileset = tile_manager->parse_tileset_definition(*tilesets_lisp);
+ tileset = TileManager::current()->parse_tileset_definition(*tilesets_lisp).release();
free_tileset = true;
}
std::string tileset_name;
if(tileset != NULL) {
log_warning << "[" << filepath << "] multiple tilesets specified in level" << std::endl;
} else {
- tileset = tile_manager->get_tileset(tileset_name);
+ tileset = TileManager::current()->get_tileset(tileset_name);
}
}
/* load default tileset */
if(tileset == NULL) {
- tileset = tile_manager->get_tileset("images/tiles.strf");
+ tileset = TileManager::current()->get_tileset("images/tiles.strf");
}
current_tileset = tileset;
}
Sector*
-Level::get_sector(const std::string& name)
+Level::get_sector(const std::string& name_)
{
for(Sectors::iterator i = sectors.begin(); i != sectors.end(); ++i) {
Sector* sector = *i;
- if(sector->get_name() == name)
+ if(sector->get_name() == name_)
return sector;
}
int total_coins = 0;
for(Sectors::iterator i = sectors.begin(); i != sectors.end(); ++i) {
Sector* sector = *i;
- for(Sector::GameObjects::iterator o = sector->gameobjects.begin();
- o != sector->gameobjects.end(); ++o) {
- Coin* coin = dynamic_cast<Coin*> (*o);
+ for(auto o = sector->gameobjects.begin(); o != sector->gameobjects.end(); ++o) {
+ Coin* coin = dynamic_cast<Coin*>(o->get());
if(coin)
{
total_coins++;
continue;
}
- BonusBlock *block = dynamic_cast<BonusBlock*> (*o);
+ BonusBlock *block = dynamic_cast<BonusBlock*>(o->get());
if(block)
{
if (block->contents == BonusBlock::CONTENT_COIN)
continue;
}
}
- GoldBomb *goldbomb = dynamic_cast<GoldBomb*> (*o);
+ GoldBomb *goldbomb = dynamic_cast<GoldBomb*>(o->get());
if(goldbomb)
total_coins += 10;
}
Level::get_total_secrets()
{
int total_secrets = 0;
- for(Sectors::iterator i = sectors.begin(); i != sectors.end(); ++i)
+ for(auto i = sectors.begin(); i != sectors.end(); ++i)
total_secrets += (*i)->get_total_count<SecretAreaTrigger>();
return total_secrets;
}