@@ -74,6 +74,8 @@ inline const char* erScriptsExitKeyName = GetKeyName(cfg->erScriptsExitBind);
7474inline bool erScriptsExitButtonState = false ;
7575inline const char * chatSpammerKeyName = GetKeyName(cfg->chatSpammerBind);
7676inline bool chatSpammerButtonState = false ;
77+ inline const char * angleBindKeyName = GetKeyName(cfg->angleBindBind);
78+ inline bool angleBindButtonState = false ;
7779inline char killSayText[256 ]{};
7880inline char chatSpammerText[256 ]{};
7981inline char killSoundFileName[256 ]{};
@@ -155,6 +157,7 @@ void Overlay::Menu() noexcept {
155157 RoundStartAlertMenu ();
156158 AutoStopMenu ();
157159 ChatSpammerMenu ();
160+ AngleBindMenu ();
158161 GradientManagerMenu ();
159162 WatermarkMenu ();
160163 FPSLimitMenu ();
@@ -181,6 +184,7 @@ void Overlay::Menu() noexcept {
181184 erScriptsMenuKeyName = GetKeyName (cfg->erScriptsMenuBind );
182185 erScriptsExitKeyName = GetKeyName (cfg->erScriptsExitBind );
183186 chatSpammerKeyName = GetKeyName (cfg->chatSpammerBind );
187+ angleBindKeyName = GetKeyName (cfg->angleBindBind );
184188
185189 if (ImGui::FindWindowByName (" Bomb Timer" ))
186190 ImGui::SetWindowPos (" Bomb Timer" , { cfg->bombTimerPos [0 ], cfg->bombTimerPos [1 ] });
@@ -334,19 +338,19 @@ void Overlay::SniperCrosshairMenu() noexcept {
334338 ImGui::TableSetColumnIndex (0 );
335339 ImGui::Checkbox (" Sniper Crosshair" , &cfg->sniperCrosshairState );
336340 ImGui::TableSetColumnIndex (1 );
337- if (ImageButton (" ##SniperCrosshairReloader" , (ImTextureID)reloadTexture, { 22 , 22 })) {
338- globals::crosshairUpdaterState = true ;
339- }
341+ // if (ImageButton("##SniperCrosshairReloader", (ImTextureID)reloadTexture, { 22, 22 })) {
342+ // globals::configUpdaterState = true;
343+ // }
340344}
341345
342346void Overlay::RecoilCrosshairMenu () noexcept {
343347 ImGui::TableNextRow ();
344348 ImGui::TableSetColumnIndex (0 );
345349 ImGui::Checkbox (" Recoil Crosshair" , &cfg->recoilCrosshairState );
346350 ImGui::TableSetColumnIndex (1 );
347- if (ImageButton (" ##RecoilCrosshairReloader" , (ImTextureID)reloadTexture, { 22 , 22 })) {
348- globals::crosshairUpdaterState = true ;
349- }
351+ // if (ImageButton("##RecoilCrosshairReloader", (ImTextureID)reloadTexture, { 22, 22 })) {
352+ // globals::configUpdaterState = true;
353+ // }
350354}
351355
352356void Overlay::RGBCrosshairMenu () noexcept {
@@ -770,6 +774,46 @@ void Overlay::ChatSpammerMenu() noexcept {
770774 }
771775}
772776
777+ void Overlay::AngleBindMenu () noexcept {
778+ ImGui::TableNextRow ();
779+ ImGui::TableSetColumnIndex (0 );
780+
781+ ImGui::Checkbox (" Angle Bind" , &cfg->angleBindState );
782+ ImGui::TableSetColumnIndex (1 );
783+
784+ if (ImageButton (" ##AngleBind" , (ImTextureID)settingsTexture, { 22 , 22 })) {
785+ ImGui::OpenPopup (" Angle Bind Settings" );
786+ }
787+
788+ if (ImGui::BeginPopup (" Angle Bind Settings" , ImGuiWindowFlags_NoResize)) {
789+ if (ImGui::BeginTable (" Angle Bind Settings Table" , 2 , ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_NoPadInnerX)) {
790+ // Hotkey
791+ ImGui::TableNextRow ();
792+ ImGui::TableSetColumnIndex (0 );
793+ ImGui::Text (" Hotkey " );
794+ ImGui::TableSetColumnIndex (1 );
795+ angleBindKeyName = GetKeyName (cfg->angleBindBind );
796+ if (ImGui::Button (std::format (" {}##PixelTrigger" , angleBindKeyName).c_str (), ImVec2 (80 .0f , 22 .0f ))) {
797+ angleBindButtonState = !angleBindButtonState;
798+ }
799+ Hotkey (&angleBindButtonState, &angleBindKeyName, &cfg->angleBindBind );
800+
801+ // Degree
802+ ImGui::TableNextRow ();
803+ ImGui::TableSetColumnIndex (0 );
804+ ImGui::Text (" Degree " );
805+ ImGui::TableSetColumnIndex (1 );
806+ ImGui::PushItemWidth (100 .0f );
807+ ImGui::SliderFloat (" ##AngleBindDegree" , &cfg->angleBindDegree , -180 .f , 180 .f , " %.2f" );
808+ ImGui::PopItemWidth ();
809+
810+ ImGui::EndTable ();
811+ }
812+
813+ ImGui::EndPopup ();
814+ }
815+ }
816+
773817void Overlay::FPSLimitMenu () noexcept {
774818 ImGui::TableNextRow ();
775819 ImGui::TableSetColumnIndex (0 );
0 commit comments