- cvar_set("crosshair", crosshairpicker_cellToCrosshair(me.focusedCell));
-}
-
-void XonoticCrosshairPicker_draw(entity me)
-{
- vector sz, rgb;
- float save;
-
- me.focusable = !me.disabled;
-
- save = draw_alpha;
- if(me.disabled)
- draw_alpha *= me.disabledAlpha;
-
- string crosshair;
- vector cell, cellPos, crosshairPos;
- cell = '0 0 0';
- cellPos = '0 0 0';
- crosshairPos = '0 0 0';
-
-
- for(cell_y = 0; cell.y < CROSSHAIRPICKER_ROWS; ++cell.y)
- {
- crosshairPos_y = cell.y / CROSSHAIRPICKER_ROWS + 0.5 * me.realCellSize.y;
- for(cell_x = 0; cell.x < CROSSHAIRPICKER_COLS; ++cell.x)
- {
- crosshair = crosshairpicker_cellToCrosshair(cell);
-
- if(crosshair == "")
- continue;
-
- // Draw focused cell
- if(cell == me.focusedCell && me.focused)
- {
- if(!me.pressed || me.focusedCell == me.pressedCell)
- {
- cellPos_x = mod(me.focusedCell.x, CROSSHAIRPICKER_COLS) / CROSSHAIRPICKER_COLS;
- cellPos_y = mod(me.focusedCell.y, CROSSHAIRPICKER_ROWS) / CROSSHAIRPICKER_ROWS;
- draw_Fill(cellPos, me.realCellSize, SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, me.focusedCellTime));
- }
- }
-
- // Draw crosshair
- crosshairPos_x = cell.x / CROSSHAIRPICKER_COLS + 0.5 * me.realCellSize.x;
- string cross = strcat("/gfx/crosshair", crosshairpicker_cellToCrosshair(cell));
- sz = draw_PictureSize(cross);
- sz = globalToBoxSize(sz, me.size);
-
- float ar = sz.x / sz.y;
- sz.x = me.realCellSize.x;
- sz.y = sz.x / ar;
-
- sz = sz * 0.95;
-
- rgb = '1 1 1';
- draw_Picture(crosshairPos - 0.5 * sz, cross, sz, rgb, me.alpha);
- if(cvar("crosshair_dot"))
- {
- if(cvar("crosshair_dot_color_custom") && (cvar_string("crosshair_dot_color") != "0"))
- rgb = stov(cvar_string("crosshair_dot_color"));