Added Kirby badguy
[supertux.git] / src / supertux / object_factory.cpp
index 096e82a..2250822 100644 (file)
@@ -44,6 +44,7 @@
 #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"
@@ -200,6 +201,7 @@ ObjectFactory::init_factories()
   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");
@@ -244,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");
@@ -277,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.";
@@ -294,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;
@@ -305,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 */