Added my own flapping. :)
[supertux.git] / src / sector.cpp
index 316b22f..815b321 100644 (file)
@@ -68,6 +68,23 @@ Sector::~Sector()
     _current = 0;
 }
 
+Sector *Sector::create(const std::string& name, size_t width, size_t height)
+{
+  Sector *sector = new Sector;
+  sector->name = name;
+  TileMap *background = new TileMap(LAYER_BACKGROUNDTILES, false, width, height);
+  TileMap *interactive = new TileMap(LAYER_TILES, true, width, height);
+  TileMap *foreground = new TileMap(LAYER_FOREGROUNDTILES, false, width, height);
+  sector->add_object(background);
+  sector->add_object(interactive);
+  sector->add_object(foreground);
+  sector->solids = interactive;
+  sector->camera = new Camera(sector);
+  sector->add_object(sector->camera);
+  sector->update_game_objects();
+  return sector;
+}
+
 void
 Sector::parse(LispReader& lispreader)
 {
@@ -701,10 +718,12 @@ Sector::add_bouncy_brick(const Vector& pos)
 }
 
 BadGuy*
-Sector::add_bad_guy(float x, float y, BadGuyKind kind)
+Sector::add_bad_guy(float x, float y, BadGuyKind kind, bool activate)
 {
   BadGuy* badguy = new BadGuy(kind, x, y);
   add_object(badguy);
+  if(activate)
+    badguy->activate(LEFT);
   return badguy;
 }
                                                                                 
@@ -750,9 +769,9 @@ Sector::add_smoke_cloud(const Vector& pos)
 }
 
 bool
-Sector::add_particles(const Vector& epicenter, const Vector& velocity, const Vector& acceleration, int number, Color color, int size, int life_time)
+Sector::add_particles(const Vector& epicenter, int min_angle, int max_angle, const Vector& initial_velocity, const Vector& acceleration, int number, Color color, int size, int life_time)
 {
-  add_object(new Particles(epicenter, velocity, acceleration, number, color, size, life_time));
+  add_object(new Particles(epicenter, min_angle, max_angle, initial_velocity, acceleration, number, color, size, life_time));
   return true;
 }