Candle property warning to debug
[supertux.git] / src / object / candle.cpp
index 10c549d..0ddfa55 100644 (file)
 #include "util/reader.hpp"
 
 Candle::Candle(const Reader& lisp)
-  : MovingSprite(lisp, "images/objects/candle/candle.sprite", LAYER_BACKGROUNDTILES+1, COLGROUP_DISABLED), 
-    burning(true), 
+  : MovingSprite(lisp, "images/objects/candle/candle.sprite", LAYER_BACKGROUNDTILES+1, COLGROUP_DISABLED),
+    burning(true),
     flicker(true),
     lightcolor(1.0f, 1.0f, 1.0f),
-    candle_light_1(sprite_manager->create("images/objects/candle/candle-light-1.sprite")),
-    candle_light_2(sprite_manager->create("images/objects/candle/candle-light-2.sprite"))
+    candle_light_1(SpriteManager::current()->create("images/objects/candle/candle-light-1.sprite")),
+    candle_light_2(SpriteManager::current()->create("images/objects/candle/candle-light-2.sprite"))
 {
-  lisp.get("name", name);
-  lisp.get("burning", burning);
-  lisp.get("flicker", flicker);
+
+  if(!lisp.get("name", name))
+  {
+    log_debug << "Couldn't get \"name\" property for candle." << std::endl;
+  }
+  if(!lisp.get("burning", burning))
+  {
+    log_debug << "Couldn't get \"burning\" property for candle." << std::endl;
+  }
+  if(!lisp.get("flicker", flicker))
+  {
+    log_debug << "Couldn't get \"flicker\" property for candle." << std::endl;
+  }
   //get color from lisp
   std::vector<float> vColor;
-  lisp.get("color", vColor);
+  if(lisp.get("color", vColor))
+  {
+    log_debug << "Couldn't get \"color\" property for candle." << std::endl;
+  }
+
   //change the light color if defined
   if (vColor.size() >= 3) {
     lightcolor = Color(vColor);
@@ -48,7 +62,7 @@ Candle::Candle(const Reader& lisp)
     candle_light_1->set_action("white");
     candle_light_2->set_action("white");
   }
-    
+
   if (burning) {
     sprite->set_action("on");
   } else {
@@ -107,7 +121,11 @@ Candle::puff_smoke()
   Vector ppos = bbox.get_middle();
   Vector pspeed = Vector(0, -150);
   Vector paccel = Vector(0,0);
-  Sector::current()->add_object(new SpriteParticle("images/objects/particles/smoke.sprite", "default", ppos, ANCHOR_MIDDLE, pspeed, paccel, LAYER_BACKGROUNDTILES+2));
+  Sector::current()->add_object(std::make_shared<SpriteParticle>("images/objects/particles/smoke.sprite",
+                                                                 "default",
+                                                                 ppos, ANCHOR_MIDDLE,
+                                                                 pspeed, paccel,
+                                                                 LAYER_BACKGROUNDTILES+2));
 }
 
 bool
@@ -117,11 +135,11 @@ Candle::get_burning()
 }
 
 void
-Candle::set_burning(bool burning)
+Candle::set_burning(bool burning_)
 {
-  if (this->burning == burning) return;
-  this->burning = burning;
-  if (burning) {
+  if (this->burning == burning_) return;
+  this->burning = burning_;
+  if (burning_) {
     sprite->set_action("on");
   } else {
     sprite->set_action("off");