+#ifndef COMMON_UTIL_H
+#define COMMON_UTIL_H
+
#ifdef QCC_SUPPORT_ACCUMULATE
# define ACCUMULATE_FUNCTION(func,otherfunc) \
[[accumulate]] void func() { otherfunc(); }
// works for up to 10 decimals!
string ftos_decimals(float number, float decimals);
-float fexists(string f);
+bool fexists(string f);
vector colormapPaletteColor(float c, float isPants);
string ScoreString(float vflags, float value);
-float dotproduct(vector a, vector b);
-vector cross(vector a, vector b);
-
void compressShortVector_init();
vector decompressShortVector(float data);
float compressShortVector(vector vec);
void RandomSelection_Add(entity e, float f, string s, float weight, float priority);
#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
+vector healtharmor_maxdamage(float h, float a, float armorblock, int deathtype); // returns vector: maxdamage, armorideal, 1 if fully armored
+vector healtharmor_applydamage(float a, float armorblock, int deathtype, float damage); // returns vector: take, save, 0
#endif
string getcurrentmod();
#ifndef MENUQC
#ifdef CSQC
-float ReadInt24_t();
+int ReadInt24_t();
vector ReadInt48_t();
vector ReadInt72_t();
#else
string get_model_parameters_description;
string get_model_parameters_bone_upperbody;
string get_model_parameters_bone_weapon;
-const float MAX_AIM_BONES = 4;
+const int MAX_AIM_BONES = 4;
string get_model_parameters_bone_aim[MAX_AIM_BONES];
float get_model_parameters_bone_aimweight[MAX_AIM_BONES];
float get_model_parameters_fixbone;
// Otherwise, channels 8 to 15 would be blocked for a weird QW feature.
#define sound(e,c,s,v,a) sound7(e,c,s,v,a,0,0)
-float lowestbit(float f);
+int lowestbit(float f);
#ifdef CSQC
entity ReadCSQCEntity();
string CCR(string input);
#ifndef MENUQC
-#ifdef CSQC
-#define GENTLE (autocvar_cl_gentle || autocvar_cl_gentle_messages)
-#else
-#define GENTLE autocvar_sv_gentle
-#endif
-#define normal_or_gentle(normal,gentle) (GENTLE ? ((gentle != "") ? gentle : normal) : normal)
+ #ifdef CSQC
+ #define GENTLE (autocvar_cl_gentle || autocvar_cl_gentle_messages)
+ #else
+ #define GENTLE autocvar_sv_gentle
+ #endif
+ #define normal_or_gentle(normal, gentle) (GENTLE ? ((gentle != "") ? gentle : normal) : normal)
#endif
// allow writing to also pass through to spectators (like so spectators see the same centerprints as players for example)
#endif
#ifndef MENUQC
-float Mod_Q1BSP_SuperContentsFromNativeContents(float nativecontents);
-float Mod_Q1BSP_NativeContentsFromSuperContents(float supercontents);
+int Mod_Q1BSP_SuperContentsFromNativeContents(int nativecontents);
+int Mod_Q1BSP_NativeContentsFromSuperContents(int supercontents);
#endif
// Quadratic splines (bezier)
#define APPEND_TO_STRING(list,sep,add) ((list) = (((list) != "") ? strcat(list, sep, add) : (add)))
// Returns the correct difference between two always increasing numbers
-#define COMPARE_INCREASING(to,from) (to < from ? from + to + 2 : to - from)
\ No newline at end of file
+#define COMPARE_INCREASING(to,from) (to < from ? from + to + 2 : to - from)
+#endif