From 5aa85bc2745f759fea8ef7d2e016dcc44f5625e8 Mon Sep 17 00:00:00 2001 From: 8dcc <8dcc.git@gmail.com> Date: Sun, 23 Jul 2023 01:18:24 +0200 Subject: [PATCH] Add gl_drawline to util.c --- src/include/util.h | 7 +++++++ src/util.c | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/include/util.h b/src/include/util.h index 9c58cc1..d1d1e33 100644 --- a/src/include/util.h +++ b/src/include/util.h @@ -1,12 +1,18 @@ #ifndef UTIL_H_ #define UTIL_H_ +#include #include "sdk.h" #include "globals.h" /* Vector 2 for 2d points */ typedef float vec2_t[2]; +/* RGB color */ +typedef struct { + uint8_t r, g, b; +} rgb_t; + /*----------------------------------------------------------------------------*/ bool is_alive(cl_entity_t* ent); @@ -15,5 +21,6 @@ char* get_name(int ent_idx); vec3_t vec3(float x, float y, float z); bool vec_is_zero(vec3_t v); bool world_to_screen(vec3_t vec, vec2_t screen); +void gl_drawline(int x0, int y0, int x1, int y1, float w, rgb_t col); #endif /* UTIL_H_ */ diff --git a/src/util.c b/src/util.c index 6cae693..1bd5522 100644 --- a/src/util.c +++ b/src/util.c @@ -3,6 +3,8 @@ #include "include/sdk.h" #include "include/globals.h" +#include + bool is_alive(cl_entity_t* ent) { return ent && ent->curstate.movetype != 6 && ent->curstate.movetype != 0; } @@ -54,3 +56,19 @@ bool world_to_screen(vec3_t vec, vec2_t screen) { return false; } + +void gl_drawline(int x0, int y0, int x1, int y1, float w, rgb_t col) { + const int alpha = 255; + + glDisable(GL_TEXTURE_2D); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glColor4ub(col.r, col.g, col.b, alpha); /* Set colors + alpha */ + glLineWidth(w); /* Set line width */ + glBegin(GL_LINES); /* Interpret vertices as lines */ + glVertex2i(x0, y0); /* Start */ + glVertex2i(x1, y1); /* End */ + glEnd(); /* Stop glBegin, end line mode */ + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); +}