Working overlay
This commit is contained in:
parent
b4274a6b53
commit
55a53816a6
@ -25,6 +25,8 @@ namespace api
|
|||||||
struct font_handle_t
|
struct font_handle_t
|
||||||
{
|
{
|
||||||
xoverlay_font_handle_t handle;
|
xoverlay_font_handle_t handle;
|
||||||
|
std::string filename;
|
||||||
|
float size;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct texture_handle_t
|
struct texture_handle_t
|
||||||
@ -47,9 +49,9 @@ void draw_rect_outlined(float x, float y, float w, float h, const rgba_t& rgba,
|
|||||||
void draw_line(float x, float y, float dx, float dy, const rgba_t& rgba, float thickness);
|
void draw_line(float x, float y, float dx, float dy, const rgba_t& rgba, float thickness);
|
||||||
void draw_rect_textured(float x, float y, float w, float h, const rgba_t& rgba, texture_handle_t texture, float u, float v, float s, float t);
|
void draw_rect_textured(float x, float y, float w, float h, const rgba_t& rgba, texture_handle_t texture, float u, float v, float s, float t);
|
||||||
void draw_circle(float x, float y, float radius, const rgba_t& rgba, float thickness, int steps);
|
void draw_circle(float x, float y, float radius, const rgba_t& rgba, float thickness, int steps);
|
||||||
void draw_string(float x, float y, const char *string, font_handle_t font, const rgba_t& rgba);
|
void draw_string(float x, float y, const char *string, font_handle_t& font, const rgba_t& rgba);
|
||||||
void draw_string_with_outline(float x, float y, const char *string, font_handle_t font, const rgba_t& rgba, const rgba_t& rgba_outline, float thickness);
|
void draw_string_with_outline(float x, float y, const char *string, font_handle_t& font, const rgba_t& rgba, const rgba_t& rgba_outline, float thickness);
|
||||||
void get_string_size(const char *string, font_handle_t font, float *x, float *y);
|
void get_string_size(const char *string, font_handle_t& font, float *x, float *y);
|
||||||
|
|
||||||
void draw_begin();
|
void draw_begin();
|
||||||
void draw_end();
|
void draw_end();
|
||||||
|
2
makefile
2
makefile
@ -53,7 +53,7 @@ TARGET = $(OUT_DIR)/$(OUT_NAME)
|
|||||||
|
|
||||||
INCLUDES=-I. -Iinclude -Iucccccp -isystem/usr/include/c++/6.3.1 -isystem$(SSDK_DIR)/public -isystem$(SSDK_DIR)/mathlib -isystem$(SSDK_DIR)/common -isystem$(SSDK_DIR)/public/tier1 -isystem$(SSDK_DIR)/public/tier0 -isystem$(SSDK_DIR)
|
INCLUDES=-I. -Iinclude -Iucccccp -isystem/usr/include/c++/6.3.1 -isystem$(SSDK_DIR)/public -isystem$(SSDK_DIR)/mathlib -isystem$(SSDK_DIR)/common -isystem$(SSDK_DIR)/public/tier1 -isystem$(SSDK_DIR)/public/tier0 -isystem$(SSDK_DIR)
|
||||||
LDLIBS=-static -l:libc.so.6 -l:libstdc++.so.6 -l:libtier0.so -l:libvstdlib.so
|
LDLIBS=-static -l:libc.so.6 -l:libstdc++.so.6 -l:libtier0.so -l:libvstdlib.so
|
||||||
LDFLAGS=-shared -L$(realpath $(LIB_DIR))
|
LDFLAGS=-shared -L$(realpath $(LIB_DIR))
|
||||||
SOURCES=$(shell find $(SRC_DIR) -name "*.c*" -print)
|
SOURCES=$(shell find $(SRC_DIR) -name "*.c*" -print)
|
||||||
|
|
||||||
ifndef CLANG
|
ifndef CLANG
|
||||||
|
@ -26,8 +26,9 @@ font_handle_t create_font(const char *path, float size)
|
|||||||
{
|
{
|
||||||
logging::Info("Creating font '%s':%f", path, size);
|
logging::Info("Creating font '%s':%f", path, size);
|
||||||
font_handle_t result;
|
font_handle_t result;
|
||||||
result.handle = xoverlay_font_load(path, size);
|
result.filename = std::string(path);
|
||||||
logging::Info("Font handle: %d", result.handle);
|
result.size = size;
|
||||||
|
result.handle = 0;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,18 +91,25 @@ void draw_circle(float x, float y, float radius, const rgba_t& rgba, float thick
|
|||||||
xoverlay_draw_circle(x, y, radius, *reinterpret_cast<const xoverlay_rgba_t *>(&rgba), thickness, steps);
|
xoverlay_draw_circle(x, y, radius, *reinterpret_cast<const xoverlay_rgba_t *>(&rgba), thickness, steps);
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_string(float x, float y, const char *string, font_handle_t font, const rgba_t& rgba)
|
void draw_string(float x, float y, const char *string, font_handle_t& font, const rgba_t& rgba)
|
||||||
{
|
{
|
||||||
|
if (!font.handle)
|
||||||
|
font.handle = xoverlay_font_load(font.filename.c_str(), font.size);
|
||||||
xoverlay_draw_string(x, y, string, font.handle, *reinterpret_cast<const xoverlay_rgba_t *>(&rgba), nullptr, nullptr);
|
xoverlay_draw_string(x, y, string, font.handle, *reinterpret_cast<const xoverlay_rgba_t *>(&rgba), nullptr, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_string_with_outline(float x, float y, const char *string, font_handle_t font, const rgba_t& rgba, const rgba_t& rgba_outline, float thickness)
|
void draw_string_with_outline(float x, float y, const char *string, font_handle_t& font, const rgba_t& rgba, const rgba_t& rgba_outline, float thickness)
|
||||||
{
|
{
|
||||||
|
if (!font.handle)
|
||||||
|
font.handle = xoverlay_font_load(font.filename.c_str(), font.size);
|
||||||
xoverlay_draw_string_with_outline(x, y, string, font.handle, *reinterpret_cast<const xoverlay_rgba_t *>(&rgba), *reinterpret_cast<const xoverlay_rgba_t *>(&rgba_outline), thickness, 1, nullptr, nullptr);
|
xoverlay_draw_string_with_outline(x, y, string, font.handle, *reinterpret_cast<const xoverlay_rgba_t *>(&rgba), *reinterpret_cast<const xoverlay_rgba_t *>(&rgba_outline), thickness, 1, nullptr, nullptr);
|
||||||
|
//xoverlay_draw_string(x, y, string, font.handle, *reinterpret_cast<const xoverlay_rgba_t *>(&rgba), nullptr, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_string_size(const char *string, font_handle_t font, float *x, float *y)
|
void get_string_size(const char *string, font_handle_t& font, float *x, float *y)
|
||||||
{
|
{
|
||||||
|
if (!font.handle)
|
||||||
|
font.handle = xoverlay_font_load(font.filename.c_str(), font.size);
|
||||||
xoverlay_get_string_size(string, font.handle, x, y);
|
xoverlay_get_string_size(string, font.handle, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,7 +73,6 @@ void draw::Initialize() {
|
|||||||
g_IEngine->GetScreenSize(draw::width, draw::height);
|
g_IEngine->GetScreenSize(draw::width, draw::height);
|
||||||
}
|
}
|
||||||
xoverlay_preinit();
|
xoverlay_preinit();
|
||||||
fonts::main_font = draw_api::create_font(DATA_PATH "/fonts/tahoma.ttf", 14);
|
|
||||||
fonts::main_font = draw_api::create_font(DATA_PATH "/fonts/tahoma.ttf", 14);
|
fonts::main_font = draw_api::create_font(DATA_PATH "/fonts/tahoma.ttf", 14);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,10 +12,10 @@
|
|||||||
void render_cheat_visuals()
|
void render_cheat_visuals()
|
||||||
{
|
{
|
||||||
BeginCheatVisuals();
|
BeginCheatVisuals();
|
||||||
xoverlay_draw_rect(300, 300, 100, 100, xoverlay_rgba(200, 100, 100, 255));
|
// xoverlay_draw_rect(300, 300, 100, 100, xoverlay_rgba(200, 100, 100, 255));
|
||||||
//draw_api::draw_string(100, 100, "Testing", fonts::main_font, colors::white);
|
//draw_api::draw_string(100, 100, "Testing", fonts::main_font, colors::white);
|
||||||
static draw_api::font_handle_t fh = draw_api::create_font(DATA_PATH "/fonts/tf2build.ttf", 14);
|
// static draw_api::font_handle_t fh = draw_api::create_font(DATA_PATH "/fonts/tf2build.ttf", 14);
|
||||||
xoverlay_draw_string(100, 100, "TestingSTR", fh.handle, *reinterpret_cast<const xoverlay_rgba_t *>(&colors::white), 0, 0);
|
// xoverlay_draw_string(100, 100, "TestingSTR", fh.handle, *reinterpret_cast<const xoverlay_rgba_t *>(&colors::white), 0, 0);
|
||||||
//xoverlay_draw_string_with_outline(100, 20, "Testing2", )
|
//xoverlay_draw_string_with_outline(100, 20, "Testing2", )
|
||||||
DrawCheatVisuals();
|
DrawCheatVisuals();
|
||||||
EndCheatVisuals();
|
EndCheatVisuals();
|
||||||
|
Reference in New Issue
Block a user