This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
YimMenu/src/views/core/view_overlay.cpp

117 lines
4.2 KiB
C++
Raw Normal View History

#include "gta_util.hpp"
#include "gui.hpp"
#include "pointers.hpp"
#include "views/view.hpp"
namespace big
{
void view::overlay()
{
if (!g.window.ingame_overlay.opened || (g_gui->is_open() && !g.window.ingame_overlay.show_with_menu_opened))
return;
g_gui->push_theme_colors();
ImGui::SetNextWindowPos(ImVec2(10.0f, 10.0f), ImGuiCond_FirstUseEver, ImVec2(0.0f, 0.0f));
ImGui::SetNextWindowBgAlpha(0.5f);
auto window_flags = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav;
if (!g_gui->is_open())
{
window_flags |= ImGuiWindowFlags_NoMouseInputs;
}
if (ImGui::Begin("overlay", nullptr, window_flags))
{
ImGui::Text("YimMenu");
ImGui::Separator();
if (g.window.ingame_overlay.show_fps)
ImGui::Text("%.0f FPS", ImGui::GetIO().Framerate / 2);
if (CNetworkPlayerMgr* network_player_mgr = gta_util::get_network_player_mgr(); g.window.ingame_overlay.show_players)
ImGui::Text(std::format("Players: {}/{}", network_player_mgr->m_player_count, network_player_mgr->m_player_limit)
.c_str());
if (g.window.ingame_overlay.show_indicators)
{
ImGui::Separator();
if (g.window.ingame_overlay_indicators.show_player_godmode)
components::overlay_indicator("Player Godmode", g.self.god_mode);
if (g.window.ingame_overlay_indicators.show_off_radar)
components::overlay_indicator("Off Radar", g.self.off_radar);
if (g.window.ingame_overlay_indicators.show_vehicle_godmode)
components::overlay_indicator("Vehicle Godmode", g.vehicle.god_mode);
if (g.window.ingame_overlay_indicators.show_never_wanted)
components::overlay_indicator("Never Wanted", g.self.never_wanted);
if (g.window.ingame_overlay_indicators.show_infinite_ammo)
components::overlay_indicator("Infinite Ammo", g.weapons.infinite_ammo);
2023-07-05 17:29:07 -04:00
if (g.window.ingame_overlay_indicators.show_always_full_ammo)
components::overlay_indicator("Always Full Ammo", g.weapons.always_full_ammo);
if (g.window.ingame_overlay_indicators.show_infinite_mag)
components::overlay_indicator("Infinite Magazine", g.weapons.infinite_mag);
if (g.window.ingame_overlay_indicators.show_aimbot)
components::overlay_indicator("Aimbot", g.weapons.aimbot.enable);
if (g.window.ingame_overlay_indicators.show_triggerbot)
components::overlay_indicator("Triggerbot", g.weapons.triggerbot);
if (g.window.ingame_overlay_indicators.show_invisibility)
components::overlay_indicator("Invisibility", g.self.invisibility);
}
if (g.window.ingame_overlay.show_position && g_local_player)
{
ImGui::Separator();
auto& pos = *g_local_player->get_position();
ImGui::Text("Pos: %.2f, %.2f, %.2f", pos.x, pos.y, pos.z);
}
2023-04-16 18:28:49 +00:00
// can't easily get used item count using pools, so keeping replay interface for now
2023-04-14 18:54:07 +02:00
if (auto replay_interface = *g_pointers->m_gta.m_replay_interface; g.window.ingame_overlay.show_replay_interface)
{
if (replay_interface->m_ped_interface || replay_interface->m_vehicle_interface || replay_interface->m_object_interface)
ImGui::Separator();
if (replay_interface->m_ped_interface)
ImGui::Text(std::format("Ped Pool: {}/{}",
replay_interface->m_ped_interface->m_cur_peds,
replay_interface->m_ped_interface->m_max_peds)
.c_str());
if (replay_interface->m_vehicle_interface)
ImGui::Text(std::format("Vehicle Pool: {}/{}",
replay_interface->m_vehicle_interface->m_cur_vehicles,
replay_interface->m_vehicle_interface->m_max_vehicles)
.c_str());
if (replay_interface->m_object_interface)
ImGui::Text(std::format("Object Pool: {}/{}",
replay_interface->m_object_interface->m_cur_objects,
replay_interface->m_object_interface->m_max_objects)
.c_str());
}
if (g.window.ingame_overlay.show_game_versions)
{
ImGui::Separator();
2023-04-16 18:28:49 +00:00
ImGui::Text(std::format("Game Version: {}", g_pointers->m_gta.m_game_version).c_str());
ImGui::Text(std::format("Online Version: {}", g_pointers->m_gta.m_online_version).c_str());
}
}
ImGui::End();
g_gui->pop_theme_colors();
}
}