Added Menu Scale slider

This commit is contained in:
EricPlayZ
2024-02-03 20:40:17 +02:00
parent d20fdf5d5d
commit 4aca1bae87
8 changed files with 55 additions and 15 deletions

View File

@ -1,10 +1,10 @@
#include <d3d11.h>
#include <assert.h>
#include <imgui.h>
#include <backends\imgui_impl_win32.h>
#include <assert.h>
#include <backends\imgui_impl_dx11.h>
#include "..\..\menu\menu.h"
#include <backends\imgui_impl_win32.h>
#include <d3d11.h>
#include <imgui.h>
#include "..\..\kiero.h"
#include "..\..\menu\menu.h"
#include "d3d11_impl.h"
#include "win32_impl.h"

View File

@ -1,11 +1,11 @@
#include <d3d12.h>
#include <dxgi1_4.h>
#include <assert.h>
#include <imgui.h>
#include <backends\imgui_impl_win32.h>
#include <assert.h>
#include <backends\imgui_impl_dx12.h>
#include "..\..\menu\menu.h"
#include <backends\imgui_impl_win32.h>
#include <d3d12.h>
#include <dxgi1_4.h>
#include <imgui.h>
#include "..\..\kiero.h"
#include "..\..\menu\menu.h"
#include "d3d12_impl.h"
#include "win32_impl.h"

View File

@ -3,6 +3,34 @@
#include "..\core.h"
namespace ImGui {
static ImGuiStyle defStyle{};
void StyleScaleAllSizes(ImGuiStyle* style, float scale_factor) {
style->WindowPadding = ImFloor(defStyle.WindowPadding * scale_factor);
style->WindowRounding = ImFloor(defStyle.WindowRounding * scale_factor);
style->WindowMinSize = ImFloor(defStyle.WindowMinSize * scale_factor);
style->ChildRounding = ImFloor(defStyle.ChildRounding * scale_factor);
style->PopupRounding = ImFloor(defStyle.PopupRounding * scale_factor);
style->FramePadding = ImFloor(defStyle.FramePadding * scale_factor);
style->FrameRounding = ImFloor(defStyle.FrameRounding * scale_factor);
style->ItemSpacing = ImFloor(defStyle.ItemSpacing * scale_factor);
style->ItemInnerSpacing = ImFloor(defStyle.ItemInnerSpacing * scale_factor);
style->CellPadding = ImFloor(defStyle.CellPadding * scale_factor);
style->TouchExtraPadding = ImFloor(defStyle.TouchExtraPadding * scale_factor);
style->IndentSpacing = ImFloor(defStyle.IndentSpacing * scale_factor);
style->ColumnsMinSpacing = ImFloor(defStyle.ColumnsMinSpacing * scale_factor);
style->ScrollbarSize = ImFloor(defStyle.ScrollbarSize * scale_factor);
style->ScrollbarRounding = ImFloor(defStyle.ScrollbarRounding * scale_factor);
style->GrabMinSize = ImFloor(defStyle.GrabMinSize * scale_factor);
style->GrabRounding = ImFloor(defStyle.GrabRounding * scale_factor);
style->LogSliderDeadzone = ImFloor(defStyle.LogSliderDeadzone * scale_factor);
style->TabRounding = ImFloor(defStyle.TabRounding * scale_factor);
style->TabMinWidthForCloseButton = (defStyle.TabMinWidthForCloseButton != FLT_MAX) ? ImFloor(defStyle.TabMinWidthForCloseButton * scale_factor) : FLT_MAX;
style->SeparatorTextPadding = ImFloor(defStyle.SeparatorTextPadding * scale_factor);
style->DisplayWindowPadding = ImFloor(defStyle.DisplayWindowPadding * scale_factor);
style->DisplaySafeAreaPadding = ImFloor(defStyle.DisplaySafeAreaPadding * scale_factor);
style->MouseCursorScale = ImFloor(defStyle.MouseCursorScale * scale_factor);
}
bool Checkbox(const char* label, Option* v) {
ImGuiWindow* window = GetCurrentWindow();
if (window->SkipItems)

View File

@ -2,5 +2,6 @@
#include "..\core.h"
namespace ImGui {
bool Checkbox(const char* label, Option* v);
extern void StyleScaleAllSizes(ImGuiStyle* style, float scale_factor);
extern bool Checkbox(const char* label, Option* v);
}

View File

@ -4021,6 +4021,7 @@ namespace Config {
};
static const auto configVariablesDefault = std::to_array<ConfigEntry>({
{ "Menu", "Transparency", 99.0f, &Menu::transparency, Float },
{ "Menu", "Scale", 1.0f, &Menu::scale, Float },
{ "Menu:Keybinds", "MenuToggleKey", std::string("VK_F5"), &Menu::menuToggle, String},
{ "Menu:Keybinds", "GodModeToggleKey", std::string("VK_F6"), &Menu::Player::godMode, String},
{ "Menu:Keybinds", "FreezePlayerToggleKey", std::string("VK_F7"), &Menu::Player::freezePlayer, String},

View File

@ -1,19 +1,23 @@
#define IMGUI_DEFINE_MATH_OPERATORS
#include <Hotkey.h>
#include <imgui.h>
#include <ImGuiEx.h>
#include "menu.h"
namespace Menu {
static const ImGuiWindowFlags windowFlags = ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_AlwaysAutoResize;
static const ImGuiWindowFlags windowFlags = ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_HorizontalScrollbar;
static const ImVec2 minWndSize = ImVec2(0.0f, 0.0f);
static const ImVec2 maxWndSize = ImVec2(900.0f, 675.0f);
static const ImVec2 defMaxWndSize = ImVec2(900.0f, 675.0f);
static ImVec2 maxWndSize = defMaxWndSize;
KeyBindOption menuToggle = KeyBindOption(VK_F5);
float transparency = 99.0f;
float scale = 1.0f;
void Render() {
ImGuiStyle* style = &ImGui::GetStyle();
style->Colors[ImGuiCol_WindowBg] = ImVec4(style->Colors[ImGuiCol_WindowBg].x, style->Colors[ImGuiCol_WindowBg].y, style->Colors[ImGuiCol_WindowBg].z, static_cast<float>(transparency) / 100.0f);
maxWndSize = defMaxWndSize * scale;
ImGui::SetNextWindowSizeConstraints(minWndSize, maxWndSize);
ImGui::Begin("EGameTools", &menuToggle.value, windowFlags); {
if (ImGui::BeginTabBar("##MainTabBar")) {
@ -30,6 +34,10 @@ namespace Menu {
ImGui::Hotkey("Menu Toggle Key", menuToggle);
ImGui::SliderFloat("Menu Transparency", &transparency, 0.0f, 100.0f, "%.1f%%", ImGuiSliderFlags_AlwaysClamp);
if (ImGui::SliderFloat("Menu Scale", &scale, 1.0f, 2.5f, "%.1f%%", ImGuiSliderFlags_AlwaysClamp)) {
ImGui::StyleScaleAllSizes(style, scale);
ImGui::GetIO().FontGlobalScale = scale;
}
ImGui::End();
}
}

View File

@ -18,6 +18,7 @@ namespace Menu {
extern KeyBindOption menuToggle;
extern float transparency;
extern float scale;
extern void Render();
}

View File

@ -11,6 +11,7 @@ HeightAbovePlayer=1.35
HorizontalDistanceFromPlayer=0
UseTPPModel=1
[Menu]
Scale=1
Transparency=99
[Menu:Keybinds]
DisableHUDToggleKey=VK_F8