summaryrefslogtreecommitdiff
path: root/src/game/game.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/game.hpp')
-rw-r--r--src/game/game.hpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/game/game.hpp b/src/game/game.hpp
index 213e8b1..0143edb 100644
--- a/src/game/game.hpp
+++ b/src/game/game.hpp
@@ -82,6 +82,7 @@ namespace game {
extern deco_assets_t deco;
extern render::animated_texture_t unit_selected;
extern render::animated_texture_t unit_selected_halo;
+ extern render::animated_texture_t move_marker;
void load(void);
}
@@ -101,7 +102,6 @@ namespace game {
FOLLOWING_OFF,
SAY_GROUP,
SAY_NO_PATH,
- SAY_BLOCKED,
SAY_READY,
SAY_READY_GROUP,
SAY_MOVING,
@@ -148,6 +148,8 @@ namespace game {
virtual void on_wake(void) = 0;
};
+ class fx_move_marker_t;
+
class unit_t : public entity_t {
protected:
double next_targetting = -INFINITY;
@@ -208,9 +210,14 @@ namespace game {
};
class unit_soldier_t : public unit_t {
+ friend state_t;
+
+ protected:
double last_target_time = -INFINITY;
v2f_t last_target_x;
+ std::unique_ptr<fx_move_marker_t> move_marker;
+
sf::Color selection_color;
double next_fear_test = -INFINITY;
@@ -301,6 +308,17 @@ namespace game {
void render_to(render::state_t *render);
};
+ class fx_move_marker_t : public effect_t {
+ v2f_t x;
+
+ public:
+ fx_move_marker_t(game::state_t *game_, v2f_t x_);
+ ~fx_move_marker_t(void);
+
+ void render_to(render::state_t *render);
+ };
+
+
typedef enum {
DECO_STONE,
DECO_STONE_SMALL,