00001
00024 #ifndef __genconmac_h__
00025 #define __genconmac_h__
00026
00030 #define MAX_NAME_LEN 32
00031
00041 #define MAX_PLAYERS 32
00042
00046 #define FRAME_DURATION 16
00047
00052 #define SRV_FRAME_OFFSET 6
00053
00057 #define TOP_MARGIN 8
00058
00063 #define BOTTOM_MARGIN 4
00064
00069 enum EVENT_TYPES {
00073 EC_FORWARD,
00077 EC_BACKWARD,
00081 EC_ROTRIGHT,
00085 EC_ROTLEFT,
00089 EC_FIRE,
00093 EC_FS_TOGGLE,
00098 EC_CHARACTER,
00099 EC_MAX
00100 };
00101
00115 extern Uint8 eventState[EC_MAX];
00116
00120 enum {
00124 TEAM_RED,
00128 TEAM_BLUE,
00133 TEAM_GREEN,
00138 TEAM_PURPLE,
00139 TEAM_MAX,
00144 TEAM_UNDEC = 0xFF
00145 };
00146
00150 enum LAYERS {
00154 LAYER_BACKGROUND,
00158 LAYER_OBSTACLES,
00162 LAYER_TEXT,
00166 LAYER_NAMES,
00170 LAYER_TANKS,
00171 LAYER_MAX
00172 };
00173
00174 #define MOTION_0_0 0
00175 #define MOTION_0_1 256
00176 #define MOTION_22_0 98
00177 #define MOTION_22_1 237
00178 #define MOTION_45_0 181
00179 #define MOTION_45_1 181
00180
00181 #define FMOTION_0_0 0.0f
00182 #define FMOTION_0_1 1.0f
00183 #define FMOTION_22_0 0.374606593f
00184 #define FMOTION_22_1 0.927183855f
00185 #define FMOTION_45_0 0.707106781f
00186 #define FMOTION_45_1 0.707106781f
00187
00188 #define MOTION_DIV 4
00189
00194 #define MOTION_SHELL_FACTOR 5
00195
00199 #define SHELL_GUIDED_DIST 96
00200
00204 #define SHELL_PONG_DIST 192
00205
00209 #define DEAD_TIME 180
00210
00221 #define rounddiv(n, d) \
00222 ((((n) % (d)) > ((int)(d) / 2)) ? ((int)(n) / (d) + 1) : ((int)(n) / (d)))
00223
00233 #define rounddivup(n, d) \
00234 ((((n) % (d)) > 0) ? ((int)(n) / (d) + 1) : ((int)(n) / (d)))
00235
00242 #define bitindex(bitid, datatype) \
00243 (((unsigned)bitid) / ((unsigned)sizeof(datatype) * (unsigned)8))
00244
00251 #define bitflag(bitid, datatype) (1 << ((bitid) & (sizeof(datatype) * 8 - 1)))
00252
00260 #define bitarraylen(bits, datatype) rounddivup(bits, sizeof(datatype) * 8)
00261
00269 #define absval(v) (((v) < 0) ? -(v) : (v))
00270
00271 #endif
00272