NS/main/source/cl_dll/hud_crosshairs.h

53 lines
1.4 KiB
C++

#pragma once
#include <vector>
// Crosshair system based on OpenAG
// https://github.com/YaLTeR/OpenAG
class CHudCrosshairs : public CHudBase
{
cvar_t* cl_cross;
cvar_t* cl_cross_color;
cvar_t* cl_cross_alpha;
cvar_t* cl_cross_thickness;
cvar_t* cl_cross_size;
cvar_t* cl_cross_gap;
cvar_t* cl_cross_outline;
cvar_t* cl_cross_outline_alpha;
cvar_t* cl_cross_outline_inner;
cvar_t* cl_cross_circle_radius;
cvar_t* cl_cross_circle_color;
cvar_t* cl_cross_circle_thickness;
cvar_t* cl_cross_circle_alpha;
cvar_t* cl_cross_circle_outline;
cvar_t* cl_cross_circle_outline_alpha;
cvar_t* cl_cross_circle_outline_inner;
cvar_t* cl_cross_dot_size;
cvar_t* cl_cross_dot_color;
cvar_t* cl_cross_dot_alpha;
cvar_t* cl_cross_dot_outline;
cvar_t* cl_cross_dot_outline_alpha;
cvar_t* cl_cross_dot_round;
cvar_t* cl_cross_line_top;
cvar_t* cl_cross_line_bottom;
cvar_t* cl_cross_line_left;
cvar_t* cl_cross_line_right;
cvar_t* cl_cross_scaling;
float old_circle_radius;
float old_circle_thickness;
std::vector<Vector2D> circle_points;
float old_circle_outline_radius;
float old_circle_outline_thickness;
std::vector<Vector2D> circle_outline_points;
float old_round_dot_radius;
std::vector<Vector2D> round_dot_points;
float old_round_dot_outline_radius;
float old_round_dot_outline_thickness;
std::vector<Vector2D> round_dot_outline_points;
public:
virtual int Init();
virtual int VidInit();
virtual int Draw(float time);
};