From ca395d3754a388c4824b46086e7d29711a5d4752 Mon Sep 17 00:00:00 2001 From: LMH Date: Tue, 13 Aug 2013 12:36:29 -1000 Subject: [PATCH] Tweaks to HeavyCoin to make it placeable in the editor (just in case) --- src/object/coin.cpp | 12 +++++++++++- src/object/coin.hpp | 1 + src/supertux/object_factory.cpp | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/object/coin.cpp b/src/object/coin.cpp index 37becc0468f..86e4dd8aaeb 100644 --- a/src/object/coin.cpp +++ b/src/object/coin.cpp @@ -26,7 +26,7 @@ #include "supertux/sector.hpp" Coin::Coin(const Vector& pos) - : MovingSprite(pos, "images/objects/coin/coin.sprite", LAYER_TILES, COLGROUP_MOVING), + : MovingSprite(pos, "images/objects/coin/coin.sprite", LAYER_TILES, COLGROUP_TOUCHABLE), path(), walker(), offset(), @@ -179,9 +179,19 @@ HeavyCoin::HeavyCoin(const Vector& pos, const Vector& init_velocity) { physic.enable_gravity(true); sound_manager->preload("sounds/coin.wav"); + set_group(COLGROUP_MOVING); physic.set_velocity(init_velocity); } +HeavyCoin::HeavyCoin(const Reader& reader) + : Coin(reader), + physic() +{ + physic.enable_gravity(true); + sound_manager->preload("sounds/coin.wav"); + set_group(COLGROUP_MOVING); +} + void HeavyCoin::update(float elapsed_time) { diff --git a/src/object/coin.hpp b/src/object/coin.hpp index ba517f7e73f..132a472d3a4 100644 --- a/src/object/coin.hpp +++ b/src/object/coin.hpp @@ -48,6 +48,7 @@ class HeavyCoin : public Coin { public: HeavyCoin(const Vector& pos, const Vector& init_velocity); + HeavyCoin(const Reader& reader); virtual void update(float elapsed_time); virtual void collision_solid(const CollisionHit& hit); diff --git a/src/supertux/object_factory.cpp b/src/supertux/object_factory.cpp index 096e82a8dcf..2165970c262 100644 --- a/src/supertux/object_factory.cpp +++ b/src/supertux/object_factory.cpp @@ -244,6 +244,7 @@ ObjectFactory::init_factories() add_factory("explosion"); add_factory("firefly"); add_factory("gradient"); + add_factory("heavycoin"); add_factory("hurting_platform"); add_factory("icecrusher"); add_factory("infoblock");