add_object(new InvisibleBlock(pos));
solids->change(x, y, 0);
} else if(tile->getAttributes() & Tile::COIN) {
- add_object(new Coin(pos));
+ add_object(new Coin(pos, solids));
solids->change(x, y, 0);
} else if(tile->getAttributes() & Tile::FULLBOX) {
add_object(new BonusBlock(pos, tile->getData()));
solids->change(x, y, 0);
} else if(tile->getAttributes() & Tile::BRICK) {
- add_object(new Brick(pos, tile->getData()));
+ if( ( id == 78 ) || ( id == 105 ) ){
+ add_object( new Brick(pos, tile->getData(), "images/objects/bonus_block/brickIce.sprite") );
+ } else if( ( id == 77 ) || ( id == 104 ) ){
+ add_object( new Brick(pos, tile->getData(), "images/objects/bonus_block/brick.sprite") );
+ } else {
+ log_warning << "attribute 'brick #t' is not supported for tile-id " << id << std::endl;
+ add_object( new Brick(pos, tile->getData(), "images/objects/bonus_block/brick.sprite") );
+ }
solids->change(x, y, 0);
} else if(tile->getAttributes() & Tile::GOAL) {
std::string sequence = tile->getData() == 0 ? "endsequence" : "stoptux";
}
}
+ //FIXME: This is a really dirty workaround for this strange camera jump
+ player->move(player->get_pos()+Vector(-32, 0));
camera->reset(player->get_pos());
+ camera->update(1);
+ player->move(player->get_pos()+(Vector(32, 0)));
+ camera->update(1);
+
update_game_objects();
//Run default.nut just before init script