// works for up to 10 decimals!
string ftos_decimals(float number, float decimals)
{
- string result;
- string tmp;
- float len;
-
- // if negative, cut off the sign first
- if(number < 0)
- return strcat("-", ftos_decimals(-number, decimals));
- // it now is always positive!
-
- // 3.516 -> 352
- number = floor(number * pow(10, decimals) + 0.5);
-
- // 352 -> "352"
- result = ftos(number);
- len = strlen(result);
- // does it have a decimal point (should not happen)? If there is one, it is always at len-7)
- // if ftos had messed it up, which should never happen: "34278.000000"
- if(len >= 7)
- if(substring(result, len - 7, 1) == ".")
- {
- dprint("ftos(integer) has comma? Can't be. Affected result: ", result, "\n");
- result = substring(result, 0, len - 7);
- len -= 7;
- }
- // "34278"
- if(decimals == 0)
- return result; // don't insert a point for zero decimals
- // is it too short? If yes, insert leading zeroes
- if(len <= decimals)
- {
- result = strcat(substring("0000000000", 0, decimals - len + 1), result);
- len = decimals + 1;
- }
- // and now... INSERT THE POINT!
- tmp = substring(result, len - decimals, decimals);
- result = strcat(substring(result, 0, len - decimals), ".", tmp);
- return result;
+ // we have sprintf...
+ return sprintf("%.*f", decimals, number);
}
float time;
return 1;
}
-// we probably want to get rid of GetName in the most places in hud.qc, TODO!
-// Get name of specified panel id
-#define HUD_Panel_GetName(id) \
-switch(id) { \
- case HUD_PANEL_WEAPONICONS: panel_name = HUD_PANELNAME_WEAPONICONS; break; \
- case HUD_PANEL_INVENTORY: panel_name = HUD_PANELNAME_INVENTORY; 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; \
- case HUD_PANEL_ENGINEINFO: panel_name = HUD_PANELNAME_ENGINEINFO; break; \
+vector vec2(vector v)
+{
+ v_z = 0;
+ return v;
}