Removed some obsolete stuff from supertux/globals.hpp
[supertux.git] / src / object / trampoline.cpp
index 3b6630c..b1c2fbc 100644 (file)
@@ -22,6 +22,7 @@
 #include "sprite/sprite.hpp"
 #include "sprite/sprite_manager.hpp"
 #include "supertux/object_factory.hpp"
+#include "util/reader.hpp"
 
 /* Trampoline will accelerate player to to VY_INITIAL, if
  * he jumps on it to VY_MIN. */
@@ -35,19 +36,31 @@ Trampoline::Trampoline(const Reader& lisp) :
   Rock(lisp, "images/objects/trampoline/trampoline.sprite"),
   portable(true)
 {
-  sound_manager->preload(TRAMPOLINE_SOUND);
+  SoundManager::current()->preload(TRAMPOLINE_SOUND);
 
   //Check if this trampoline is not portable
   if(lisp.get("portable", portable)) {
     if(!portable) {
       //we need another sprite
       sprite_name = "images/objects/trampoline/trampoline_fix.sprite";
-      sprite = sprite_manager->create(sprite_name);
+      sprite = SpriteManager::current()->create(sprite_name);
       sprite->set_action("normal");
     }
   }
 }
 
+Trampoline::Trampoline(const Vector& pos, bool port) :
+  Rock(pos, "images/objects/trampoline/trampoline.sprite"),
+  portable(port)
+{
+  SoundManager::current()->preload(TRAMPOLINE_SOUND);
+  if(!port) {
+    sprite_name = "images/objects/trampoline/trampoline_fix.sprite";
+    sprite = SpriteManager::current()->create(sprite_name);
+    sprite->set_action("normal");
+  }
+}
+
 void
 Trampoline::update(float elapsed_time)
 {
@@ -76,7 +89,7 @@ Trampoline::collision(GameObject& other, const CollisionHit& hit)
           vy = VY_INITIAL;
         }
         player->get_physic().set_velocity_y(vy);
-        sound_manager->play(TRAMPOLINE_SOUND);
+        SoundManager::current()->play(TRAMPOLINE_SOUND);
         sprite->set_action("swinging", 1);
         return FORCE_MOVE;
       }
@@ -89,7 +102,7 @@ Trampoline::collision(GameObject& other, const CollisionHit& hit)
       if(hit.top && vy >= 0) {
         vy = VY_INITIAL;
         walking_badguy->set_velocity_y(vy);
-        sound_manager->play(TRAMPOLINE_SOUND);
+        SoundManager::current()->play(TRAMPOLINE_SOUND);
         sprite->set_action("swinging", 1);
         return FORCE_MOVE;
       }
@@ -121,6 +134,4 @@ Trampoline::is_portable() const
   return Rock::is_portable() && portable;
 }
 
-IMPLEMENT_FACTORY(Trampoline, "trampoline");
-
 /* EOF */