From 7ccb819f867493f8ec202ea3b39c94c198c64584 Mon Sep 17 00:00:00 2001 From: JustSomePwner Date: Thu, 30 Aug 2018 14:01:54 +0200 Subject: first --- gmod/visual.hpp | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 gmod/visual.hpp (limited to 'gmod/visual.hpp') diff --git a/gmod/visual.hpp b/gmod/visual.hpp new file mode 100644 index 0000000..748497f --- /dev/null +++ b/gmod/visual.hpp @@ -0,0 +1,51 @@ +#pragma once +#include +#include "interface.hpp" +#include "vector.hpp" +#include "color.hpp" +#include "d3d.hpp" +#include +#include "strings.hpp" +#include "IVRenderView.hpp" + +class c_base_player; + +namespace features +{ + class c_visuals + { + void draw_line( const vec2_t& a, const vec2_t& b, const clr_t& clr ); + void draw_line( int x, int y, int x1, int y1, const clr_t& clr ); + void draw_rect( int x, int y, int w, int h, const clr_t& clr ); + void draw_filled_rect( int x, int y, int w, int h, const clr_t& clr ); + void draw_circle( int x, int y, int r, const clr_t& clr, int res = 48 ); + + void draw_really_big_string( int x, int y, const clr_t& clr, const char* msg, ... ); + void draw_string( int x, int y, int align, bool big, const clr_t& clr, const char* msg, ... ); + + struct stored_player_data_t + { + std::string m_rank{ }; + clr_t m_team_color{ }; + matrix3x4 m_matrix[ 128 ]{ }; + vec3_t m_pos{ }; + matrix3x4 m_coordinate_frame{ }; + }; + + struct stored_data_t + { + std::array< stored_player_data_t, 256 > m_player{ }; + VMatrix m_matrix{ }; + }; + + stored_data_t m_data{ }; + + void spectator_list( ); + void draw_players( ); + + public: + void operator( )( ); + void store_data( ); + VMatrix& get_matrix( ); + }; +} \ No newline at end of file -- cgit v1.2.3