@ -1,71 +1,72 @@
# include "overlay.h"
# include "overlay.h"
extern int aim ;
extern int serial - stringaim ;
extern bool esp ;
extern bool serial - stringesp ;
extern bool aim_no_recoil ;
extern bool serial - stringaim_no_recoil ;
extern bool ready ;
extern bool serial - stringready ;
extern bool use_nvidia ;
extern bool serial - stringuse_nvidia ;
extern float max_dist ;
extern float serial - stringmax_dist ;
extern float seer_dist ;
extern float serial - stringseer_dist ;
extern float smooth ;
extern float serial - stringsmooth ;
extern float max_fov ;
extern float serial - stringmax_fov ;
extern float scale ;
extern float serial - stringuid_dist ;
extern int bone ;
extern float serial - stringscale ;
extern bool thirdperson ;
extern int serial - stringbone ;
extern int spectators ;
extern bool serial - stringthirdperson ;
extern int allied_spectators ;
extern float serial - stringname_dist ;
extern bool chargerifle ;
extern int serial - stringspectators ;
extern bool freecam ;
extern int serial - stringallied_spectators ;
extern bool lockall_mode ;
extern bool serial - stringchargerifle ;
extern bool display_spec ;
extern bool serial - stringfreecam ;
extern bool firing_range ;
extern bool serial - stringlockall_mode ;
extern int recoil_100 ;
extern bool serial - stringdisplay_spec ;
extern int index ;
extern bool serial - stringfiring_range ;
int width ;
extern int serial - stringindex ;
int height ;
int serial - stringwidth ;
bool k_leftclick = false ;
int serial - stringheight ;
bool k_ins = false ;
bool serial - stringk_leftclick = false ;
bool show_menu = false ;
bool serial - stringk_ins = false ;
visuals v ;
bool serial - stringshow_menu = false ;
serial - stringvisuals serial - stringv ;
extern bool IsKeyDown ( int vk ) ;
extern bool IsKeyDown ( int vk ) ;
LONG nv_default = WS_POPUP | WS_CLIPSIBLINGS ;
LONG serial - string nv_default = WS_POPUP | WS_CLIPSIBLINGS ;
LONG nv_default_in_game = nv_default | WS_DISABLED ;
LONG serial - string nv_default_in_game = serial - string nv_default | WS_DISABLED ;
LONG nv_edit = nv_default_in_game | WS_VISIBLE ;
LONG serial - string nv_edit = serial - string nv_default_in_game | WS_VISIBLE ;
LONG nv_ex_default = WS_EX_TOOLWINDOW ;
LONG serial - string nv_ex_default = WS_EX_TOOLWINDOW ;
LONG nv_ex_edit = nv_ex_default | WS_EX_LAYERED | WS_EX_TRANSPARENT ;
LONG serial - string nv_ex_edit = serial - string nv_ex_default | WS_EX_LAYERED | WS_EX_TRANSPARENT ;
LONG nv_ex_edit_menu = nv_ex_default | WS_EX_TRANSPARENT ;
LONG serial - string nv_ex_edit_menu = serial - string nv_ex_default | WS_EX_TRANSPARENT ;
static DWORD WINAPI StaticMessageStart ( void * Param)
static DWORD WINAPI StaticMessageStart ( void * serial - string Param)
{
{
Overlay * ov = ( Overlay * ) Param;
Overlay * serial - string ov = ( Overlay * ) serial - string Param;
ov- > Create Overlay( ) ;
serial - string ov- > Create serial - string Overlay( ) ;
return 0 ;
return 0 ;
}
}
BOOL CALLBACK EnumWindowsCallback ( HWND hwnd, LPARAM lParam )
BOOL CALLBACK EnumWindowsCallback ( HWND serial - string hwnd, LPARAM lParam )
{
{
wchar_t class Name[ 255 ] = L " " ;
wchar_t class serial - string Name[ 255 ] = L " " ;
GetClassName ( hwnd, class Name, 255 ) ;
GetClassName ( serial - string hwnd, class serial - string Name, 255 ) ;
if ( use_nvidia)
if ( serial - string use_nvidia)
{
{
if ( wcscmp ( XorStrW ( L " CEF-OSC-WIDGET " ) , class Name) = = 0 ) //Nvidia overlay
if ( wcscmp ( XorStrW ( L " CEF-OSC-WIDGET " ) , class serial - string Name) = = 0 ) //Nvidia overlay
{
{
HWND * w = ( HWND * ) lParam ;
HWND * w = ( HWND * ) lParam ;
if ( GetWindowLong ( hwnd, GWL_STYLE ) ! = nv_default & & GetWindowLong ( hwnd, GWL_STYLE ) ! = nv_default_in_game)
if ( GetWindowLong ( serial - string hwnd, GWL_STYLE ) ! = serial - string nv_default & & GetWindowLong ( serial - string hwnd, GWL_STYLE ) ! = serial - string nv_default_in_game)
return TRUE ;
return TRUE ;
* w = hwnd;
* w = serial - string hwnd;
return TRUE ;
return TRUE ;
}
}
}
}
else
else
{
{
if ( wcscmp ( XorStrW ( L " overlay" ) , class Name) = = 0 ) //Custom overlay
if ( wcscmp ( XorStrW ( L " serial-string overlay" ) , class serial - string Name) = = 0 ) //Custom overlay
{
{
HWND * w = ( HWND * ) lParam ;
HWND * w = ( HWND * ) lParam ;
* w = hwnd;
* w = serial - string hwnd;
return TRUE ;
return TRUE ;
}
}
}
}
@ -84,108 +85,118 @@ void CleanupDeviceD3D();
void CreateRenderTarget ( ) ;
void CreateRenderTarget ( ) ;
void CleanupRenderTarget ( ) ;
void CleanupRenderTarget ( ) ;
void Overlay : : Render Menu( )
void Overlay : : Render serial - string Menu( )
{
{
static bool aim_enable = false ;
static bool serial - string aim_enable = false ;
static bool vis_check = false ;
static bool serial - string vis_check = false ;
static bool s pec_disable = false ;
static bool s erial - strings pec_disable = false ;
static bool all_spec_disable = false ;
static bool serial - string all_spec_disable = false ;
if ( aim > 0 )
if ( serial - string aim > 0 )
{
{
aim_enable = true ;
serial - string aim_enable = true ;
if ( aim > 1 )
if ( serial - string aim > 1 )
{
{
vis_check = true ;
serial - string vis_check = true ;
}
}
else
else
{
{
vis_check = false ;
serial - string vis_check = false ;
}
}
}
}
else
else
{
{
aim_enable = false ;
serial - string aim_enable = false ;
vis_check = false ;
serial - string vis_check = false ;
}
}
//ImGui::Begin("#FOVC", nullptr, ImGuiWindowFlags_NoMove | ImGuiInputTextFlags_ReadOnly | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoScrollbar);
//ImGui::Begin("#FOVC", nullptr, ImGuiWindowFlags_NoMove | ImGuiInputTextFlags_ReadOnly | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoScrollbar);
//auto draw = ImGui::GetBackgroundDrawList();
//auto draw = ImGui::GetBackgroundDrawList();
//draw->AddCircle(ImVec2(1920 / 2, 1080 / 2), max_fov * scale, IM_COL32(255, 0, 0, 255), 100, 0.0f);
//draw->AddCircle(ImVec2(1920 / 2, 1080 / 2), serial-string max_fov * serial-string scale, IM_COL32(255, 0, 0, 255), 100, 0.0f);
//ImGui::End();
//ImGui::End();
ImGui : : SetNextWindowPos ( ImVec2 ( 0 , 0 ) ) ;
ImGui : : SetNextWindowPos ( ImVec2 ( 0 , 0 ) ) ;
ImGui : : SetNextWindowSize ( ImVec2 ( 490 , 2 4 5) ) ;
ImGui : : SetNextWindowSize ( ImVec2 ( 490 , 2 7 5) ) ;
ImGui : : Begin ( XorStr ( " ##title " ) , ( bool * ) true , ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar ) ;
ImGui : : Begin ( XorStr ( " ##title " ) , ( bool * ) true , ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar ) ;
if ( ImGui : : BeginTabBar ( XorStr ( " Tab " ) ) )
if ( ImGui : : BeginTabBar ( XorStr ( " Tab " ) ) )
{
{
if ( ImGui : : BeginTabItem ( XorStr ( u8 " MainMenu " ) ) )
if ( ImGui : : BeginTabItem ( XorStr ( u8 " MainMenu " ) ) )
{
{
ImGui : : Checkbox ( XorStr ( u8 " ESP " ) , & esp) ;
ImGui : : Checkbox ( XorStr ( u8 " ESP " ) , & serial - string esp) ;
ImGui : : Checkbox ( XorStr ( u8 " Aimbot " ) , & aim_enable) ;
ImGui : : Checkbox ( XorStr ( u8 " Aimbot " ) , & serial - string aim_enable) ;
if ( aim_enable)
if ( serial - string aim_enable)
{
{
ImGui : : SameLine ( ) ;
ImGui : : SameLine ( ) ;
ImGui : : Checkbox ( XorStr ( u8 " Visible check " ) , & vis_check) ;
ImGui : : Checkbox ( XorStr ( u8 " Visible check " ) , & serial - string vis_check) ;
ImGui : : SameLine ( ) ;
ImGui : : SameLine ( ) ;
ImGui : : Checkbox ( XorStr ( u8 " No recoil " ) , & aim_no_recoil) ;
ImGui : : Checkbox ( XorStr ( u8 " No recoil " ) , & serial - string aim_no_recoil) ;
if ( vis_check)
if ( serial - string vis_check)
{
{
aim = 2 ;
serial - string aim = 2 ;
}
}
else
else
{
{
aim = 1 ;
serial - string aim = 1 ;
}
}
}
}
else
else
{
{
aim = 0 ;
serial - string aim = 0 ;
}
}
ImGui : : Checkbox ( XorStr ( u8 " freecamera " ) , & freecam) ;
ImGui : : Checkbox ( XorStr ( u8 " freecamera " ) , & serial - string freecam) ;
ImGui : : Checkbox ( XorStr ( u8 " Lock on teammates " ) , & lockall_mode) ;
ImGui : : Checkbox ( XorStr ( u8 " Lock on teammates " ) , & serial - string lockall_mode) ;
ImGui : : Checkbox ( XorStr ( u8 " firing_range mode " ) , & firing_range) ; // firing_range
ImGui : : Checkbox ( XorStr ( u8 " firing_range mode " ) , & serial - string firing_range) ; // serial-string firing_range
//ImGui::InputInt(XorStr("index"), & index);//index
//ImGui::InputInt(XorStr("index"), & serial-string index);//serial-string index
ImGui : : EndTabItem ( ) ;
ImGui : : EndTabItem ( ) ;
}
}
if ( ImGui : : BeginTabItem ( XorStr ( u8 " Aimbot " ) ) )
if ( ImGui : : BeginTabItem ( XorStr ( u8 " Aimbot " ) ) )
{
{
ImGui : : Text ( XorStr ( u8 " Max distence: " ) ) ;
ImGui : : Text ( XorStr ( u8 " Max distence: " ) ) ;
ImGui : : SliderFloat ( XorStr ( " ##1 " ) , & max_dist, 100.0f * 40 , 800.0f * 40 , " %.2f " ) ;
ImGui : : SliderFloat ( XorStr ( " ##1 " ) , & serial - string max_dist, 100.0f * 40 , 800.0f * 40 , " %.2f " ) ;
ImGui : : SameLine ( ) ;
ImGui : : SameLine ( ) ;
ImGui : : Text ( u8 " (%d M) " , ( int ) ( max_dist / 40 ) ) ;
ImGui : : Text ( u8 " (%d M) " , ( int ) ( serial - stringmax_dist / 40 ) ) ;
ImGui : : Text ( u8 " real dist :%d M " , ( int ) ( serial - stringmax_dist / 40 ) ) ;
ImGui : : Text ( XorStr ( u8 " Smooth " ) ) ;
ImGui : : Text ( XorStr ( u8 " Smooth " ) ) ;
ImGui : : SliderFloat ( XorStr ( " ##2 " ) , & s mooth, 75 .0f, 100.0f , " %.2f " ) ;
ImGui : : SliderFloat ( XorStr ( " ##2 " ) , & s erial - stringsmooth , 76 .0f, 100.0f , " %.2f " ) ;
ImGui : : Text ( XorStr ( u8 " FOV: " ) ) ;
ImGui : : Text ( XorStr ( u8 " FOV: " ) ) ;
ImGui : : SliderFloat ( XorStr ( " ##3 " ) , & max_fov, 5.0f , 250.0f , " %.2f " ) ;
ImGui : : SliderFloat ( XorStr ( " ##3 " ) , & serial - string max_fov, 5.0f , 250.0f , " %.2f " ) ;
ImGui : : Text ( XorStr ( u8 " Bone: " ) ) ;
ImGui : : Text ( XorStr ( u8 " Bone: " ) ) ;
ImGui : : SliderInt ( XorStr ( " ##4 " ) , & bone, 0 , 3 ) ;
ImGui : : SliderInt ( XorStr ( " ##4 " ) , & serial - string bone, 0 , 3 ) ;
ImGui : : Text ( XorStr ( u8 " NoRecoil: " ) ) ;
ImGui : : SliderInt ( XorStr ( " ##5 " ) , & recoil_100 , 0 , 100 ) ;
//ImGui::Text(XorStr(u8"FOV Draw scale:"));
//ImGui::Text(XorStr(u8"FOV Draw scale:"));
//ImGui::SliderFloat(XorStr("##5"), &s cale, 0.0f, 140.0f, "%.2f");
//ImGui::SliderFloat(XorStr("##5"), &serial-stringscale, 0.0f, 140.0f, "%.2f");
ImGui : : EndTabItem ( ) ;
ImGui : : EndTabItem ( ) ;
}
}
if ( ImGui : : BeginTabItem ( XorStr ( u8 " ESPHACK " ) ) )
if ( ImGui : : BeginTabItem ( XorStr ( u8 " ESPHACK " ) ) )
{
{
ImGui : : Text ( XorStr ( u8 " ESP " ) ) ;
ImGui : : Text ( XorStr ( u8 " ESP " ) ) ;
//ImGui::Checkbox
//ImGui::Checkbox
ImGui : : Checkbox ( XorStr ( u8 " BOX " ) , & v. box) ;
ImGui : : Checkbox ( XorStr ( u8 " BOX " ) , & serial - string v. serial - string box) ;
ImGui : : SameLine ( 0 , 70.0f ) ;
ImGui : : SameLine ( 0 , 70.0f ) ;
ImGui : : Checkbox ( XorStr ( u8 " Name " ) , & v . name ) ;
ImGui : : Checkbox ( XorStr ( u8 " Name " ) , & serial - stringv . serial - stringname ) ;
ImGui : : Checkbox ( XorStr ( u8 " uid " ) , & v . renderrank ) ;
ImGui : : Checkbox ( XorStr ( u8 " uid " ) , & serial - stringv . serial - stringrenderrank ) ;
ImGui : : Checkbox ( XorStr ( u8 " line " ) , & v . line ) ;
ImGui : : Checkbox ( XorStr ( u8 " line " ) , & serial - stringv . serial - stringline ) ;
ImGui : : Checkbox ( XorStr ( u8 " dist + teamID " ) , & v . distance ) ;
ImGui : : Checkbox ( XorStr ( u8 " dist + teamID " ) , & serial - stringv . serial - stringdistance ) ;
ImGui : : Checkbox ( XorStr ( u8 " seer esp " ) , & v . healthbar ) ;
ImGui : : Checkbox ( XorStr ( u8 " seer esp " ) , & serial - stringv . serial - stringhealthbar ) ;
ImGui : : Text ( XorStr ( u8 " seer esp distence: " ) ) ;
ImGui : : Text ( XorStr ( u8 " seer esp distence: " ) ) ;
ImGui : : SliderFloat ( XorStr ( " ##1 " ) , & seer_dist , 100.0f * 40 , 800.0f * 40 , " %.2f " ) ;
ImGui : : SliderFloat ( XorStr ( " ##1 " ) , & serial - stringseer_dist , 100.0f * 40 , 800.0f * 40 , " %.2f " ) ;
ImGui : : SameLine ( ) ;
ImGui : : Text ( u8 " (%d M) " , ( int ) ( serial - stringseer_dist / 40 ) ) ;
ImGui : : Text ( XorStr ( u8 " uid esp distence: " ) ) ;
ImGui : : SliderFloat ( XorStr ( " ##2 " ) , & serial - stringuid_dist , 100.0f * 40 , 800.0f * 40 , " %.2f " ) ;
ImGui : : SameLine ( ) ;
ImGui : : Text ( u8 " (%d M) " , ( int ) ( serial - stringuid_dist / 40 ) ) ;
ImGui : : Text ( XorStr ( u8 " name esp distence: " ) ) ;
ImGui : : SliderFloat ( XorStr ( " ##3 " ) , & serial - stringname_dist , 100.0f * 40 , 800.0f * 40 , " %.2f " ) ;
ImGui : : SameLine ( ) ;
ImGui : : SameLine ( ) ;
ImGui : : Text ( u8 " (%d M) " , ( int ) ( seer_dist / 40 ) ) ;
ImGui : : Text ( u8 " (%d M) " , ( int ) ( se rial - stringname _dist / 40 ) ) ;
ImGui : : EndTabItem ( ) ;
ImGui : : EndTabItem ( ) ;
}
}
ImGui : : EndTabBar ( ) ;
ImGui : : EndTabBar ( ) ;
@ -193,44 +204,44 @@ void Overlay::RenderMenu()
ImGui : : End ( ) ;
ImGui : : End ( ) ;
}
}
void Overlay : : Render Info( )
void Overlay : : Render serial - string Info( )
{
{
//ImGui::Begin("#FOVC'", nullptr, ImGuiWindowFlags_NoMove | ImGuiInputTextFlags_ReadOnly | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoScrollbar);
//ImGui::Begin("#FOVC'", nullptr, ImGuiWindowFlags_NoMove | ImGuiInputTextFlags_ReadOnly | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoScrollbar);
//auto draw = ImGui::GetBackgroundDrawList();
//auto draw = ImGui::GetBackgroundDrawList();
//draw ->AddCircle(ImVec2(1920 / 2, 1080 / 2), max_fov * scale ,IM_COL32(255, 0, 0, 255), 100, 0.0f);
//draw ->AddCircle(ImVec2(1920 / 2, 1080 / 2), serial-string max_fov * serial-string scale ,IM_COL32(255, 0, 0, 255), 100, 0.0f);
//ImGui::End();
//ImGui::End();
ImGui : : SetNextWindowPos ( ImVec2 ( 0 , 0 ) ) ;
ImGui : : SetNextWindowPos ( ImVec2 ( 0 , 0 ) ) ;
ImGui : : SetNextWindowSize ( ImVec2 ( 210 , 25 ) ) ;
ImGui : : SetNextWindowSize ( ImVec2 ( 210 , 25 ) ) ;
ImGui : : Begin ( XorStr ( " ##info " ) , ( bool * ) true , ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar ) ;
ImGui : : Begin ( XorStr ( " ##info " ) , ( bool * ) true , ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar ) ;
ImGui : : TextColored ( RED , u8 " Enemies <20> <> %d " , s pectators) ;
ImGui : : TextColored ( RED , u8 " Enemies <20> <> %d " , s erial - strings pectators) ;
ImGui : : SameLine ( ) ;
ImGui : : SameLine ( ) ;
ImGui : : Text ( " / " ) ;
ImGui : : Text ( " / " ) ;
ImGui : : SameLine ( ) ;
ImGui : : SameLine ( ) ;
ImGui : : TextColored ( GREEN , u8 " Team <20> <> %d " , allied_spectators) ;
ImGui : : TextColored ( GREEN , u8 " Team <20> <> %d " , serial - string allied_spectators) ;
ImGui : : End ( ) ;
ImGui : : End ( ) ;
}
}
void Overlay : : Click Through( bool v)
void Overlay : : Click serial - string Through( bool serial - string v)
{
{
if ( v)
if ( serial - string v)
{
{
nv_edit = nv_default_in_game | WS_VISIBLE ;
serial - string nv_edit = serial - string nv_default_in_game | WS_VISIBLE ;
if ( GetWindowLong ( overlay HWND, GWL_EXSTYLE ) ! = nv_ex_edit)
if ( GetWindowLong ( overlay serial - string HWND, GWL_EXSTYLE ) ! = serial - string nv_ex_edit)
SetWindowLong ( overlay HWND, GWL_EXSTYLE , nv_ex_edit) ;
SetWindowLong ( overlay serial - string HWND, GWL_EXSTYLE , serial - string nv_ex_edit) ;
}
}
else
else
{
{
nv_edit = nv_default | WS_VISIBLE ;
serial - string nv_edit = serial - string nv_default | WS_VISIBLE ;
if ( GetWindowLong ( overlay HWND, GWL_EXSTYLE ) ! = nv_ex_edit_menu)
if ( GetWindowLong ( overlay serial - string HWND, GWL_EXSTYLE ) ! = serial - string nv_ex_edit_menu)
SetWindowLong ( overlay HWND, GWL_EXSTYLE , nv_ex_edit_menu) ;
SetWindowLong ( overlay serial - string HWND, GWL_EXSTYLE , serial - string nv_ex_edit_menu) ;
}
}
}
}
DWORD Overlay : : Create Overlay( )
DWORD Overlay : : Create serial - string Overlay( )
{
{
EnumWindows ( EnumWindowsCallback , ( LPARAM ) & overlay HWND) ;
EnumWindows ( EnumWindowsCallback , ( LPARAM ) & overlay serial - string HWND) ;
Sleep ( 300 ) ;
Sleep ( 300 ) ;
if ( overlay HWND = = 0 )
if ( overlay serial - string HWND = = 0 )
{
{
printf ( XorStr ( " Can't find the overlay \n " ) ) ;
printf ( XorStr ( " Can't find the overlay \n " ) ) ;
Sleep ( 1000 ) ;
Sleep ( 1000 ) ;
@ -238,21 +249,21 @@ DWORD Overlay::CreateOverlay()
}
}
HDC hDC = : : GetWindowDC ( NULL ) ;
HDC hDC = : : GetWindowDC ( NULL ) ;
width = : : GetDeviceCaps ( hDC , HORZRES ) ;
serial - string width = : : GetDeviceCaps ( hDC , HORZRES ) ;
height = : : GetDeviceCaps ( hDC , VERTRES ) ;
serial - string height = : : GetDeviceCaps ( hDC , VERTRES ) ;
running = true ;
serial - string running = true ;
// Initialize Direct3D
// Initialize Direct3D
if ( ! CreateDeviceD3D ( overlay HWND) )
if ( ! CreateDeviceD3D ( overlay serial - string HWND) )
{
{
CleanupDeviceD3D ( ) ;
CleanupDeviceD3D ( ) ;
return 1 ;
return 1 ;
}
}
// Show the window
// Show the window
: : ShowWindow ( overlay HWND, SW_SHOWDEFAULT ) ;
: : ShowWindow ( overlay serial - string HWND, SW_SHOWDEFAULT ) ;
: : UpdateWindow ( overlay HWND) ;
: : UpdateWindow ( overlay serial - string HWND) ;
// Setup Dear ImGui context
// Setup Dear ImGui context
IMGUI_CHECKVERSION ( ) ;
IMGUI_CHECKVERSION ( ) ;
@ -267,7 +278,7 @@ DWORD Overlay::CreateOverlay()
ImGui : : GetStyle ( ) . WindowMinSize = ImVec2 ( 1 , 1 ) ;
ImGui : : GetStyle ( ) . WindowMinSize = ImVec2 ( 1 , 1 ) ;
// Setup Platform/Renderer bindings
// Setup Platform/Renderer bindings
ImGui_ImplWin32_Init ( overlay HWND) ;
ImGui_ImplWin32_Init ( overlay serial - string HWND) ;
ImGui_ImplDX11_Init ( g_pd3dDevice , g_pd3dDeviceContext ) ;
ImGui_ImplDX11_Init ( g_pd3dDevice , g_pd3dDeviceContext ) ;
ImVec4 clear_color = ImVec4 ( 0.0f , 0.0f , 0.0f , 0.00f ) ;
ImVec4 clear_color = ImVec4 ( 0.0f , 0.0f , 0.0f , 0.00f ) ;
@ -275,14 +286,14 @@ DWORD Overlay::CreateOverlay()
// Main loop
// Main loop
MSG msg ;
MSG msg ;
ZeroMemory ( & msg , sizeof ( msg ) ) ;
ZeroMemory ( & msg , sizeof ( msg ) ) ;
Click Through( true ) ;
Click serial - string Through( true ) ;
while ( running)
while ( serial - string running)
{
{
HWND wnd = GetWindow ( GetForegroundWindow ( ) , GW_HWNDPREV ) ;
HWND wnd = GetWindow ( GetForegroundWindow ( ) , GW_HWNDPREV ) ;
if ( wnd ! = overlay HWND)
if ( wnd ! = overlay serial - string HWND)
{
{
SetWindowPos ( overlay HWND, wnd , 0 , 0 , 0 , 0 , SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE ) ;
SetWindowPos ( overlay serial - string HWND, wnd , 0 , 0 , 0 , 0 , SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE ) ;
: : UpdateWindow ( overlay HWND) ;
: : UpdateWindow ( overlay serial - string HWND) ;
}
}
if ( : : PeekMessage ( & msg , NULL , 0U , 0U , PM_REMOVE ) )
if ( : : PeekMessage ( & msg , NULL , 0U , 0U , PM_REMOVE ) )
@ -297,35 +308,35 @@ DWORD Overlay::CreateOverlay()
ImGui_ImplWin32_NewFrame ( ) ;
ImGui_ImplWin32_NewFrame ( ) ;
ImGui : : NewFrame ( ) ;
ImGui : : NewFrame ( ) ;
if ( IsKeyDown ( VK_LBUTTON ) & & ! k_leftclick)
if ( IsKeyDown ( VK_LBUTTON ) & & ! serial - string k_leftclick)
{
{
io . MouseDown [ 0 ] = true ;
io . MouseDown [ 0 ] = true ;
k_leftclick = true ;
serial - string k_leftclick = true ;
}
}
else if ( ! IsKeyDown ( VK_LBUTTON ) & & k_leftclick)
else if ( ! IsKeyDown ( VK_LBUTTON ) & & serial - string k_leftclick)
{
{
io . MouseDown [ 0 ] = false ;
io . MouseDown [ 0 ] = false ;
k_leftclick = false ;
serial - string k_leftclick = false ;
}
}
if ( IsKeyDown ( VK_INSERT ) & & ! k_ins & & ready)
if ( IsKeyDown ( VK_INSERT ) & & ! serial - string k_ins & & serial - string ready)
{
{
s how_menu = ! show_menu;
s erial - strings how_menu = ! serial - string show_menu;
Click Through( ! show_menu) ;
Click serial - string Through( ! serial - string show_menu) ;
k_ins = true ;
serial - string k_ins = true ;
}
}
else if ( ! IsKeyDown ( VK_INSERT ) & & k_ins)
else if ( ! IsKeyDown ( VK_INSERT ) & & serial - string k_ins)
{
{
k_ins = false ;
serial - string k_ins = false ;
}
}
if ( s how_menu) {
if ( s erial - strings how_menu) {
Render Menu( ) ;
Render serial - string Menu( ) ;
}
}
else {
else {
Render Info( ) ;
Render serial - string Info( ) ;
}
}
Render Esp( ) ;
Render serial - string Esp( ) ;
// Rendering
// Rendering
ImGui : : EndFrame ( ) ;
ImGui : : EndFrame ( ) ;
@ -339,33 +350,33 @@ DWORD Overlay::CreateOverlay()
std : : this_thread : : sleep_for ( std : : chrono : : milliseconds ( 1 ) ) ;
std : : this_thread : : sleep_for ( std : : chrono : : milliseconds ( 1 ) ) ;
}
}
Click Through( true ) ;
Click serial - string Through( true ) ;
CleanupDeviceD3D ( ) ;
CleanupDeviceD3D ( ) ;
: : DestroyWindow ( overlay HWND) ;
: : DestroyWindow ( overlay serial - string HWND) ;
return 0 ;
return 0 ;
}
}
void Overlay : : Start ( )
void Overlay : : Start serial - string ( )
{
{
DWORD ThreadID ;
DWORD ThreadID ;
CreateThread ( NULL , 0 , StaticMessageStart , ( void * ) this , 0 , & ThreadID ) ;
CreateThread ( NULL , 0 , StaticMessageStart , ( void * ) this , 0 , & ThreadID ) ;
}
}
void Overlay : : Clear ( )
void Overlay : : Clear serial - string ( )
{
{
running = 0 ;
serial - string running = 0 ;
Sleep ( 50 ) ;
Sleep ( 50 ) ;
}
}
int Overlay : : get Width( )
int Overlay : : get serial - string Width( )
{
{
return width;
return serial - string width;
}
}
int Overlay : : get Height( )
int Overlay : : get serial - string Height( )
{
{
return height;
return serial - string height;
}
}
// Helper functions
// Helper functions
@ -424,37 +435,37 @@ void CleanupDeviceD3D()
if ( g_pd3dDevice ) { g_pd3dDevice - > Release ( ) ; g_pd3dDevice = NULL ; }
if ( g_pd3dDevice ) { g_pd3dDevice - > Release ( ) ; g_pd3dDevice = NULL ; }
}
}
void Overlay : : Draw Line( ImVec2 a , ImVec2 b , ImColor color , float width )
void Overlay : : Draw serial - string Line( ImVec2 a , ImVec2 b , ImColor color , float width )
{
{
ImGui : : GetWindowDrawList ( ) - > AddLine ( a , b , color , width ) ;
ImGui : : GetWindowDrawList ( ) - > AddLine ( a , b , color , width ) ;
}
}
void Overlay : : Draw Box( ImColor color , float x , float y , float w , float h )
void Overlay : : Draw serial - string Box( ImColor color , float x , float y , float w , float h )
{
{
Draw Line( ImVec2 ( x , y ) , ImVec2 ( x + w , y ) , color , 1.0f ) ;
Draw serial - string Line( ImVec2 ( x , y ) , ImVec2 ( x + w , y ) , color , 1.0f ) ;
Draw Line( ImVec2 ( x , y ) , ImVec2 ( x , y + h ) , color , 1.0f ) ;
Draw serial - string Line( ImVec2 ( x , y ) , ImVec2 ( x , y + h ) , color , 1.0f ) ;
Draw Line( ImVec2 ( x + w , y ) , ImVec2 ( x + w , y + h ) , color , 1.0f ) ;
Draw serial - string Line( ImVec2 ( x + w , y ) , ImVec2 ( x + w , y + h ) , color , 1.0f ) ;
Draw Line( ImVec2 ( x , y + h ) , ImVec2 ( x + w , y + h ) , color , 1.0f ) ;
Draw serial - string Line( ImVec2 ( x , y + h ) , ImVec2 ( x + w , y + h ) , color , 1.0f ) ;
}
}
void Overlay : : Text( ImVec2 pos , ImColor color , const char * text_begin , const char * text_end , float wrap_width , const ImVec4 * cpu_fine_clip_rect )
void Overlay : : serial - string Text( ImVec2 pos , ImColor color , const char * text_begin , const char * text_end , float wrap_width , const ImVec4 * cpu_fine_clip_rect )
{
{
ImGui : : GetWindowDrawList ( ) - > AddText ( ImGui : : GetFont ( ) , 14 , pos , color , text_begin , text_end , wrap_width , cpu_fine_clip_rect ) ;
ImGui : : GetWindowDrawList ( ) - > AddText ( ImGui : : GetFont ( ) , 14 , pos , color , text_begin , text_end , wrap_width , cpu_fine_clip_rect ) ;
}
}
void Overlay : : String ( ImVec2 pos , ImColor color , const char * text )
void Overlay : : String serial - string ( ImVec2 pos , ImColor color , const char * text )
{
{
Text( pos , color , text , text + strlen ( text ) , 200 , 0 ) ;
serial - string Text( pos , color , text , text + strlen ( text ) , 200 , 0 ) ;
}
}
void Overlay : : Rect Filled( float x0 , float y0 , float x1 , float y1 , ImColor color , float rounding , int rounding_corners_flags )
void Overlay : : Rect serial - string Filled( float x0 , float y0 , float x1 , float y1 , ImColor color , float rounding , int rounding_corners_flags )
{
{
ImGui : : GetWindowDrawList ( ) - > AddRectFilled ( ImVec2 ( x0 , y0 ) , ImVec2 ( x1 , y1 ) , color , rounding , rounding_corners_flags ) ;
ImGui : : GetWindowDrawList ( ) - > AddRectFilled ( ImVec2 ( x0 , y0 ) , ImVec2 ( x1 , y1 ) , color , rounding , rounding_corners_flags ) ;
}
}
void Overlay : : Progress Bar( float x , float y , float w , float h , int value , int v_max , ImColor barColor )
void Overlay : : Progress serial - string Bar( float x , float y , float w , float h , int value , int v_max , ImColor barColor )
{
{
Rect Filled( x , y , x + w , y + ( ( h / float ( v_max ) ) * ( float ) value ) , barColor , 0.0f , 0 ) ;
Rect serial - string Filled( x , y , x + w , y + ( ( h / float ( v_max ) ) * ( float ) value ) , barColor , 0.0f , 0 ) ;
}
}
@ -471,36 +482,36 @@ void DrawHexagonFilled(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, con
ImGui : : GetWindowDrawList ( ) - > AddHexagonFilled ( p1 , p2 , p3 , p4 , p5 , p6 , col ) ;
ImGui : : GetWindowDrawList ( ) - > AddHexagonFilled ( p1 , p2 , p3 , p4 , p5 , p6 , col ) ;
}
}
void Overlay : : Draw Health( float x, float y, int s hield, int max_shield, int armorType, int health) {
void Overlay : : Draw serial - string Health( float serial - string x, float serial - string y, int s erial - strings hield, int serial - string max_shield, int serial - string armorType, int serial - string health) {
int bg_offset = 3 ;
int serial - string bg_offset = 3 ;
int bar_width = 158 ;
int serial - string bar_width = 158 ;
// 4steps...2*3=6
// 4steps...2*3=6
// 38*4=152 152+6 = 158
// 38*4=152 152+6 = 158
// 5steps...2*4=8
// 5steps...2*4=8
// 30*5=150 150+8 = 158
// 30*5=150 150+8 = 158
float max_health = 100.0f ;
float serial - string max_health = 100.0f ;
float s hield_step = 25.0f ;
float s erial - strings hield_step = 25.0f ;
int s hield_25 = 30 ;
int s erial - strings hield_25 = 30 ;
int s teps = 5 ;
int s erial - strings teps = 5 ;
ImVec2 bg1 ( x - bar_width / 2 - bg_offset, y) ;
ImVec2 bg1 ( serial - string x - serial - string bar_width / 2 - serial - string bg_offset, serial - string y) ;
ImVec2 bg2 ( bg1 . x - 10 , bg1 . y - 16 ) ;
ImVec2 bg2 ( bg1 . x - 10 , bg1 . y - 16 ) ;
ImVec2 bg3 ( bg2 . x + 5 , bg2 . y - 7 ) ;
ImVec2 bg3 ( bg2 . x + 5 , bg2 . y - 7 ) ;
ImVec2 bg4 ( bg3 . x + bar_width + bg_offset, bg3 . y ) ;
ImVec2 bg4 ( bg3 . x + serial - string bar_width + serial - string bg_offset, bg3 . y ) ;
ImVec2 bg5 ( bg4 . x + 11 , bg4 . y + 18 ) ;
ImVec2 bg5 ( bg4 . x + 11 , bg4 . y + 18 ) ;
ImVec2 bg6 ( x + bar_width / 2 + bg_offset, y) ;
ImVec2 bg6 ( serial - string x + serial - string bar_width / 2 + serial - string bg_offset, serial - string y) ;
DrawHexagonFilled ( bg1 , bg2 , bg3 , bg4 , bg5 , bg6 , ImColor ( 0 , 0 , 0 , 120 ) ) ;
DrawHexagonFilled ( bg1 , bg2 , bg3 , bg4 , bg5 , bg6 , ImColor ( 0 , 0 , 0 , 120 ) ) ;
ImVec2 h1 ( bg1 . x + 3 , bg1 . y - 4 ) ;
ImVec2 h1 ( bg1 . x + 3 , bg1 . y - 4 ) ;
ImVec2 h2 ( h1 . x - 5 , h1 . y - 8 ) ;
ImVec2 h2 ( h1 . x - 5 , h1 . y - 8 ) ;
ImVec2 h3 ( h2 . x + ( float ) health / max_health * bar_width, h2 . y ) ;
ImVec2 h3 ( h2 . x + ( float ) serial - string health / serial - string max_health * serial - string bar_width, h2 . y ) ;
ImVec2 h4 ( h1 . x + ( float ) health / max_health * bar_width, h1 . y ) ;
ImVec2 h4 ( h1 . x + ( float ) serial - string health / serial - string max_health * serial - string bar_width, h1 . y ) ;
ImVec2 h3m ( h2 . x + bar_width, h2 . y ) ;
ImVec2 h3m ( h2 . x + serial - string bar_width, h2 . y ) ;
ImVec2 h4m ( h1 . x + bar_width, h1 . y ) ;
ImVec2 h4m ( h1 . x + serial - string bar_width, h1 . y ) ;
DrawQuadFilled ( h1 , h2 , h3m , h4m , ImColor ( 10 , 10 , 30 , 60 ) ) ;
DrawQuadFilled ( h1 , h2 , h3m , h4m , ImColor ( 10 , 10 , 30 , 60 ) ) ;
DrawQuadFilled ( h1 , h2 , h3 , h4 , WHITE ) ;
DrawQuadFilled ( h1 , h2 , h3 , h4 , WHITE ) ;
@ -510,23 +521,23 @@ void Overlay::DrawHealth(float x, float y, int shield, int max_shield, int armor
ImColor shieldCol ;
ImColor shieldCol ;
ImColor shieldColDark ; //not used, but the real seer q has shadow inside
ImColor shieldColDark ; //not used, but the real seer q has shadow inside
if ( max_shield = = 50 ) { //white
if ( serial - string max_shield = = 50 ) { //white
shieldCol = ImColor ( 247 , 247 , 247 ) ;
shieldCol = ImColor ( 247 , 247 , 247 ) ;
shieldColDark = ImColor ( 164 , 164 , 164 ) ;
shieldColDark = ImColor ( 164 , 164 , 164 ) ;
}
}
else if ( max_shield = = 75 ) { //blue
else if ( serial - string max_shield = = 75 ) { //blue
shieldCol = ImColor ( 39 , 178 , 255 ) ;
shieldCol = ImColor ( 39 , 178 , 255 ) ;
shieldColDark = ImColor ( 27 , 120 , 210 ) ;
shieldColDark = ImColor ( 27 , 120 , 210 ) ;
}
}
else if ( max_shield = = 100 ) { //purple
else if ( serial - string max_shield = = 100 ) { //purple
shieldCol = ImColor ( 206 , 59 , 255 ) ;
shieldCol = ImColor ( 206 , 59 , 255 ) ;
shieldColDark = ImColor ( 136 , 36 , 220 ) ;
shieldColDark = ImColor ( 136 , 36 , 220 ) ;
}
}
else if ( max_shield = = 100 ) { //gold
else if ( serial - string max_shield = = 100 ) { //gold
shieldCol = ImColor ( 255 , 255 , 79 ) ;
shieldCol = ImColor ( 255 , 255 , 79 ) ;
shieldColDark = ImColor ( 218 , 175 , 49 ) ;
shieldColDark = ImColor ( 218 , 175 , 49 ) ;
}
}
else if ( max_shield = = 125 ) { //red
else if ( serial - string max_shield = = 125 ) { //red
shieldCol = ImColor ( 219 , 2 , 2 ) ;
shieldCol = ImColor ( 219 , 2 , 2 ) ;
shieldColDark = ImColor ( 219 , 2 , 2 ) ;
shieldColDark = ImColor ( 219 , 2 , 2 ) ;
}
}
@ -534,7 +545,7 @@ void Overlay::DrawHealth(float x, float y, int shield, int max_shield, int armor
shieldCol = ImColor ( 247 , 247 , 247 ) ;
shieldCol = ImColor ( 247 , 247 , 247 ) ;
shieldColDark = ImColor ( 164 , 164 , 164 ) ;
shieldColDark = ImColor ( 164 , 164 , 164 ) ;
}
}
int shield_tmp = s hield;
int shield_tmp = s erial - strings hield;
int shield1 = 0 ;
int shield1 = 0 ;
int shield2 = 0 ;
int shield2 = 0 ;
int shield3 = 0 ;
int shield3 = 0 ;
@ -571,185 +582,185 @@ void Overlay::DrawHealth(float x, float y, int shield, int max_shield, int armor
}
}
ImVec2 s1 ( h2 . x - 1 , h2 . y - 2 ) ;
ImVec2 s1 ( h2 . x - 1 , h2 . y - 2 ) ;
ImVec2 s2 ( s1 . x - 3 , s1 . y - 5 ) ;
ImVec2 s2 ( s1 . x - 3 , s1 . y - 5 ) ;
ImVec2 s3 ( s2 . x + shield1 / s hield_step * shield_25, s2 . y ) ;
ImVec2 s3 ( s2 . x + shield1 / s erial - strings hield_step * serial - string shield_25, s2 . y ) ;
ImVec2 s4 ( s1 . x + shield1 / s hield_step * shield_25, s1 . y ) ;
ImVec2 s4 ( s1 . x + shield1 / s erial - strings hield_step * serial - string shield_25, s1 . y ) ;
ImVec2 s3m ( s2 . x + s hield_25, s2 . y ) ;
ImVec2 s3m ( s2 . x + s erial - strings hield_25, s2 . y ) ;
ImVec2 s4m ( s1 . x + s hield_25, s1 . y ) ;
ImVec2 s4m ( s1 . x + s erial - strings hield_25, s1 . y ) ;
ImVec2 ss1 ( s4m . x + 2 , s1 . y ) ;
ImVec2 ss1 ( s4m . x + 2 , s1 . y ) ;
ImVec2 ss2 ( s3m . x + 2 , s2 . y ) ;
ImVec2 ss2 ( s3m . x + 2 , s2 . y ) ;
ImVec2 ss3 ( ss2 . x + shield2 / s hield_step * shield_25, s2 . y ) ;
ImVec2 ss3 ( ss2 . x + shield2 / s erial - strings hield_step * serial - string shield_25, s2 . y ) ;
ImVec2 ss4 ( ss1 . x + shield2 / s hield_step * shield_25, s1 . y ) ;
ImVec2 ss4 ( ss1 . x + shield2 / s erial - strings hield_step * serial - string shield_25, s1 . y ) ;
ImVec2 ss3m ( ss2 . x + s hield_25, s2 . y ) ;
ImVec2 ss3m ( ss2 . x + s erial - strings hield_25, s2 . y ) ;
ImVec2 ss4m ( ss1 . x + s hield_25, s1 . y ) ;
ImVec2 ss4m ( ss1 . x + s erial - strings hield_25, s1 . y ) ;
ImVec2 sss1 ( ss4m . x + 2 , s1 . y ) ;
ImVec2 sss1 ( ss4m . x + 2 , s1 . y ) ;
ImVec2 sss2 ( ss3m . x + 2 , s2 . y ) ;
ImVec2 sss2 ( ss3m . x + 2 , s2 . y ) ;
ImVec2 sss3 ( sss2 . x + shield3 / s hield_step * shield_25, s2 . y ) ;
ImVec2 sss3 ( sss2 . x + shield3 / s erial - strings hield_step * serial - string shield_25, s2 . y ) ;
ImVec2 sss4 ( sss1 . x + shield3 / s hield_step * shield_25, s1 . y ) ;
ImVec2 sss4 ( sss1 . x + shield3 / s erial - strings hield_step * serial - string shield_25, s1 . y ) ;
ImVec2 sss3m ( sss2 . x + s hield_25, s2 . y ) ;
ImVec2 sss3m ( sss2 . x + s erial - strings hield_25, s2 . y ) ;
ImVec2 sss4m ( sss1 . x + s hield_25, s1 . y ) ;
ImVec2 sss4m ( sss1 . x + s erial - strings hield_25, s1 . y ) ;
ImVec2 ssss1 ( sss4m . x + 2 , s1 . y ) ;
ImVec2 ssss1 ( sss4m . x + 2 , s1 . y ) ;
ImVec2 ssss2 ( sss3m . x + 2 , s2 . y ) ;
ImVec2 ssss2 ( sss3m . x + 2 , s2 . y ) ;
ImVec2 ssss3 ( ssss2 . x + shield4 / s hield_step * shield_25, s2 . y ) ;
ImVec2 ssss3 ( ssss2 . x + shield4 / s erial - strings hield_step * serial - string shield_25, s2 . y ) ;
ImVec2 ssss4 ( ssss1 . x + shield4 / s hield_step * shield_25, s1 . y ) ;
ImVec2 ssss4 ( ssss1 . x + shield4 / s erial - strings hield_step * serial - string shield_25, s1 . y ) ;
ImVec2 ssss3m ( ssss2 . x + s hield_25, s2 . y ) ;
ImVec2 ssss3m ( ssss2 . x + s erial - strings hield_25, s2 . y ) ;
ImVec2 ssss4m ( ssss1 . x + s hield_25, s1 . y ) ;
ImVec2 ssss4m ( ssss1 . x + s erial - strings hield_25, s1 . y ) ;
ImVec2 sssss1 ( ssss4m . x + 2 , s1 . y ) ;
ImVec2 sssss1 ( ssss4m . x + 2 , s1 . y ) ;
ImVec2 sssss2 ( ssss3m . x + 2 , s2 . y ) ;
ImVec2 sssss2 ( ssss3m . x + 2 , s2 . y ) ;
ImVec2 sssss3 ( sssss2 . x + shield5 / s hield_step * shield_25, s2 . y ) ;
ImVec2 sssss3 ( sssss2 . x + shield5 / s erial - strings hield_step * serial - string shield_25, s2 . y ) ;
ImVec2 sssss4 ( sssss1 . x + shield5 / s hield_step * shield_25, s1 . y ) ;
ImVec2 sssss4 ( sssss1 . x + shield5 / s erial - strings hield_step * serial - string shield_25, s1 . y ) ;
ImVec2 sssss3m ( sssss2 . x + s hield_25, s2 . y ) ;
ImVec2 sssss3m ( sssss2 . x + s erial - strings hield_25, s2 . y ) ;
ImVec2 sssss4m ( sssss1 . x + s hield_25, s1 . y ) ;
ImVec2 sssss4m ( sssss1 . x + s erial - strings hield_25, s1 . y ) ;
if ( max_shield = = 50 ) {
if ( serial - string max_shield = = 50 ) {
if ( s hield < = 25 ) {
if ( s erial - strings hield < = 25 ) {
if ( s hield < 25 ) {
if ( s erial - strings hield < 25 ) {
DrawQuadFilled ( s1 , s2 , s3m , s4m , shieldCracked ) ;
DrawQuadFilled ( s1 , s2 , s3m , s4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
}
}
else if ( s hield < = 50 ) {
else if ( s erial - strings hield < = 50 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
if ( s hield ! = 50 ) {
if ( s erial - strings hield ! = 50 ) {
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
}
}
}
}
else if ( max_shield = = 75 ) {
else if ( serial - string max_shield = = 75 ) {
if ( s hield < = 25 ) {
if ( s erial - strings hield < = 25 ) {
if ( s hield < 25 ) {
if ( s erial - strings hield < 25 ) {
DrawQuadFilled ( s1 , s2 , s3m , s4m , shieldCracked ) ;
DrawQuadFilled ( s1 , s2 , s3m , s4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
}
}
else if ( s hield < = 50 ) {
else if ( s erial - strings hield < = 50 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
if ( s hield < 50 ) {
if ( s erial - strings hield < 50 ) {
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
}
}
else if ( s hield < = 75 ) {
else if ( s erial - strings hield < = 75 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
if ( s hield < 75 ) {
if ( s erial - strings hield < 75 ) {
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
}
}
}
}
else if ( max_shield = = 100 ) {
else if ( serial - string max_shield = = 100 ) {
if ( s hield < = 25 ) {
if ( s erial - strings hield < = 25 ) {
if ( s hield < 25 ) {
if ( s erial - strings hield < 25 ) {
DrawQuadFilled ( s1 , s2 , s3m , s4m , shieldCracked ) ;
DrawQuadFilled ( s1 , s2 , s3m , s4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
}
}
else if ( s hield < = 50 ) {
else if ( s erial - strings hield < = 50 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
if ( s hield < 50 ) {
if ( s erial - strings hield < 50 ) {
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
}
}
else if ( s hield < = 75 ) {
else if ( s erial - strings hield < = 75 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
if ( s hield < 75 ) {
if ( s erial - strings hield < 75 ) {
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
}
}
else if ( s hield < = 100 ) {
else if ( s erial - strings hield < = 100 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
if ( s hield < 100 ) {
if ( s erial - strings hield < 100 ) {
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( ssss1 , ssss2 , ssss3 , ssss4 , shieldCol ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3 , ssss4 , shieldCol ) ;
}
}
}
}
else if ( max_shield = = 125 ) {
else if ( serial - string max_shield = = 125 ) {
if ( s hield < = 25 ) {
if ( s erial - strings hield < = 25 ) {
if ( s hield < 25 ) {
if ( s erial - strings hield < 25 ) {
DrawQuadFilled ( s1 , s2 , s3m , s4m , shieldCracked ) ;
DrawQuadFilled ( s1 , s2 , s3m , s4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
}
}
else if ( s hield < = 50 ) {
else if ( s erial - strings hield < = 50 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
if ( s hield < 50 ) {
if ( s erial - strings hield < 50 ) {
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( ss1 , ss2 , ss3m , ss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
}
}
else if ( s hield < = 75 ) {
else if ( s erial - strings hield < = 75 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
if ( s hield < 75 ) {
if ( s erial - strings hield < 75 ) {
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( sss1 , sss2 , sss3m , sss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
}
}
else if ( s hield < = 100 ) {
else if ( s erial - strings hield < = 100 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
if ( s hield < 100 ) {
if ( s erial - strings hield < 100 ) {
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3m , ssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( ssss1 , ssss2 , ssss3 , ssss4 , shieldCol ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3 , ssss4 , shieldCol ) ;
}
}
else if ( s hield < = 125 ) {
else if ( s erial - strings hield < = 125 ) {
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( s1 , s2 , s3 , s4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( ss1 , ss2 , ss3 , ss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
DrawQuadFilled ( sss1 , sss2 , sss3 , sss4 , shieldCol ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3 , ssss4 , shieldCol ) ;
DrawQuadFilled ( ssss1 , ssss2 , ssss3 , ssss4 , shieldCol ) ;
if ( s hield < 125 ) {
if ( s erial - strings hield < 125 ) {
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3m , sssss4m , shieldCracked ) ;
}
}
if ( s hield ! = 0 )
if ( s erial - strings hield ! = 0 )
DrawQuadFilled ( sssss1 , sssss2 , sssss3 , sssss4 , shieldCol ) ;
DrawQuadFilled ( sssss1 , sssss2 , sssss3 , sssss4 , shieldCol ) ;
}
}
}
}