Added Kirby badguy
[supertux.git] / src / supertux / object_factory.cpp
index f309bdf..2250822 100644 (file)
 #include "badguy/flyingsnowball.hpp"
 #include "badguy/ghostflame.hpp"
 #include "badguy/ghosttree.hpp"
+#include "badguy/goldbomb.hpp"
 #include "badguy/haywire.hpp"
 #include "badguy/iceflame.hpp"
 #include "badguy/igel.hpp"
 #include "badguy/jumpy.hpp"
 #include "badguy/kamikazesnowball.hpp"
+#include "badguy/kirby.hpp"
 #include "badguy/kugelblitz.hpp"
+#include "badguy/livefire.hpp"
 #include "badguy/mole.hpp"
 #include "badguy/mole_rock.hpp"
 #include "badguy/mrbomb.hpp"
@@ -68,7 +71,6 @@
 #include "badguy/totem.hpp"
 #include "badguy/treewillowisp.hpp"
 #include "badguy/walking_badguy.hpp"
-#include "badguy/walkingflame.hpp"
 #include "badguy/walkingleaf.hpp"
 #include "badguy/willowisp.hpp"
 #include "badguy/yeti.hpp"
@@ -89,6 +91,8 @@
 #include "object/candle.hpp"
 #include "object/cloud_particle_system.hpp"
 #include "object/coin.hpp"
+#include "object/coin_explode.hpp"
+#include "object/coin_rain.hpp"
 #include "object/comet_particle_system.hpp"
 #include "object/decal.hpp"
 #include "object/display_effect.hpp"
@@ -191,12 +195,17 @@ ObjectFactory::init_factories()
   add_factory<FlyingSnowBall>("flyingsnowball");
   add_factory<Ghostflame>("ghostflame");
   add_factory<GhostTree>("ghosttree");
+  add_factory<GoldBomb>("goldbomb");
   add_factory<Haywire>("haywire");
   add_factory<Iceflame>("iceflame");
   add_factory<Igel>("igel");
   add_factory<Jumpy>("jumpy");
   add_factory<KamikazeSnowball>("kamikazesnowball");
+  add_factory<Kirby>("kirby");
   add_factory<Kugelblitz>("kugelblitz");
+  add_factory<LiveFire>("livefire");
+  add_factory<LiveFireAsleep>("livefire_asleep");
+  add_factory<LiveFireDormant>("livefire_dormant");
   add_factory<Mole>("mole");
   add_factory<MoleRock>("mole_rock");
   add_factory<MrBomb>("mrbomb");
@@ -210,6 +219,7 @@ ObjectFactory::init_factories()
   add_factory<SkyDive>("skydive");
   add_factory<SkullyHop>("skullyhop");
   add_factory<SmartBall>("smartball");
+  add_factory<SmartBlock>("smartblock");
   add_factory<Snail>("snail");
   add_factory<SnowBall>("snowball");
   add_factory<Snowman>("snowman");
@@ -217,10 +227,8 @@ ObjectFactory::init_factories()
   add_factory<Spiky>("spiky");
   add_factory<Stalactite>("stalactite");
   add_factory<Stumpy>("stumpy");
-  add_factory<SWalkingFlame>("swalkingflame");
   add_factory<Toad>("toad");
   add_factory<Totem>("totem");
-  add_factory<WalkingFlame>("walkingflame");
   add_factory<WalkingLeaf>("walkingleaf");
   add_factory<WillOWisp>("willowisp");
   add_factory<Yeti>("yeti");
@@ -238,6 +246,7 @@ ObjectFactory::init_factories()
   add_factory<Explosion>("explosion");
   add_factory<Firefly>("firefly");
   add_factory<Gradient>("gradient");
+  add_factory<HeavyCoin>("heavycoin");
   add_factory<HurtingPlatform>("hurting_platform");
   add_factory<IceCrusher>("icecrusher");
   add_factory<InfoBlock>("infoblock");
@@ -271,12 +280,12 @@ ObjectFactory::init_factories()
   add_factory<Switch>("switch");
 }
 
-GameObject*
+GameObjectPtr
 ObjectFactory::create(const std::string& name, const Reader& reader)
 {
   Factories::iterator i = factories.find(name);
 
-  if (i == factories.end()) 
+  if (i == factories.end())
   {
     std::stringstream msg;
     msg << "No factory for object '" << name << "' found.";
@@ -288,7 +297,7 @@ ObjectFactory::create(const std::string& name, const Reader& reader)
   }
 }
 
-GameObject*
+GameObjectPtr
 ObjectFactory::create(const std::string& name, const Vector& pos, const Direction dir)
 {
   std::stringstream lisptext;
@@ -299,9 +308,8 @@ ObjectFactory::create(const std::string& name, const Vector& pos, const Directio
 
   lisp::Parser parser;
   const lisp::Lisp* lisp = parser.parse(lisptext, "create_object");
-  
-  GameObject* object = create(name, *(lisp->get_car()));
-  return object;
+
+  return create(name, *(lisp->get_car()));
 }
 
 /* EOF */