X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy%2Fmrtree.cpp;h=500bd30ecf84ac3ba87af862440a9f6d7d22104d;hb=219ec61655edf6785ef483905b162604a215f5f4;hp=cc8feb88330aabdca5d5d96923b85fa663808867;hpb=4bbf74b32ab00e94162d90746cdb9ba9fd8a2aaa;p=supertux.git diff --git a/src/badguy/mrtree.cpp b/src/badguy/mrtree.cpp index cc8feb883..500bd30ec 100644 --- a/src/badguy/mrtree.cpp +++ b/src/badguy/mrtree.cpp @@ -38,7 +38,7 @@ MrTree::MrTree(const Reader& reader) { walk_speed = TREE_SPEED; max_drop_height = 16; - sound_manager->preload("sounds/mr_tree.ogg"); + SoundManager::current()->preload("sounds/mr_tree.ogg"); } bool @@ -54,12 +54,12 @@ MrTree::collision_squished(GameObject& object) Vector stumpy_pos = get_pos(); stumpy_pos.x += 20; stumpy_pos.y += 25; - Stumpy* stumpy = new Stumpy(stumpy_pos, dir); + auto stumpy = std::make_shared(stumpy_pos, dir); remove_me(); Sector::current()->add_object(stumpy); // give Feedback - sound_manager->play("sounds/mr_tree.ogg", get_pos()); + SoundManager::current()->play("sounds/mr_tree.ogg", get_pos()); Player* player = dynamic_cast(&object); if (player) player->bounce(*this); @@ -73,14 +73,18 @@ MrTree::collision_squished(GameObject& object) float vy = -cos(angle)*velocity; Vector pspeed = Vector(vx, vy); Vector paccel = Vector(0, 100); - Sector::current()->add_object(new SpriteParticle("images/objects/particles/leaf.sprite", "default", ppos, ANCHOR_MIDDLE, pspeed, paccel, LAYER_OBJECTS-1)); + Sector::current()->add_object(std::make_shared("images/objects/particles/leaf.sprite", + "default", + ppos, ANCHOR_MIDDLE, + pspeed, paccel, + LAYER_OBJECTS-1)); } // spawn PoisonIvy Vector leaf1_pos(stumpy_pos.x - POISONIVY_WIDTH - 1, stumpy_pos.y - POISONIVY_Y_OFFSET); Rectf leaf1_bbox(leaf1_pos.x, leaf1_pos.y, leaf1_pos.x + POISONIVY_WIDTH, leaf1_pos.y + POISONIVY_HEIGHT); if (Sector::current()->is_free_of_movingstatics(leaf1_bbox, this)) { - PoisonIvy* leaf1 = new PoisonIvy(leaf1_bbox.p1, LEFT); + auto leaf1 = std::make_shared(leaf1_bbox.p1, LEFT); leaf1->countMe = false; Sector::current()->add_object(leaf1); } @@ -89,7 +93,7 @@ MrTree::collision_squished(GameObject& object) Vector leaf2_pos(stumpy_pos.x + sprite->get_current_hitbox_width() + 1, stumpy_pos.y - POISONIVY_Y_OFFSET); Rectf leaf2_bbox(leaf2_pos.x, leaf2_pos.y, leaf2_pos.x + POISONIVY_WIDTH, leaf2_pos.y + POISONIVY_HEIGHT); if (Sector::current()->is_free_of_movingstatics(leaf2_bbox, this)) { - PoisonIvy* leaf2 = new PoisonIvy(leaf2_bbox.p1, RIGHT); + auto leaf2 = std::make_shared(leaf2_bbox.p1, RIGHT); leaf2->countMe = false; Sector::current()->add_object(leaf2); }