Add some more sound_manager->preloads into object constructors
[supertux.git] / src / object / scripted_object.cpp
index 69f15ca..ba0d114 100644 (file)
@@ -123,6 +123,23 @@ ScriptedObject::is_visible()
 }
 
 void
+ScriptedObject::set_solid(bool solid)
+{
+  this->solid = solid;
+  if(solid)
+    flags |= FLAG_SOLID;
+  else
+    flags ^= FLAG_SOLID;
+}
+
+bool
+ScriptedObject::is_solid()
+{
+  return solid;
+}
+
+
+void
 ScriptedObject::set_action(const std::string& animation)
 {
   sprite->set_action(animation);
@@ -173,7 +190,7 @@ ScriptedObject::collision(GameObject& other, const CollisionHit& hit)
 
   if(other.get_flags() & FLAG_SOLID) {
     if(hit.normal.y < 0) { // landed on floor
-      if(physic.get_velocity_y() < 0)
+      if(physic.get_velocity_y() > 0)
         physic.set_velocity_y(0);
     } else if(hit.normal.y > 0) { // bumped against roof
       physic.set_velocity_y(.1);