Some more messing around with aspect-ratio, window resize and stuff
[supertux.git] / src / sector.cpp
index 686efc9..625a00b 100644 (file)
@@ -83,6 +83,8 @@ Sector::Sector(Level* parent)
   add_object(new DisplayEffect("Effect"));
   add_object(new TextObject("Text"));
 
+  sound_manager->preload("sounds/shoot.wav");
+
   // create a new squirrel table for the sector
   using namespace Scripting;
 
@@ -443,8 +445,8 @@ Sector::fix_old_tiles()
        // lava or lavaflow
        if ((id == 173) || (id == 1700) || (id == 1705) || (id == 1706)) {
          // space lights a bit
-         if (((tm->get_tile_id(x-1, y)) != tm->get_tile_id(x,y))
-             && (tm->get_tile_id(x, y-1) != tm->get_tile_id(x,y))
+         if ((((tm->get_tile_id(x-1, y)) != tm->get_tile_id(x,y))
+             && (tm->get_tile_id(x, y-1) != tm->get_tile_id(x,y)))
              || ((x % 3 == 0) && (y % 3 == 0))) {
            float pseudo_rnd = (float)((int)pos.x % 10) / 10;
            add_object(new PulsingLight(center, 1.0f + pseudo_rnd, 0.8f, 1.0f, Color(1.0f, 0.3f, 0.0f, 1.0f)));
@@ -1461,7 +1463,7 @@ Sector::play_music(MusicType type)
       sound_manager->play_music(music);
       break;
     case HERRING_MUSIC:
-      sound_manager->play_music("music/salcon.ogg");
+      sound_manager->play_music("music/invincible.ogg");
       break;
     case HERRING_WARNING_MUSIC:
       sound_manager->stop_music(TUX_INVINCIBLE_TIME_WARNING);
@@ -1571,3 +1573,22 @@ Sector::get_ambient_blue()
 {
   return ambient_light.blue;
 }
+
+void
+Sector::set_gravity(float gravity)
+{
+  log_warning << "Changing a Sector's gravitational constant might have unforseen side-effects" << std::endl;
+
+  this->gravity = gravity;
+
+  for(GameObjects::iterator i = gameobjects.begin(); i != gameobjects.end(); ++i) {
+    GameObject* game_object = *i;
+    if(!game_object) continue;
+    if(!game_object->is_valid()) continue;
+    UsesPhysic *physics_object = dynamic_cast<UsesPhysic*>(game_object);
+    if (!physics_object) continue;
+
+    physics_object->physic.set_gravity(gravity);
+  }
+}
+