-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathstage_select.h
66 lines (56 loc) · 1.71 KB
/
stage_select.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#ifndef STAGE_SELECT_H
#define STAGE_SELECT_H
#include <cstdlib>
#include <string>
#ifdef ANDROID
#include <android/log.h>
#endif
#include "graphicslib.h"
#include "inputlib.h"
#include "timerlib.h"
#include "soundlib.h"
//#include "game.h"
#define MAP_POINT_ANIMATION_DELAY 150
struct st_map_point_animation {
long timer;
int state;
st_map_point_animation() {
timer = 0;
state = 0;
}
};
/**
* @brief
*
*/
class stage_select
{
public:
stage_select(graphicsLib_gSurface stage_ref[STAGE_SELECT_COUNT]);
short finished_stages() const;
void show_stage_face(int x, int y, int stage_n);
st_position calc_face_pos(int stage_n);
int pick_stage(int stage_n);
short pick_stage_classic_style(int stage_n);
void draw_faces_classic_style(graphicsLib_gSurface face_list[STAGE_COUNT]);
void classic_style_castle_intro(short stage_id);
private:
void place_face(std::string face_file, std::string botname, st_position pos) const;
std::vector<std::string> build_stage_boss_names_list();
std::vector<std::string> build_stage_names_list();
void build_stage_faces_surfaces(graphicsLib_gSurface face_list[STAGE_COUNT]);
private:
graphicsLib_gSurface background;
struct st_position highlight_pos;
struct st_position select_pos;
graphicsLib_gSurface *STAGE_SELECT_SURFACES[STAGE_SELECT_COUNT];
bool highlight_animation_white;
unsigned int timer_intro;
graphicsLib_gSurface *light_mode;
std::vector<st_position> stage_select_point_list;
graphicsLib_gSurface stage_select_map_point_surface;
graphicsLib_gSurface beaten_surface;
st_map_point_animation map_point_animation;
CURRENT_FILE_FORMAT::file_io fio;
};
#endif // STAGE_SELECT_H