#define DT_MAX 1024 // limit of recursive functions with ACCUMULATE_FUNCTION
float DT_COUNT;
-float DEATH_VHFIRST = DT_FIRST;
-float DEATH_VHLAST = DT_FIRST;
-
#define DT_MATCH(a,b) if(min(DT_MAX, a) == b)
-#define DEATHTYPE(name,type,notification,first,last) \
+#define DEATHTYPE(name,msg_info,msg_center,position) \
float name; \
- float first; \
- float last; \
+ float position; \
void RegisterDeathtype_##name() \
{ \
- SET_FIRST_OR_LAST(first, DT_FIRST, DT_COUNT) \
- SET_FIRST_OR_LAST(last, DT_FIRST, DT_COUNT) \
+ SET_FIRST_OR_LAST(position, DT_FIRST, DT_COUNT) \
SET_FIELD_COUNT(name, DT_FIRST, DT_COUNT) \
CHECK_MAX_COUNT(name, DT_MAX, DT_COUNT, "deathtypes") \
} \
ACCUMULATE_FUNCTION(RegisterDeathtypes, RegisterDeathtype_##name)
#define DEATHTYPES \
- DEATHTYPE(DEATH_FALL, FALSE, FALSE, DEATH_SPECIAL_START, FALSE) \
- DEATHTYPE(DEATH_TELEFRAG, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_DROWN, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_HURTTRIGGER, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_LAVA, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_SLIME, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_KILL, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_NOAMMO, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_SWAMP, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_TEAMCHANGE, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_AUTOTEAMCHANGE, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_CAMP, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_SHOOTING_STAR, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_ROT, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_MIRRORDAMAGE, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_TOUCHEXPLODE, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_CHEAT, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_FIRE, FALSE, FALSE, FALSE, FALSE) \
- DEATHTYPE(DEATH_QUIET, FALSE, FALSE, FALSE, FALSE) \
+ DEATHTYPE(DEATH_FALL, FALSE, FALSE, DEATH_SPECIAL_START) \
+ DEATHTYPE(DEATH_TELEFRAG, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_DROWN, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_HURTTRIGGER, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_LAVA, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_SLIME, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_KILL, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_NOAMMO, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_SWAMP, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_TEAMCHANGE, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_AUTOTEAMCHANGE, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_CAMP, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_SHOOTING_STAR, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_ROT, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_MIRRORDAMAGE, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_TOUCHEXPLODE, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_CHEAT, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_FIRE, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_QUIET, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_VHCRUSH, FALSE, FALSE, DEATH_VHFIRST) \
+ DEATHTYPE(DEATH_SBMINIGUN, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_SBROCKET, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_SBBLOWUP, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_WAKIGUN, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_WAKIROCKET, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_WAKIBLOWUP, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_RAPTOR_CANNON, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_RAPTOR_BOMB, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_RAPTOR_BOMB_SPLIT, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_RAPTOR_DEATH, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_BUMB_GUN, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_BUMB_RAY, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_BUMB_RAY_HEAL, FALSE, FALSE, NORMAL_POS) \
+ DEATHTYPE(DEATH_BUMB_DEATH, FALSE, FALSE, DEATH_VHLAST) \
#undef DEATHTYPE
DEATHTYPES
-float DEATH_VHCRUSH = 10030;
-float DEATH_SBMINIGUN = 10031;
-float DEATH_SBROCKET = 10032;
-float DEATH_SBBLOWUP = 10033;
-float DEATH_WAKIGUN = 10034;
-float DEATH_WAKIROCKET = 10035;
-float DEATH_WAKIBLOWUP = 10036;
-float DEATH_RAPTOR_CANNON = 10037;
-float DEATH_RAPTOR_BOMB = 10038;
-float DEATH_RAPTOR_BOMB_SPLIT = 10039;
-float DEATH_RAPTOR_DEATH = 10040;
-float DEATH_BUMB_GUN = 10041;
-float DEATH_BUMB_RAY = 10042;
-float DEATH_BUMB_RAY_HEAL = 10043;
-float DEATH_BUMB_DEATH = 10044;
#define DEATH_ISVEHICLE(t) ((t) >= DEATH_VHFIRST && (t) <= DEATH_VHLAST)
float DEATH_GENERIC = 10050;