5 if(cell.x < 0 || cell.x >= me.columns || cell.y < 0 || cell.y >= me.rows)
7 return ftos(31 + cell.y * me.columns + cell.x);
12 float crosshair =
stof(crosshair_str) - 31;
13 if(crosshair -
floor(crosshair) > 0)
15 return mod(crosshair, me.columns) *
eX +
floor(crosshair / me.columns) *
eY;
22 me.configureXonoticCrosshairPicker(me);
28 int crosshair_count = me.columns * me.rows;
29 for (
int i = 0; i < crosshair_count; ++i)
32 me.configureXonoticPicker(me);
55 float ar = sz.x / sz.y;
56 sz.x = me.realCellSize.x;
60 vector crosshairPos = cellPos + 0.5 * me.realCellSize;
61 draw_Picture(crosshairPos - 0.5 * sz, s, sz, SKINCOLOR_CROSSHAIRPICKER_CROSSHAIR, SKINALPHA_CROSSHAIRPICKER_CROSSHAIR);
63 if(
cvar(
"crosshair_dot"))
64 draw_Picture(crosshairPos - 0.5 * sz *
cvar(
"crosshair_dot_size"),
"/gfx/crosshairdot", sz *
cvar(
"crosshair_dot_size"), SKINCOLOR_CROSSHAIRPICKER_CROSSHAIR, SKINALPHA_CROSSHAIRPICKER_CROSSHAIR);
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
entity makeXonoticCrosshairPicker()
bool XonoticCrosshairPicker_cellIsValid(entity me, vector cell)
void XonoticCrosshairPicker_cellDraw(entity me, vector cell, vector cellPos)
void XonoticCrosshairPicker_configureXonoticCrosshairPicker(entity me)
string crosshairpicker_cellToCrosshair(entity me, vector cell)
void XonoticCrosshairPicker_cellSelect(entity me, vector cell)
vector crosshairpicker_crosshairToCell(entity me, string crosshair_str)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))