-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConstant.h
More file actions
154 lines (114 loc) · 5.77 KB
/
Constant.h
File metadata and controls
154 lines (114 loc) · 5.77 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#ifndef CONSTANT_H_INCLUDED
#define CONSTANT_H_INCLUDED
//The dimensions of the level
//const int LEVEL_WIDTH = 1280;
//const int LEVEL_HEIGHT = 960;
//You needed to define your own "pi".... shameful
const double PI = 3.141592;
const double DEG = PI/180.0;
//Screen attributes
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
const int SCREEN_BPP = 32;
//Tile constants
const int TILE_WIDTH = 80;
const int TILE_HEIGHT = 80;
//const int TOTAL_TILES = 192;
//Character Constants
const int CHARACTER_RADIUS = 6;
const int CHARACTER_HEIGHT = 26;
const int CHARACTER_WIDTH = 10;
const int CHARACTER_LENGHT = 10;
const int CHARACTER_FIELD_OF_EXISTANCE = 100;
//The total number oftypes availble.
const int FLOOR_TILE_SPRITES = 4;
const int FLOATING_TILE_SPRITES = 2;
const int GROUNDED_TILE_SPRITES = 2;
const int AI_TYPE_COUNT = 1;
const int MAX_FLOAT_OBJECTS = 200;
const int MAX_FLOOR_OBJECTS = 200;
const int MAX_CONFIG_OBJECTS = 200;
const int MAX_GROUND_OBJECTS = 200;
const int MAX_ENEMY_OBJECTS = 250;
const int MAX_BULLET_OBJECTS = 200;
const int MAX_GAME_OBJECTS = MAX_FLOOR_OBJECTS + MAX_FLOAT_OBJECTS + MAX_CONFIG_OBJECTS;
//const int SMAX_GAME_OBJECTS = ;
// Where types change in the polymorph array
const int FLOOR_OBJECT_START = 0, FLOOR_OBJECT_END = FLOOR_OBJECT_START + MAX_FLOOR_OBJECTS;
const int FLOAT_OBJECT_START = FLOOR_OBJECT_END, FLOAT_OBJECT_END = FLOAT_OBJECT_START + MAX_FLOAT_OBJECTS;
// Details about levels that would be easier to keep here.
const int LV1_WIDTH = 640;
const int LV1_LENGHT = 1000;
const int LV1_CEILING = 500;
const int LV2_WIDTH = 640;
const int LV2_LENGHT = 1000;
const int JUMP_NORMAL = 10;
//Names of animations to play. Not specific to character because they share them most of the time
enum { IDLE_LEFT, IDLE_LEFTDOWN, IDLE_DOWN, IDLE_RIGHTDOWN, IDLE_RIGHT, IDLE_RIGHTUP, IDLE_UP, IDLE_LEFTUP,
WALK_LEFT, WALK_LEFTDOWN, WALK_DOWN, WALK_RIGHTDOWN, WALK_RIGHT, WALK_RIGHTUP, WALK_UP, WALK_LEFTUP,
SLIDE_LEFT, SLIDE_LEFTDOWN, SLIDE_DOWN, SLIDE_RIGHTDOWN, SLIDE_RIGHT, SLIDE_RIGHTUP, SLIDE_UP,
SLIDE_LEFTUP, FALL_DAMAGED, ATTACK_P1_U_U
};
// Collision detections are finally constants. Congratz
enum { MIDAIR, GROUND_OBJECT_TOUCH, GROUND_AGAINST_FRONT, GROUND_AGAINST_BACK, GROUND_INSIDE_FRONT,
GROUND_INSIDE_BACK, INSIDE_FRONT, INSIDE_BACK, GROUNDED, BASE_OBJECT_TOUCH, INSIDE_BLOCK,
STANDING_ON_TOP, FALLING_THROUGH_FLOOR1, FALLING_THROUGH_FLOOR2,FALLING_THROUGH_FLOOR3, HIT_FROM_BELOW,
AGAINST_FRONT, AGAINST_BACK, AGAINST_LEFT_SIDE, GOING_THROUGH_LEFT_SIDE , AGAINST_RIGHT_SIDE, GOING_THROUGH_RIGHT_SIDE};
//Button presses
enum {NO_KEY, UP, UP_LEFT, UP_RIGHT, UP_DOWN, UP_Z, UP_X, UP_C, UP_SPACE, UP_RIGHT_SPACE, UP_LEFT_SPACE,
DOWN, DOWN_LEFT, DOWN_RIGHT, DOWN_Z, DOWN_X, DOWN_C, DOWN_SPACE, DOWN_RIGHT_SPACE, DOWN_LEFT_SPACE,
LEFT, LEFT_RIGHT, LEFT_Z, LEFT_X, LEFT_C, LEFT_SPACE, RIGHT, RIGHT_Z, RIGHT_X, RIGHT_C, RIGHT_SPACE,
Z, Z_X, Z_C, Z_SPACE, X, X_C, X_SPACE, C, C_SPACE, SPACE, HARD_UP, HARD_UP_LEFT, HARD_UP_RIGHT,
HARD_UP_DOWN, HARD_UP_Z, HARD_UP_X, HARD_UP_C, HARD_UP_SPACE, HARD_UP_RIGHT_SPACE, HARD_UP_LEFT_SPACE,
HARD_DOWN, HARD_DOWN_LEFT, HARD_DOWN_RIGHT, HARD_DOWN_Z, HARD_DOWN_X, HARD_DOWN_C, HARD_DOWN_SPACE,
HARD_DOWN_RIGHT_SPACE, HARD_DOWN_LEFT_SPACE,HARD_LEFT, HARD_LEFT_RIGHT, HARD_LEFT_Z, HARD_LEFT_X, HARD_LEFT_C,
HARD_LEFT_SPACE, HARD_RIGHT, HARD_RIGHT_Z, HARD_RIGHT_X, HARD_RIGHT_C, HARD_RIGHT_SPACE, HARD_Z, HARD_Z_X,
HARD_Z_C, HARD_Z_SPACE, HARD_X, HARD_X_C, HARD_X_SPACE, HARD_C, HARD_C_SPACE, HARD_SPACE, MOVE_WITH_CURRENT_VALUES };
// Names of levels
enum {LEVEL_1_A, LEVEL_1_B};
// Names of gates types.. Touching these teleports you to a spot on the spot
enum {LV1A_1, LV1A_2, LV1A_3, LV1B_1};
// Names of game freezes
enum {NOT_FROZEN, CUT_SCENE, LEVEL_WRAP, };
//SPIRIT TYPE
enum { FLOOR, FLOAT, CONFIG, ON_SCREEN, ON_SCREEN_CONFIG, ON_SCREEN_BG, BITMAP_TEXT, CYRON_TANRYOKU, THE_YS_GUY, CXX120, GHOST, AI_SMART,
AI_IDIOT, HIT_BOX};
//Names of floor types.
enum { BLUE_FLOOR_TILE, RED_FLOOR_TILE, GREEN_FLOOR_TILE};
//Names of float type types.
enum { BLUE_CUBE, TALL_BLUE_CUBE};
//Name of config types
enum { GATE ,SAVE_PAD, SAVE_STATION};
//Name of On_Screen types.
enum { CYRON_GAUGE, YS_GAUGE, CXX120_GAUGE, TARGET_REDICAL, HEALTH_BAR};
//Name of On_Screen_Config types.
enum { RETURN_MENU_BUTTON, SWITCH_MENU_BUTTON, SWITCH_MENU_BUTTON_EXPAND1, SAVE_MENU_BUTTON };
//Name of On_Screen_BG types
enum { BLACK_BG};
//Names of Smart AIs
enum {CHROME_CRYSTAL_MASTER_GRAY};
//Names of Dumb AIs
enum {CHROME_CRYSTAL};
//SUB CATAGORY OF SPIRITS
enum { CHARACTER};
// Zero g feels like space
enum { STATIC_G, DYNAMIC_G, ZERO_G};
//SPECIAL SPIRITS
enum { XGHOSTX, XCYRON_TANRYOKUX, XTHE_YS_GUYX, XCXX120X, XRETURN_MENU_BUTTONX, XSWITCH_MENU_BUTTONX, XSWITCH_MENU_BUTTON_EXPAND1X ,
XSAVE_MENU_BUTTONX ,XCYRON_GAUGEX, XYS_GAUGEX, XCXX120_GAUGEX, XTARGET_REDICALX, XHEALTH_BARX, XBITMAP_TEXT_STARTX, XBITMAP_TEXT2X, /*XBITMAP_TEXT3X,*/ XBITMAP_TEXT_ENDX,
XBLACK_BGX };
const int LAST = XBLACK_BGX;
const int BITMAP_TEXT_RANGE = XBITMAP_TEXT_ENDX - XBITMAP_TEXT_STARTX;
//Various Game modes
enum {YOU_DUN_GOOFED, START_MENU, GAMEPLAY_MODE, SAVE_MENU};
//Basic actions performed by the enemy
enum {E_DO_NOTHING, E_WALK_LEFT, E_WALK_LEFT_DOWN, E_WALK_DOWN, E_WALK_RIGHT_DOWN, E_WALK_RIGHT, E_WALK_RIGHT_UP, E_WALK_UP,
E_WALK_LEFT_UP, E_LOCK_ON_TO_CHARACTER, E_LOOK_AWAY_FROM_CHARACTER, E_MOVE_WITH_CURRENT_VALUES };
//Complex action made up of basic actions
enum { E_WANDER, E_STALK, E_ATTACK1, E_ATTACK2, E_ATTACK3, E_ATTACK4, E_ATTACK5, E_DODGE1, E_DODGE2, E_DODGE3, E_DODGE4,
E_DODGE5, RETREAT1, RETREAT2, RETREAT3, RETREAT4, RETREAT5 ,E_GATHER_LYNCH_MOB, };
//The enemy mood
enum { E_IDLE, E_FIGHT, E_FEAR, E_COOPERATIVE };
// Type of bullets
enum {PLAYER_CT_MELEE};
#endif