fix
[supertux.git] / src / sector.h
index 464a64f..51a135b 100644 (file)
@@ -16,7 +16,6 @@
 //  You should have received a copy of the GNU General Public License
 //  along with this program; if not, write to the Free Software
 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
 #ifndef SUPERTUX_SECTOR_H
 #define SUPERTUX_SECTOR_H
 
 #include "audio/musicref.h"
 #include "video/drawing_context.h"
 
-using namespace SuperTux;
-
-namespace SuperTux {
-class GameObject;
-class Sprite;
-class Rectangle;
-}
 namespace lisp {
 class Lisp;
 class Writer;
 }
 
+class Rect;
+class Sprite;
+class GameObject;
 class Player;
 class Camera;
 class TileMap;
 class Bullet;
 class CollisionGrid;
+class ScriptInterpreter;
+class SpawnPoint;
 
-class SpawnPoint
-{
-public:
-  std::string name;
-  Vector pos;
+enum MusicType {
+  LEVEL_MUSIC,
+  HERRING_MUSIC
 };
 
 /** This class holds a sector (a part of a level) and all the game objects
@@ -72,7 +67,7 @@ public:
   void activate(const std::string& spawnpoint);
   void activate(const Vector& player_pos);
 
-  void action(float elapsed_time);
+  void update(float elapsed_time);
   void update_game_objects();
 
   void draw(DrawingContext& context);
@@ -86,10 +81,10 @@ public:
   { return name; }
 
   /// tests if a given rectangle is inside the sector
-  bool inside(const Rectangle& rectangle) const;
+  bool inside(const Rect& rectangle) const;
 
-  void play_music(int musictype);
-  int get_music_type();
+  void play_music(MusicType musictype);
+  MusicType get_music_type();
   
   /** Checks for all possible collisions. And calls the
       collision_handlers, which the collision_objects provide for this
@@ -100,7 +95,7 @@ public:
   bool add_smoke_cloud(const Vector& pos);
   void add_floating_text(const Vector& pos, const std::string& text);
                                                                                 
-  /** @evil@ but can't always be avoided in current design... */
+  /** get currently activated sector. */
   static Sector* current()
   { return _current; }
 
@@ -121,7 +116,6 @@ private:
   std::string name;
 
   MusicRef level_song;
-  MusicRef level_song_fast;
 
 public:
   std::string song_title;
@@ -135,21 +129,23 @@ public:
 private:
   std::vector<Bullet*> bullets;
 
+  std::string init_script;
+
 public: // TODO make this private again
   typedef std::vector<GameObject*> GameObjects;
   GameObjects gameobjects;
   typedef std::vector<SpawnPoint*> SpawnPoints;
   SpawnPoints spawnpoints;                       
 
-  Rectangle get_active_region();
+  Rect get_active_region();
 
 private:
   void fix_old_tiles();
   
-  /// container for newly created objects, they'll be added in Sector::action
+  /// container for newly created objects, they'll be added in Sector::update
   GameObjects gameobjects_new;
-  
-  int currentmusic;
+  MusicType currentmusic;
 
   CollisionGrid* grid;
 };