-
Автор темы
- #1
В общем, сама watermark'a взята у такого прекрасного человека как sove ,
Ссылка на тему - https://yougame.biz/threads/155422/
Мне нужно подогнать её под свой SDK, кому не сложно - просьба помочь.
Исходник который я использую -
Снизу код, не спрашивайте зачем я туда добавил imgui, я просто не знаю, как иначе получить размер экрана и размер текста.
Ссылка на тему - https://yougame.biz/threads/155422/
Мне нужно подогнать её под свой SDK, кому не сложно - просьба помочь.
Исходник который я использую -
Пожалуйста, авторизуйтесь для просмотра ссылки.
(not ad)Снизу код, не спрашивайте зачем я туда добавил imgui, я просто не знаю, как иначе получить размер экрана и размер текста.
C++:
#include <ctime>
#include <sstream>
#include <filesystem>
#include "valve_sdk/sdk.hpp"
#include "imgui/imgui.h"
void watermark() {
const auto margin = 10; // Padding between screen edges and watermark
const auto padding = 4; // Padding between watermark elements
auto t = std::time(nullptr);
std::ostringstream time;
// Format: 12:59:09
time << std::put_time(std::localtime(&t), "%H:%M:%S");
// Cheat variables
std::string logo = "paste";
#ifdef _DEBUG
logo.append(" [debug]"); // :)
#endif
const std::string user = "el1an";
auto net_channel = g::client_state->m_NetChannel; // Receiving ping may differ from cheat base
const auto nci = g::engine_client->GetNetChannelInfo();
auto delay = nci->GetLatency(FLOW_OUTGOING);
auto tick_rate = (int)printf("64"); // Играю же всё время на 64, толку ещё получать его
auto text = logo + " | " + user + " | delay: " + std::to_string(delay) + "ms | " + std::to_string(tick_rate) + "tick | " + time.str().data();
const auto text_size = ImGui::CalcTextSize("");
const auto screen_size = ImGui::GetIO().DisplaySize;
const auto text_pos = ImVec2(screen_size.x - margin - padding - text_size.x, // Right align + margin + padding + text_size
margin + padding); { // Top align
auto bg_size = ImVec2(padding + text_size.x + padding, padding + text_size.y + padding); // Height // Width
auto bg_pos = ImVec2(screen_size.x - margin - padding - text_size.x - padding, // Right align + margin
margin); // Top align
// Run on hooks::panel::paint_traverse - как запустить его в хуке?
// Surface rendering
render::rect(bg_pos.x, bg_pos.y, bg_size.x, bg_size.y, col_background); // Background
render::rect(bg_pos.x, bg_pos.y, bg_size.x, 2, col_accent); // Accent line
render::text(text_pos.x, text_pos.y, font::verdana_12, text, col_text); // Text
/* И вот эти три верхние строки, как их подогнать под мой SDK?*/
}
}