// a dummy macro that prevents the "hanging ;" warning
#define ENDS_WITH_CURLY_BRACE
+#ifdef GMQCC
+# define ACCUMULATE_FUNCTION(func,otherfunc) \
+ [[accumulate]] void func() { otherfunc(); }
+# define CALL_ACCUMULATED_FUNCTION(func) \
+ func()
+#else
#ifdef HAVE_YO_DAWG_CPP
// TODO make ascii art pic of xzibit
// YO DAWG!
func()
#else
# define ACCUMULATE_FUNCTION(func,otherfunc) \
- .void _ACCUMULATE_##func##__##otherfunc;
+ .float _ACCUMULATE_##func##__##otherfunc
void ACCUMULATE_call(string func)
{
float i;
# define CALL_ACCUMULATED_FUNCTION(func) \
ACCUMULATE_call(#func)
#endif
+#endif
// used for simplifying ACCUMULATE_FUNCTIONs
#define SET_FIRST_OR_LAST(input,first,count) if(!input) { input = (first + count); }
void RandomSelection_Init();
void RandomSelection_Add(entity e, float f, string s, float weight, float priority);
-vector healtharmor_maxdamage(float h, float a, float armorblock); // returns vector: maxdamage, armorideal, 1 if fully armored
-vector healtharmor_applydamage(float a, float armorblock, float damage); // returns vector: take, save, 0
+#ifndef MENUQC
+vector healtharmor_maxdamage(float h, float a, float armorblock, float deathtype); // returns vector: maxdamage, armorideal, 1 if fully armored
+vector healtharmor_applydamage(float a, float armorblock, float deathtype, float damage); // returns vector: take, save, 0
+#endif
string getcurrentmod();
#endif
#ifndef MENUQC
-float Announcer_PickNumber(float num);
+#define CNT_NORMAL 1
+#define CNT_GAMESTART 2
+#define CNT_IDLE 3
+#define CNT_KILL 4
+#define CNT_RESPAWN 5
+#define CNT_ROUNDSTART 6
+float Announcer_PickNumber(float type, float num);
#endif