projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Let navigate through the worldmap using Tux keys as well.
[supertux.git]
/
src
/
sector.h
diff --git
a/src/sector.h
b/src/sector.h
index
1b186ef
..
467fd1d
100644
(file)
--- a/
src/sector.h
+++ b/
src/sector.h
@@
-46,6
+46,7
@@
class TileMap;
class Upgrade;
class Bullet;
class SmokeCloud;
class Upgrade;
class Bullet;
class SmokeCloud;
+class Particles;
class BadGuy;
class Tile;
class BadGuy;
class Tile;
@@
-55,6
+56,11
@@
struct SpawnPoint
Vector pos;
};
Vector pos;
};
+enum {
+ NONE_ENDSEQ_ANIM,
+ FIREWORKS_ENDSEQ_ANIM
+ };
+
/** This class holds a sector (a part of a level) and all the game objects
* (badguys, player, background, tilemap, ...)
*/
/** This class holds a sector (a part of a level) and all the game objects
* (badguys, player, background, tilemap, ...)
*/
@@
-72,6
+78,8
@@
public:
/// activates this sector (change music, intialize player class, ...)
void activate(const std::string& spawnpoint = "main");
/// activates this sector (change music, intialize player class, ...)
void activate(const std::string& spawnpoint = "main");
+ /// get best spawn point
+ Vector get_best_spawn_point(Vector pos);
void action(float elapsed_time);
void update_game_objects();
void action(float elapsed_time);
void update_game_objects();
@@
-99,11
+107,13
@@
public:
const Vector& movement, Tile* tile);
void add_bouncy_brick(const Vector& pos);
const Vector& movement, Tile* tile);
void add_bouncy_brick(const Vector& pos);
- BadGuy* add_bad_guy(float x, float y, BadGuyKind kind);
+ BadGuy* add_bad_guy(float x, float y, BadGuyKind kind
, bool activate
);
void add_upgrade(const Vector& pos, Direction dir, UpgradeKind kind);
bool add_bullet(const Vector& pos, float xm, Direction dir);
bool add_smoke_cloud(const Vector& pos);
void add_upgrade(const Vector& pos, Direction dir, UpgradeKind kind);
bool add_bullet(const Vector& pos, float xm, Direction dir);
bool add_smoke_cloud(const Vector& pos);
+ bool add_particles(const Vector& epicenter, const Vector& velocity, const Vector& acceleration, int number, Color color, int size, int life_time);
+ void add_floating_text(const Vector& pos, const std::string& text);
/** Try to grab the coin at the given coordinates */
void trygrabdistro(const Vector& pos, int bounciness);
/** Try to grab the coin at the given coordinates */
void trygrabdistro(const Vector& pos, int bounciness);
@@
-122,10
+132,17
@@
public:
player to play the same level in a different way :) */
void do_vertical_flip();
player to play the same level in a different way :) */
void do_vertical_flip();
+ /** Get end sequence animation */
+ int end_sequence_animation()
+ { return end_sequence_animation_type; }
+
/** @evil@ */
static Sector* current()
{ return _current; }
/** @evil@ */
static Sector* current()
{ return _current; }
+ /** Get total number of some stuff */
+ int get_total_badguys();
+
private:
void load_music();
private:
void load_music();
@@
-136,6
+153,8
@@
private:
MusicRef level_song;
MusicRef level_song_fast;
MusicRef level_song;
MusicRef level_song_fast;
+ int end_sequence_animation_type;
+
public:
std::string song_title;
float gravity;
public:
std::string song_title;
float gravity;
@@
-157,6
+176,7
@@
private:
std::vector<Upgrade*> upgrades;
std::vector<Bullet*> bullets;
std::vector<SmokeCloud*> smoke_clouds;
std::vector<Upgrade*> upgrades;
std::vector<Bullet*> bullets;
std::vector<SmokeCloud*> smoke_clouds;
+ std::vector<Particles*> particles;
public: // ugly
typedef std::vector<InteractiveObject*> InteractiveObjects;
public: // ugly
typedef std::vector<InteractiveObject*> InteractiveObjects;
@@
-171,7
+191,7
@@
private:
int distro_counter;
bool counting_distros;
int distro_counter;
bool counting_distros;
- int currentmusic;
+ int currentmusic;
};
#endif
};
#endif