]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/util.qh
Merge remote branch 'refs/remotes/origin/fruitiex/racefixes'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / util.qh
index 23126b6331df1557b15461dab2ab36947caeeb1c..2de439ff2732a7775d9670b98e4ce3bd49d11fb2 100644 (file)
@@ -1,3 +1,6 @@
+// a dummy macro that prevents the "hanging ;" warning
+#define ENDS_WITH_CURLY_BRACE
+
 #define ACCUMULATE_FUNCTION(func,otherfunc) \
        #ifdef func \
        void __merge__##otherfunc() { func(); otherfunc(); } \
@@ -162,7 +165,7 @@ void check_unacceptable_compiler_bugs();
 float compressShotOrigin(vector v);
 vector decompressShotOrigin(float f);
 
-string rankings_reply, lsmaps_reply, lsnewmaps_reply, maplist_reply; // cached replies
+string rankings_reply, ladder_reply, lsmaps_reply, lsnewmaps_reply, maplist_reply; // cached replies
 string records_reply[10];
 
 float RandomSelection_totalweight;
@@ -210,3 +213,35 @@ float get_model_parameters_weight;
 float get_model_parameters_age;
 string get_model_parameters_desc;
 float get_model_parameters(string mod, float skn); // call with string_null to clear; skin -1 means mod is the filename of the txt file and is to be split
+
+// stupid stupid stupid FTEQCC has a max limit on macro sizes, let's work around by splitting the macro into two macros! :(
+#define HUD_Panel_GetName_Part2(id) \
+switch(id) {\
+       case HUD_PANEL_ENGINEINFO: panel_name = HUD_PANELNAME_ENGINEINFO; break; \
+       case HUD_PANEL_INFOMESSAGES: panel_name = HUD_PANELNAME_INFOMESSAGES; break; \
+} ENDS_WITH_CURLY_BRACE
+
+// Get name of specified panel id
+#define HUD_Panel_GetName(id) \
+switch(id) { \
+       case HUD_PANEL_WEAPONS: panel_name = HUD_PANELNAME_WEAPONS; break; \
+       case HUD_PANEL_AMMO: panel_name = HUD_PANELNAME_AMMO; break; \
+       case HUD_PANEL_POWERUPS: panel_name = HUD_PANELNAME_POWERUPS; break; \
+       case HUD_PANEL_HEALTHARMOR: panel_name = HUD_PANELNAME_HEALTHARMOR; break; \
+       case HUD_PANEL_NOTIFY: panel_name = HUD_PANELNAME_NOTIFY; break; \
+       case HUD_PANEL_TIMER: panel_name = HUD_PANELNAME_TIMER; break; \
+       case HUD_PANEL_RADAR: panel_name = HUD_PANELNAME_RADAR; break; \
+       case HUD_PANEL_SCORE: panel_name = HUD_PANELNAME_SCORE; break; \
+       case HUD_PANEL_RACETIMER: panel_name = HUD_PANELNAME_RACETIMER; break; \
+       case HUD_PANEL_VOTE: panel_name = HUD_PANELNAME_VOTE; break; \
+       case HUD_PANEL_MODICONS: panel_name = HUD_PANELNAME_MODICONS; break; \
+       case HUD_PANEL_PRESSEDKEYS: panel_name = HUD_PANELNAME_PRESSEDKEYS; break; \
+       case HUD_PANEL_CHAT: panel_name = HUD_PANELNAME_CHAT; break; \
+}\
+HUD_Panel_GetName_Part2(id)
+
+vector vec2(vector v);
+
+#ifndef MENUQC
+vector NearestPointOnBox(entity box, vector org);
+#endif